microsoft / microsoft/onnxruntime

Prerequisites on building on Jetson devices

Open
#5,629 3 comments 1 reaction 1 assignee View on GitHub

@chilo-ms is already working on this.

Since Oct 29, 2020.

platform:jetson
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.