1
0
Эх сурвалжийг харах

FindCUDAToolkit: Support the new `nvJitLink` library in CUDA 12

Robert Maynard 3 жил өмнө
parent
commit
d37d9c098c

+ 17 - 0
Modules/FindCUDAToolkit.cmake

@@ -380,6 +380,18 @@ Targets Created:
 
 - ``CUDA::nvrtc``
 
+.. _`cuda_toolkit_nvjitlink`:
+
+nvJitLink
+"""""""""
+
+The `nvJItLink <https://docs.nvidia.com/cuda/>`_ (Runtime LTO Linking) library.
+
+Targets Created:
+
+- ``CUDA::nvJitLink`` starting in CUDA 12.0
+- ``CUDA::nvJitLink_static``  starting in CUDA 12.0
+
 .. _`cuda_toolkit_nvml`:
 
 nvidia-ML
@@ -1094,6 +1106,11 @@ if(CUDAToolkit_FOUND)
     endif()
   endif()
 
+  if(CUDAToolkit_VERSION VERSION_GREATER_EQUAL 12.0.0)
+    _CUDAToolkit_find_and_add_import_lib(nvJitLink DEPS cuda_driver)
+    _CUDAToolkit_find_and_add_import_lib(nvJitLink_static DEPS cuda_driver)
+  endif()
+
   _CUDAToolkit_find_and_add_import_lib(nvml ALT nvidia-ml nvml)
 
   if(WIN32)

+ 3 - 0
Tests/Cuda/Toolkit/CMakeLists.txt

@@ -22,6 +22,9 @@ set(cuda_libs cudart cuda_driver cublas cufft cufftw curand cusolver cusparse)
 if(CUDAToolkit_VERSION VERSION_GREATER_EQUAL 10.1)
   list(APPEND cuda_libs cublasLt)
 endif()
+if(CUDAToolkit_VERSION_MAJOR VERSION_GREATER 11)
+  list(APPEND cuda_libs nvJitLink)
+endif()
 if(CUDAToolkit_VERSION_MAJOR VERSION_LESS 11)
   list(APPEND cuda_libs nvgraph)
 endif()

+ 4 - 0
Tests/CudaOnly/Toolkit/CMakeLists.txt

@@ -20,10 +20,14 @@ set(cuda_libs cudart cuda_driver cublas cufft cufftw curand cusolver cusparse)
 if(CUDAToolkit_VERSION VERSION_GREATER_EQUAL 10.1)
   list(APPEND cuda_libs cublasLt)
 endif()
+if(CUDAToolkit_VERSION_MAJOR VERSION_GREATER 11)
+  list(APPEND cuda_libs nvJitLink)
+endif()
 if(CUDAToolkit_VERSION_MAJOR VERSION_LESS 11)
   list(APPEND cuda_libs nvgraph)
 endif()
 
+
 # Verify that all the CUDA:: targets and variables exist
 foreach (cuda_lib IN LISTS cuda_libs)
   if(NOT CUDA_${cuda_lib}_LIBRARY)