@@ -18,14 +18,15 @@ endmacro()
1818# If multiple CUDA major versions are available (e.g. 12.9 and 13.0), we
1919# check what version is used on the host CTK. Otherwise, if host CTK is
2020# not found, use the lower version.
21- function (mtrt_get_tensorrt_cuda_version trt_version out_var)
22- if (NOT CUDAToolkit_VERSION_MAJOR)
23- find_package (CUDAToolkit)
24- endif ()
25-
21+ function (mtrt_get_tensorrt_cuda_version trt_version target_arch out_var)
2622 set (ctk_version "" )
2723 if (CUDAToolkit_FOUND)
28- set (ctk_version "${CUDAToolkit_VERSION_MAJOR} .${CUDAToolkit_VERSION_MINOR} " )
24+ set (ctk_version "${CUDAToolkit_VERSION_MAJOR} .9999" )
25+ endif ()
26+
27+ set (is_aarch64 FALSE )
28+ if (target_arch MATCHES "aarch64" )
29+ set (is_aarch64 TRUE )
2930 endif ()
3031
3132 set (trt_available_cuda_versions "" )
@@ -39,25 +40,34 @@ function(mtrt_get_tensorrt_cuda_version trt_version out_var)
3940 trt_version VERSION_LESS 10.10)
4041 set (trt_available_cuda_versions "11.8;12.8" )
4142 elseif (trt_version VERSION_GREATER 10.10 AND
42- trt_version VERSION_LESS 10.13)
43+ trt_version VERSION_LESS 10.13.2 )
4344 set (trt_available_cuda_versions "11.8;12.9" )
44- elseif (trt_version VERSION_GREATER_EQUAL "10.13" )
45- set (trt_available_cuda_versions "12.9;13.0" )
45+ elseif (trt_version VERSION_GREATER_EQUAL "10.13.2" )
46+ if (is_aarch64)
47+ set (trt_available_cuda_versions "13.0" )
48+ else ()
49+ set (trt_available_cuda_versions "12.9;13.0" )
50+ endif ()
4651 else ()
4752 message (FATAL_ERROR "Could not determine available CUDA versions for TensorRT version ${trt_version} " )
4853 endif ()
4954
5055 set (selected_cuda_version "" )
5156 if (ctk_version)
52- foreach (available_version IN_LISTS trt_available_cuda_versions)
53- if (ctk_version VERSION_LESS_EQUAL available_version)
57+ foreach (available_version IN LISTS trt_available_cuda_versions)
58+
59+ if (available_version VERSION_LESS_EQUAL ctk_version)
5460 set (selected_cuda_version "${available_version} " )
5561 endif ()
5662 endforeach ()
5763 endif ()
5864
5965 if (NOT selected_cuda_version)
60- list (GET trt_available_cuda_versions 0 selected_cuda_version)
66+ # if(ctk_version)
67+ list (GET trt_available_cuda_versions -1 selected_cuda_version)
68+ # else()
69+ # list(GET trt_available_cuda_versions 0 selected_cuda_version)
70+ # endif()
6171 endif ()
6272
6373 message (STATUS "Selected CUDA version tag for TensorRT ${trt_version} is ${selected_cuda_version} " )
@@ -134,10 +144,22 @@ function(mtrt_get_tensorrt_download_url ARG_VERSION OS_NAME TARGET_ARCH ARG_OUT_
134144 set (ARG_VERSION "10.12.0.36" )
135145 endif ()
136146
137- if (ARG_VERSION VERSION_EQUAL "10.13.0.35 " )
147+ if (ARG_VERSION VERSION_EQUAL "10.13.0" )
138148 set (ARG_VERSION "10.13.0.35" )
139149 endif ()
140150
151+ if (ARG_VERSION VERSION_EQUAL "10.13.2" )
152+ set (ARG_VERSION "10.13.2.6" )
153+ endif ()
154+
155+ if (ARG_VERSION VERSION_EQUAL "10.13" OR ARG_VERSION VERSION_EQUAL "10.13.3" )
156+ set (ARG_VERSION "10.13.3.9" )
157+ endif ()
158+
159+ if (ARG_VERSION VERSION_EQUAL "10.14" )
160+ set (ARG_VERSION "10.14.1.48" )
161+ endif ()
162+
141163 set (downloadable_versions
142164 "8.6.1.6"
143165 "9.0.1.4" "9.1.0.4" "9.2.0.5"
@@ -156,6 +178,9 @@ function(mtrt_get_tensorrt_download_url ARG_VERSION OS_NAME TARGET_ARCH ARG_OUT_
156178 "10.9.0.34"
157179 "10.12.0.36"
158180 "10.13.0.35"
181+ "10.13.2.6"
182+ "10.13.3.9"
183+ "10.14.1.48"
159184 )
160185
161186 if (NOT ARG_VERSION IN_LIST downloadable_versions)
@@ -166,7 +191,7 @@ function(mtrt_get_tensorrt_download_url ARG_VERSION OS_NAME TARGET_ARCH ARG_OUT_
166191 string (REGEX MATCH "[0-9]+\\ .[0-9]+\\ .[0-9]+" trt_short_version ${ARG_VERSION} )
167192
168193 # Get the CUDA version tag.
169- mtrt_get_tensorrt_cuda_version("${ARG_VERSION} " TRT_CUDA_VERSION)
194+ mtrt_get_tensorrt_cuda_version("${ARG_VERSION} " " ${TARGET_ARCH} " TRT_CUDA_VERSION)
170195
171196 # For aarch64, the published packages are only for
172197 # "Ubuntu-20.04". I believe this corresponds to NVIDIA supported ARM server
0 commit comments