Support using onnxruntime 1.16.0 with CUDA 11.4 on Jetson Orin NX (Linux arm64 GPU). (#1630)
* Support using onnxruntime 1.16.0 with CUDA 11.4 on Jetson Orin NX. The pre-built onnxruntime libs are provided by the community using the following command: ```bash ./build.sh --build_shared_lib --config Release --update \ --build --parallel --use_cuda \ --cuda_home /usr/local/cuda \ --cudnn_home /usr/lib/aarch64-linux-gnu 2>&1 | tee my-log.txt ``` See also https://github.com/microsoft/onnxruntime/discussions/11226 --- Info about the board: ``` Model: NVIDIA Orin NX T801-16GB - Jetpack 5.1.4 [L4T 35.6.0] ``` ``` nvidia@nvidia-desktop:~/Downloads$ head -n 1 /etc/nv_tegra_release # R35 (release), REVISION: 6.0, GCID: 37391689, BOARD: t186ref, EABI: aarch64, DATE: Wed Aug 28 09:12:27 UTC 2024 nvidia@nvidia-desktop:~/Downloads$ uname -r 5.10.216-tegra nvidia@nvidia-desktop:~/Downloads$ lsb_release -i -r Distributor ID: Ubuntu Release: 20.04 nvidia@nvidia-desktop:~/Downloads$ nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2022 NVIDIA Corporation Built on Wed_Sep_21_10:43:33_PDT_2022 Cuda compilation tools, release 11.8, V11.8.89 Build cuda_11.8.r11.8/compiler.31833905_0 nvidia@nvidia-desktop:~/Downloads$ dpkg -l libcudnn8 Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-==============-====================-============-================================= ii libcudnn8 8.6.0.166-1+cuda11.4 arm64 cuDNN runtime libraries nvidia@nvidia-desktop:~/Downloads$ dpkg -l tensorrt Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-==============-==================-============-================================= ii tensorrt 8.5.2.2-1+cuda11.4 arm64 Meta package for TensorRT ```
This commit is contained in:
@@ -1,4 +1,25 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Usage of this file
|
||||
#
|
||||
# (1) Build CPU version of sherpa-onnx
|
||||
# ./build-aarch64-linux-gnu.sh
|
||||
#
|
||||
# (2) Build GPU version of sherpa-onnx
|
||||
#
|
||||
# (a) Make sure your board has NVIDIA GPU(s)
|
||||
#
|
||||
# (b) For Jetson Nano B01 (using CUDA 10.2)
|
||||
#
|
||||
# export SHERPA_ONNX_ENABLE_GPU=ON
|
||||
# export SHERPA_ONNX_LINUX_ARM64_GPU_ONNXRUNTIME_VERSION=1.11.0
|
||||
# ./build-aarch64-linux-gnu.sh
|
||||
#
|
||||
# (c) For Jetson Orin NX (using CUDA 11.4)
|
||||
#
|
||||
# export SHERPA_ONNX_ENABLE_GPU=ON
|
||||
# export SHERPA_ONNX_LINUX_ARM64_GPU_ONNXRUNTIME_VERSION=1.16.0
|
||||
# ./build-aarch64-linux-gnu.sh
|
||||
|
||||
if command -v aarch64-none-linux-gnu-gcc &> /dev/null; then
|
||||
ln -svf $(which aarch64-none-linux-gnu-gcc) ./aarch64-linux-gnu-gcc
|
||||
@@ -47,11 +68,6 @@ fi
|
||||
if [[ x"$SHERPA_ONNX_ENABLE_GPU" == x"" ]]; then
|
||||
# By default, use CPU
|
||||
SHERPA_ONNX_ENABLE_GPU=OFF
|
||||
|
||||
# If you use GPU, then please make sure you have NVIDIA GPUs on your board.
|
||||
# It uses onnxruntime 1.11.0.
|
||||
#
|
||||
# Tested on Jetson Nano B01
|
||||
fi
|
||||
|
||||
if [[ x"$SHERPA_ONNX_ENABLE_GPU" == x"ON" ]]; then
|
||||
@@ -59,6 +75,11 @@ if [[ x"$SHERPA_ONNX_ENABLE_GPU" == x"ON" ]]; then
|
||||
BUILD_SHARED_LIBS=ON
|
||||
fi
|
||||
|
||||
if [[ x"$SHERPA_ONNX_LINUX_ARM64_GPU_ONNXRUNTIME_VERSION" == x"" ]]; then
|
||||
# Used only when SHERPA_ONNX_ENABLE_GPU is ON
|
||||
SHERPA_ONNX_LINUX_ARM64_GPU_ONNXRUNTIME_VERSION="1.11.0"
|
||||
fi
|
||||
|
||||
cmake \
|
||||
-DBUILD_PIPER_PHONMIZE_EXE=OFF \
|
||||
-DBUILD_PIPER_PHONMIZE_TESTS=OFF \
|
||||
@@ -75,6 +96,7 @@ cmake \
|
||||
-DSHERPA_ONNX_ENABLE_JNI=OFF \
|
||||
-DSHERPA_ONNX_ENABLE_C_API=ON \
|
||||
-DSHERPA_ONNX_ENABLE_WEBSOCKET=ON \
|
||||
-DSHERPA_ONNX_LINUX_ARM64_GPU_ONNXRUNTIME_VERSION=$SHERPA_ONNX_LINUX_ARM64_GPU_ONNXRUNTIME_VERSION \
|
||||
-DCMAKE_TOOLCHAIN_FILE=../toolchains/aarch64-linux-gnu.toolchain.cmake \
|
||||
..
|
||||
|
||||
|
||||
Reference in New Issue
Block a user