@@ -60,13 +60,24 @@ set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS};${cuda_architecture_flags})
60
60
61
61
find_cuda_helper_libs (nvrtc )
62
62
find_cuda_helper_libs (nvrtc-builtins )
63
+ list (APPEND nvrtc_libs ${CUDA_nvrtc_LIBRARY} )
64
+
63
65
if (UNIX AND AF_WITH_STATIC_CUDA_NUMERIC_LIBS )
64
66
af_find_static_cuda_libs (culibos )
65
67
af_find_static_cuda_libs (cublas_static PRUNE )
66
68
af_find_static_cuda_libs (cublasLt_static PRUNE )
67
69
af_find_static_cuda_libs (cufft_static )
68
70
af_find_static_cuda_libs (cusparse_static PRUNE )
69
71
72
+ if (CUDA_VERSION VERSION_GREATER 11.4 )
73
+ af_find_static_cuda_libs (nvrtc_static )
74
+ af_find_static_cuda_libs (nvrtc-builtins_static )
75
+ af_find_static_cuda_libs (nvptxcompiler_static )
76
+ set (nvrtc_libs ${AF_CUDA_nvrtc_static_LIBRARY}
77
+ ${AF_CUDA_nvrtc-builtins_static_LIBRARY}
78
+ ${AF_CUDA_nvptxcompiler_static_LIBRARY} )
79
+ endif ()
80
+
70
81
# FIXME When NVCC resolves this particular issue.
71
82
# NVCC doesn't like -l<full_path_static_lib>, hence we cannot
72
83
# use ${CMAKE_*_LIBRARY} variables in the following flags.
@@ -328,9 +339,10 @@ if(UNIX AND AF_WITH_STATIC_CUDA_NUMERIC_LIBS)
328
339
${START_GROUP}
329
340
${CUDA_culibos_LIBRARY} #also a static libary
330
341
${AF_CUDA_cublas_static_LIBRARY}
342
+ ${AF_CUDA_cublasLt_static_LIBRARY}
331
343
${AF_CUDA_cufft_static_LIBRARY}
332
344
${AF_CUDA_cusparse_static_LIBRARY}
333
- ${AF_CUDA_cublasLt_static_LIBRARY }
345
+ ${nvrtc_libs }
334
346
${cusolver_static_lib}
335
347
${END_GROUP}
336
348
)
@@ -340,6 +352,7 @@ if(UNIX AND AF_WITH_STATIC_CUDA_NUMERIC_LIBS)
340
352
PRIVATE
341
353
${AF_CUDA_cublasLt_static_LIBRARY} )
342
354
endif()
355
+
343
356
if(CUDA_VERSION VERSION_GREATER 9.5)
344
357
target_link_libraries(af_cuda_static_cuda_library
345
358
PRIVATE
@@ -355,6 +368,7 @@ else()
355
368
${CUDA_CUFFT_LIBRARIES}
356
369
${CUDA_cusolver_LIBRARY}
357
370
${CUDA_cusparse_LIBRARY}
371
+ ${nvrtc_libs}
358
372
)
359
373
endif()
360
374
@@ -712,7 +726,6 @@ target_link_libraries(afcuda
712
726
cpp_api_interface
713
727
afcommon_interface
714
728
${CMAKE_DL_LIBS}
715
- ${CUDA_nvrtc_LIBRARY}
716
729
af_cuda_static_cuda_library
717
730
)
718
731
@@ -860,26 +873,28 @@ if(AF_INSTALL_STANDALONE)
860
873
afcu_collect_libs(cusolver)
861
874
endif()
862
875
863
- afcu_collect_libs(nvrtc FULL_VERSION)
864
- if(CUDA_VERSION VERSION_GREATER 10.0)
865
- afcu_collect_libs(nvrtc-builtins FULL_VERSION)
866
- else()
867
- if(APPLE)
868
- afcu_collect_libs(cudart)
869
-
870
- get_filename_component(nvrtc_outpath " ${dlib_path_prefix} /${PX}nvrtc-builtins.${CUDA_VERSION_MAJOR}.${CUDA_VERSION_MINOR}${SX} " REALPATH)
871
- install(FILES ${nvrtc_outpath}
872
- DESTINATION ${AF_INSTALL_BIN_DIR}
873
- RENAME " ${PX} nvrtc-builtins${SX} "
874
- COMPONENT cuda_dependencies)
875
- elseif(UNIX)
876
- get_filename_component(nvrtc_outpath " ${dlib_path_prefix} /${PX}nvrtc-builtins${SX} " REALPATH)
877
- install(FILES ${nvrtc_outpath}
878
- DESTINATION ${AF_INSTALL_LIB_DIR}
879
- RENAME " ${PX} nvrtc-builtins${SX} "
880
- COMPONENT cuda_dependencies)
876
+ if(WIN32 OR CUDA_VERSION VERSION_LESS 11.5 OR NOT AF_WITH_STATIC_CUDA_NUMERIC_LIBS)
877
+ afcu_collect_libs(nvrtc FULL_VERSION)
878
+ if(CUDA_VERSION VERSION_GREATER 10.0)
879
+ afcu_collect_libs(nvrtc-builtins FULL_VERSION)
881
880
else()
882
- afcu_collect_libs(nvrtc-builtins)
881
+ if(APPLE)
882
+ afcu_collect_libs(cudart)
883
+
884
+ get_filename_component(nvrtc_outpath " ${dlib_path_prefix} /${PX}nvrtc-builtins.${CUDA_VERSION_MAJOR}.${CUDA_VERSION_MINOR}${SX} " REALPATH)
885
+ install(FILES ${nvrtc_outpath}
886
+ DESTINATION ${AF_INSTALL_BIN_DIR}
887
+ RENAME " ${PX} nvrtc-builtins${SX} "
888
+ COMPONENT cuda_dependencies)
889
+ elseif(UNIX)
890
+ get_filename_component(nvrtc_outpath " ${dlib_path_prefix} /${PX}nvrtc-builtins${SX} " REALPATH)
891
+ install(FILES ${nvrtc_outpath}
892
+ DESTINATION ${AF_INSTALL_LIB_DIR}
893
+ RENAME " ${PX} nvrtc-builtins${SX} "
894
+ COMPONENT cuda_dependencies)
895
+ else()
896
+ afcu_collect_libs(nvrtc-builtins)
897
+ endif()
883
898
endif()
884
899
endif()
885
900
endif()
0 commit comments