From daba3d9fac9f17f93b3f4e7fbff0780473b0ebde Mon Sep 17 00:00:00 2001 From: Amadeusz Szymko Date: Thu, 13 Feb 2025 16:49:53 +0900 Subject: [PATCH] feat(ansible): upgrade for CUDA, TensorRT and CUDNN (#5733) Signed-off-by: Amadeusz Szymko --- amd64.env | 6 +++--- ansible/roles/cuda/README.md | 6 +++--- ansible/roles/tensorrt/README.md | 16 ++++++---------- ansible/roles/tensorrt/tasks/main.yaml | 16 ++++++---------- arm64.env | 3 +-- 5 files changed, 19 insertions(+), 28 deletions(-) diff --git a/amd64.env b/amd64.env index f1a068d50b7..e09ab063d15 100644 --- a/amd64.env +++ b/amd64.env @@ -3,7 +3,7 @@ rmw_implementation=rmw_cyclonedds_cpp base_image=ros:humble-ros-base-jammy autoware_base_image=ghcr.io/autowarefoundation/autoware-base:latest autoware_base_cuda_image=ghcr.io/autowarefoundation/autoware-base:cuda-latest -cuda_version=12.3 -cudnn_version=8.9.5.29-1+cuda12.2 -tensorrt_version=8.6.1.6-1+cuda12.0 +cuda_version=12.4 +cudnn_version=8.9.7.29-1+cuda12.2 +tensorrt_version=10.8.0.43-1+cuda12.8 pre_commit_clang_format_version=17.0.5 diff --git a/ansible/roles/cuda/README.md b/ansible/roles/cuda/README.md index d669c573e91..fd25a015176 100644 --- a/ansible/roles/cuda/README.md +++ b/ansible/roles/cuda/README.md @@ -1,6 +1,6 @@ # cuda -This role installs [CUDA Toolkit](https://developer.nvidia.com/cuda-toolkit) following [this page](https://developer.nvidia.com/cuda-12-3-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=22.04&target_type=deb_network) and [this page](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions). +This role installs [CUDA Toolkit](https://developer.nvidia.com/cuda-toolkit) following [this page](https://developer.nvidia.com/cuda-12-4-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=22.04&target_type=deb_network) and [this page](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions). This role also registers Vulkan, OpenGL, and OpenCL GPU vendors for future use. @@ -15,7 +15,7 @@ This role also registers Vulkan, OpenGL, and OpenCL GPU vendors for future use. ### Version compatibility -Autoware currently uses CUDA `12.3` and from this [CUDA Application Compatibility Support Matrix](https://docs.nvidia.com/deploy/cuda-compatibility/#use-the-right-compat-package) that only the NVIDIA driver version `545` is compatible with this version of CUDA. +Autoware currently uses CUDA `12.4` which corresponds to the NVIDIA driver version `550` and is minimum required driver version. #### 🛠️ For Advanced Users @@ -42,7 +42,7 @@ sudo dpkg -i cuda-keyring_1.1-1_all.deb sudo apt-get update cuda_version_dashed=$(eval sed -e "s/[.]/-/g" <<< "${cuda_version}") sudo apt-get -y install cuda-toolkit-${cuda_version_dashed} -sudo apt-get install -y cuda-drivers-545 +sudo apt-get install -y cuda-drivers-550 ``` Perform the post installation actions: diff --git a/ansible/roles/tensorrt/README.md b/ansible/roles/tensorrt/README.md index 2a6c7d39232..c7506b23079 100644 --- a/ansible/roles/tensorrt/README.md +++ b/ansible/roles/tensorrt/README.md @@ -17,28 +17,24 @@ wget -O /tmp/amd64.env https://raw.githubusercontent.com/autowarefoundation/auto sudo apt-get install -y \ libcudnn8=${cudnn_version} \ -libnvinfer8=${tensorrt_version} \ -libnvinfer-plugin8=${tensorrt_version} \ -libnvparsers8=${tensorrt_version} \ -libnvonnxparsers8=${tensorrt_version} \ +libnvinfer10=${tensorrt_version} \ +libnvinfer-plugin10=${tensorrt_version} \ +libnvonnxparsers10=${tensorrt_version} \ libcudnn8-dev=${cudnn_version} \ libnvinfer-dev=${tensorrt_version} \ libnvinfer-plugin-dev=${tensorrt_version} \ libnvinfer-headers-dev=${tensorrt_version} \ libnvinfer-headers-plugin-dev=${tensorrt_version} \ -libnvparsers-dev=${tensorrt_version} \ libnvonnxparsers-dev=${tensorrt_version} sudo apt-mark hold \ libcudnn8 \ -libnvinfer8 \ -libnvinfer-plugin8 \ -libnvparsers8 \ -libnvonnxparsers8 \ +libnvinfer10 \ +libnvinfer-plugin10 \ +libnvonnxparsers10 \ libcudnn8-dev \ libnvinfer-dev \ libnvinfer-plugin-dev \ -libnvparsers-dev \ libnvonnxparsers-dev \ libnvinfer-headers-dev \ libnvinfer-headers-plugin-dev diff --git a/ansible/roles/tensorrt/tasks/main.yaml b/ansible/roles/tensorrt/tasks/main.yaml index 816ba7dad4b..16c46e5abd8 100644 --- a/ansible/roles/tensorrt/tasks/main.yaml +++ b/ansible/roles/tensorrt/tasks/main.yaml @@ -3,10 +3,9 @@ ansible.builtin.apt: name: - libcudnn8={{ cudnn_version }} - - libnvinfer8={{ tensorrt_version }} - - libnvinfer-plugin8={{ tensorrt_version }} - - libnvparsers8={{ tensorrt_version }} - - libnvonnxparsers8={{ tensorrt_version }} + - libnvinfer10={{ tensorrt_version }} + - libnvinfer-plugin10={{ tensorrt_version }} + - libnvonnxparsers10={{ tensorrt_version }} allow_change_held_packages: true allow_downgrade: true update_cache: true @@ -20,7 +19,6 @@ - libnvinfer-plugin-dev={{ tensorrt_version }} - libnvinfer-headers-dev={{ tensorrt_version }} - libnvinfer-headers-plugin-dev={{ tensorrt_version }} - - libnvparsers-dev={{ tensorrt_version }} - libnvonnxparsers-dev={{ tensorrt_version }} allow_change_held_packages: true allow_downgrade: true @@ -35,10 +33,9 @@ selection: hold with_items: - libcudnn8 - - libnvinfer8 - - libnvinfer-plugin8 - - libnvparsers8 - - libnvonnxparsers8 + - libnvinfer10 + - libnvinfer-plugin10 + - libnvonnxparsers10 - name: Prevent CUDA-related Dev packages from upgrading become: true @@ -51,6 +48,5 @@ - libnvinfer-plugin-dev - libnvinfer-headers-dev - libnvinfer-headers-plugin-dev - - libnvparsers-dev - libnvonnxparsers-dev when: install_devel == 'y' diff --git a/arm64.env b/arm64.env index efd9db194da..f9c2f5b5104 100644 --- a/arm64.env +++ b/arm64.env @@ -1,3 +1,2 @@ # Override amd64's settings -cudnn_version=8.9.6.50-1+cuda12.2 -tensorrt_version=8.6.2.2-1+cuda12.0 +tensorrt_version=10.3.0.26-1+cuda12.5