microsoft / microsoft/onnxruntime
Prerequisites on building on Jetson devices
@chilo-ms is already working on this.
Since Oct 29, 2020.
- Dominant language
- C++
- Stars
- 21.9k
- Forks
- 4.2k
- Avg merge
- 4d 11h
- Merged PRs (30d)
- 184
Description
**Describe the bug**
Jetson devices come with Ubuntu 18.04LTS installed. The default system comes with cmake 3.10 which is too old to meet ORT's build requirement.
However the latest stable version of cmake (as of 10/25/2020) is 3.18.4 installed through snapd
https://snapcraft.io/install/cmake/mint#:~:text=To%20install%20snap%20from%20the%20Software%20Manager%20application%2C,line%3A%20sudo%20apt%20update%20sudo%20apt%20install%20snapd
is not compatible with ORT's build script either.
Reinstalling cmake 3.17.2 from source solves the problem. Below are the steps from a terminal:
`
minor_ver=17
build=2
sudo apt remove cmake
sudo apt-get install libssl-dev
wget https://cmake.org/files/v3.$minor_ver/cmake-3.$minor_ver.$build.tar.gz
tar xf cmake-3.$minor_ver.$build.tar.gz
cd cmake-3.$minor_ver.$build
./configure
sudo make install
`
The default Ubuntu on Jetson also misses important Python modules in order to complete ORT install. The documented ORT build command
`
./build.sh --update --config Release --build --build_wheel \
--use_cuda --cuda_home /usr/local/cuda --cudnn_home /usr/lib/aarch64-linux-gnu
`
Requires Python modules `setuptools` and `wheels`. Apply below command to complete the prerequisites of building ORT on Jetson devices.
`
pip3 install setuptools wheels
`
Please certify this process and update the github documentation page.
**System information**
- OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 18.04LTS
- ONNX Runtime installed from (source or binary): source
- ONNX Runtime version: 1.5.2
- Python version: 3.6.9
- Visual Studio version (if applicable):
- GCC/Compiler version (if compiling from source): 7.5.0
- CUDA/cuDNN version: CUDA 10.2 and cuDNN 8.0.2
- GPU model and memory: AGX Xavier, 8GB
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.