From 8a7f5b9f8b2809c979e5286b8cc20b8b0a713005 Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Wed, 5 Feb 2025 09:21:01 +0900 Subject: [PATCH] Revert "feat(ansible): upgrade for CUDA, TensorRT and CUDNN (#5608)" This reverts commit 2421b2bf2a10c22b103cfe1e0157f198d44d9e1f. --- amd64.env | 6 ++-- ansible/roles/cuda/README.md | 6 ++-- ansible/roles/tensorrt/README.md | 49 ++++++-------------------- ansible/roles/tensorrt/tasks/main.yaml | 23 ++++++------ arm64.env | 4 +-- 5 files changed, 31 insertions(+), 57 deletions(-) diff --git a/amd64.env b/amd64.env index e09ab063d15..f1a068d50b7 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.4 -cudnn_version=8.9.7.29-1+cuda12.2 -tensorrt_version=10.8.0.43-1+cuda12.8 +cuda_version=12.3 +cudnn_version=8.9.5.29-1+cuda12.2 +tensorrt_version=8.6.1.6-1+cuda12.0 pre_commit_clang_format_version=17.0.5 diff --git a/ansible/roles/cuda/README.md b/ansible/roles/cuda/README.md index fd25a015176..d669c573e91 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-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 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 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.4` which corresponds to the NVIDIA driver version `550` and is minimum required driver version. +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. #### 🛠️ 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-550 +sudo apt-get install -y cuda-drivers-545 ``` Perform the post installation actions: diff --git a/ansible/roles/tensorrt/README.md b/ansible/roles/tensorrt/README.md index 26d1233fe07..2a6c7d39232 100644 --- a/ansible/roles/tensorrt/README.md +++ b/ansible/roles/tensorrt/README.md @@ -11,63 +11,34 @@ This role installs TensorRT and cuDNN following [the official NVIDIA TensorRT In ## Manual Installation -### AMD64 - ```bash # For the environment variables wget -O /tmp/amd64.env https://raw.githubusercontent.com/autowarefoundation/autoware/main/amd64.env && source /tmp/amd64.env sudo apt-get install -y \ libcudnn8=${cudnn_version} \ -libnvinfer10=${tensorrt_version} \ -libnvinfer-plugin10=${tensorrt_version} \ -libnvonnxparsers10=${tensorrt_version} \ +libnvinfer8=${tensorrt_version} \ +libnvinfer-plugin8=${tensorrt_version} \ +libnvparsers8=${tensorrt_version} \ +libnvonnxparsers8=${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 \ -libnvinfer10 \ -libnvinfer-plugin10 \ -libnvonnxparsers10 \ +libnvinfer8 \ +libnvinfer-plugin8 \ +libnvparsers8 \ +libnvonnxparsers8 \ libcudnn8-dev \ libnvinfer-dev \ libnvinfer-plugin-dev \ -libnvonnxparsers-dev \ -libnvinfer-headers-dev \ -libnvinfer-headers-plugin-dev -``` - -### ARM64 - -```bash -# For the environment variables -wget -O /tmp/arm64.env https://raw.githubusercontent.com/autowarefoundation/autoware/main/arm64.env && source /tmp/arm64.env - -sudo apt-get install -y \ -libcudnn9-cuda-12=${cudnn_version} \ -libnvinfer10=${tensorrt_version} \ -libnvinfer-plugin10=${tensorrt_version} \ -libnvonnxparsers10=${tensorrt_version} \ -libcudnn9-dev-cuda-12=${cudnn_version} \ -libnvinfer-dev=${tensorrt_version} \ -libnvinfer-plugin-dev=${tensorrt_version} \ -libnvinfer-headers-dev=${tensorrt_version} \ -libnvinfer-headers-plugin-dev=${tensorrt_version} \ -libnvonnxparsers-dev=${tensorrt_version} - -sudo apt-mark hold \ -libcudnn9-cuda-12 \ -libnvinfer10 \ -libnvinfer-plugin10 \ -libnvonnxparsers10 \ -libcudnn9-dev-cuda-12 \ -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 c49aff90dc0..816ba7dad4b 100644 --- a/ansible/roles/tensorrt/tasks/main.yaml +++ b/ansible/roles/tensorrt/tasks/main.yaml @@ -2,10 +2,11 @@ become: true ansible.builtin.apt: name: - - "{{ 'libcudnn9-cuda-12=' + cudnn_version if ansible_architecture == 'aarch64' else 'libcudnn8=' + cudnn_version }}" - - libnvinfer10={{ tensorrt_version }} - - libnvinfer-plugin10={{ tensorrt_version }} - - libnvonnxparsers10={{ tensorrt_version }} + - libcudnn8={{ cudnn_version }} + - libnvinfer8={{ tensorrt_version }} + - libnvinfer-plugin8={{ tensorrt_version }} + - libnvparsers8={{ tensorrt_version }} + - libnvonnxparsers8={{ tensorrt_version }} allow_change_held_packages: true allow_downgrade: true update_cache: true @@ -14,11 +15,12 @@ become: true ansible.builtin.apt: name: - - "{{ 'libcudnn9-dev-cuda-12=' + cudnn_version if ansible_architecture == 'aarch64' else 'libcudnn8-dev=' + cudnn_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 }} allow_change_held_packages: true allow_downgrade: true @@ -32,11 +34,11 @@ name: "{{ item }}" selection: hold with_items: - - "{{ 'libcudnn9-cuda-12' if ansible_architecture == 'aarch64' else 'libcudnn8' }}" - libcudnn8 - - libnvinfer10 - - libnvinfer-plugin10 - - libnvonnxparsers10 + - libnvinfer8 + - libnvinfer-plugin8 + - libnvparsers8 + - libnvonnxparsers8 - name: Prevent CUDA-related Dev packages from upgrading become: true @@ -44,10 +46,11 @@ name: "{{ item }}" selection: hold with_items: - - "{{ 'libcudnn9-dev-cuda-12' if ansible_architecture == 'aarch64' else 'libcudnn8-dev' }}" + - libcudnn8-dev - libnvinfer-dev - 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 32dd2dc0469..efd9db194da 100644 --- a/arm64.env +++ b/arm64.env @@ -1,3 +1,3 @@ # Override amd64's settings -cudnn_version=9.3.0.75-1 -tensorrt_version=10.3.0.30-1+cuda12.5 +cudnn_version=8.9.6.50-1+cuda12.2 +tensorrt_version=8.6.2.2-1+cuda12.0