From 7e1a25726579fcabd18882496a3dfbd39acd634a Mon Sep 17 00:00:00 2001 From: Jonathan Bentz Date: Thu, 19 Dec 2024 16:35:19 -0600 Subject: [PATCH 1/7] adding USE_MATH_DEFINES to simpleCUFFT_2d_MGPU --- Samples/4_CUDA_Libraries/simpleCUFFT_2d_MGPU/CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Samples/4_CUDA_Libraries/simpleCUFFT_2d_MGPU/CMakeLists.txt b/Samples/4_CUDA_Libraries/simpleCUFFT_2d_MGPU/CMakeLists.txt index ac764679..3fb505a2 100644 --- a/Samples/4_CUDA_Libraries/simpleCUFFT_2d_MGPU/CMakeLists.txt +++ b/Samples/4_CUDA_Libraries/simpleCUFFT_2d_MGPU/CMakeLists.txt @@ -18,6 +18,10 @@ include_directories(../../../Common) # Add target for simpleCUFFT_2d_MGPU add_executable(simpleCUFFT_2d_MGPU simpleCUFFT_2d_MGPU.cu) +if(MSVC) + add_compile_definitions(_USE_MATH_DEFINES) +endif() + target_compile_options(simpleCUFFT_2d_MGPU PRIVATE $<$:--extended-lambda>) target_compile_features(simpleCUFFT_2d_MGPU PRIVATE cxx_std_17 cuda_std_17) From 66631e4f9624babb71357d6cde0e6e9997a1c9ac Mon Sep 17 00:00:00 2001 From: Jonathan Bentz Date: Thu, 19 Dec 2024 17:44:56 -0600 Subject: [PATCH 2/7] cuSolverSp_LowLeverQR copy files individually --- .../cuSolverSp_LowlevelQR/CMakeLists.txt | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Samples/4_CUDA_Libraries/cuSolverSp_LowlevelQR/CMakeLists.txt b/Samples/4_CUDA_Libraries/cuSolverSp_LowlevelQR/CMakeLists.txt index 43c2c159..268d784a 100644 --- a/Samples/4_CUDA_Libraries/cuSolverSp_LowlevelQR/CMakeLists.txt +++ b/Samples/4_CUDA_Libraries/cuSolverSp_LowlevelQR/CMakeLists.txt @@ -37,6 +37,16 @@ target_link_libraries(cuSolverSp_LowlevelQR PRIVATE # Copy data files to output directory add_custom_command(TARGET cuSolverSp_LowlevelQR POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${CMAKE_CURRENT_SOURCE_DIR}/*.mtx + ${CMAKE_CURRENT_SOURCE_DIR}/lap2D_5pt_n32.mtx + ${CMAKE_CURRENT_BINARY_DIR} +) +add_custom_command(TARGET cuSolverSp_LowlevelQR POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + ${CMAKE_CURRENT_SOURCE_DIR}/lap2D_5pt_n100.mtx + ${CMAKE_CURRENT_BINARY_DIR} +) +add_custom_command(TARGET cuSolverSp_LowlevelQR POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + ${CMAKE_CURRENT_SOURCE_DIR}/lap3D_7pt_n20.mtx ${CMAKE_CURRENT_BINARY_DIR} ) From 6fe4a6bab837f0f531fe9481f38963d8ae655454 Mon Sep 17 00:00:00 2001 From: Jonathan Bentz Date: Thu, 19 Dec 2024 18:12:20 -0600 Subject: [PATCH 3/7] fix copy for cuSolverDN_LinearSolver --- .../cuSolverDn_LinearSolver/CMakeLists.txt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Samples/4_CUDA_Libraries/cuSolverDn_LinearSolver/CMakeLists.txt b/Samples/4_CUDA_Libraries/cuSolverDn_LinearSolver/CMakeLists.txt index 9ebe07bc..91acf2b1 100644 --- a/Samples/4_CUDA_Libraries/cuSolverDn_LinearSolver/CMakeLists.txt +++ b/Samples/4_CUDA_Libraries/cuSolverDn_LinearSolver/CMakeLists.txt @@ -37,6 +37,12 @@ target_link_libraries(cuSolverDn_LinearSolver PRIVATE # Copy data files to output directory add_custom_command(TARGET cuSolverDn_LinearSolver POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${CMAKE_CURRENT_SOURCE_DIR}/*.mtx + ${CMAKE_CURRENT_SOURCE_DIR}/gr_900_900_crg.mtx ${CMAKE_CURRENT_BINARY_DIR} ) +add_custom_command(TARGET cuSolverDn_LinearSolver POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + ${CMAKE_CURRENT_SOURCE_DIR}/lap3D_7pt_n20.mtx + ${CMAKE_CURRENT_BINARY_DIR} +) + From c08a2f31ff8231b803b864e6d80f92435889082b Mon Sep 17 00:00:00 2001 From: Jonathan Bentz Date: Fri, 20 Dec 2024 07:31:51 -0600 Subject: [PATCH 4/7] fixing copy for windows build cuSolverSp_LinearSolver --- .../cuSolverSp_LinearSolver/CMakeLists.txt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Samples/4_CUDA_Libraries/cuSolverSp_LinearSolver/CMakeLists.txt b/Samples/4_CUDA_Libraries/cuSolverSp_LinearSolver/CMakeLists.txt index 358b5334..11556326 100644 --- a/Samples/4_CUDA_Libraries/cuSolverSp_LinearSolver/CMakeLists.txt +++ b/Samples/4_CUDA_Libraries/cuSolverSp_LinearSolver/CMakeLists.txt @@ -37,6 +37,13 @@ target_link_libraries(cuSolverSp_LinearSolver PRIVATE # Copy data files to output directory add_custom_command(TARGET cuSolverSp_LinearSolver POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${CMAKE_CURRENT_SOURCE_DIR}/*.mtx + ${CMAKE_CURRENT_SOURCE_DIR}/lap2D_5pt_n100.mtx + ${CMAKE_CURRENT_BINARY_DIR} +) + +# Copy data files to output directory +add_custom_command(TARGET cuSolverSp_LinearSolver POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + ${CMAKE_CURRENT_SOURCE_DIR}/lap3D_7pt_n20.mtx ${CMAKE_CURRENT_BINARY_DIR} ) From 5c9e573eceff15bdaee45a5e4f61b79d55ca1444 Mon Sep 17 00:00:00 2001 From: Jonathan Bentz Date: Fri, 20 Dec 2024 07:48:01 -0600 Subject: [PATCH 5/7] fixing copy files for cuSolverRf and cuSolverPs_LowlevelCholesky --- Samples/4_CUDA_Libraries/cuSolverRf/CMakeLists.txt | 9 ++++++++- .../cuSolverSp_LowlevelCholesky/CMakeLists.txt | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/Samples/4_CUDA_Libraries/cuSolverRf/CMakeLists.txt b/Samples/4_CUDA_Libraries/cuSolverRf/CMakeLists.txt index 3d686535..9fd599b4 100644 --- a/Samples/4_CUDA_Libraries/cuSolverRf/CMakeLists.txt +++ b/Samples/4_CUDA_Libraries/cuSolverRf/CMakeLists.txt @@ -37,6 +37,13 @@ target_link_libraries(cuSolverRf PRIVATE # Copy data files to output directory add_custom_command(TARGET cuSolverRf POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${CMAKE_CURRENT_SOURCE_DIR}/*.mtx + ${CMAKE_CURRENT_SOURCE_DIR}/lap2D_5pt_n100.mtx + ${CMAKE_CURRENT_BINARY_DIR} +) + +# Copy data files to output directory +add_custom_command(TARGET cuSolverRf POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + ${CMAKE_CURRENT_SOURCE_DIR}/lap3D_7pt_n20.mtx ${CMAKE_CURRENT_BINARY_DIR} ) diff --git a/Samples/4_CUDA_Libraries/cuSolverSp_LowlevelCholesky/CMakeLists.txt b/Samples/4_CUDA_Libraries/cuSolverSp_LowlevelCholesky/CMakeLists.txt index 59a65da4..bfc77fa5 100644 --- a/Samples/4_CUDA_Libraries/cuSolverSp_LowlevelCholesky/CMakeLists.txt +++ b/Samples/4_CUDA_Libraries/cuSolverSp_LowlevelCholesky/CMakeLists.txt @@ -37,6 +37,13 @@ target_link_libraries(cuSolverSp_LowlevelCholesky PRIVATE # Copy data files to output directory add_custom_command(TARGET cuSolverSp_LowlevelCholesky POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${CMAKE_CURRENT_SOURCE_DIR}/*.mtx + ${CMAKE_CURRENT_SOURCE_DIR}/lap2D_5pt_n100.mtx + ${CMAKE_CURRENT_BINARY_DIR} +) + +# Copy data files to output directory +add_custom_command(TARGET cuSolverSp_LowlevelCholesky POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + ${CMAKE_CURRENT_SOURCE_DIR}/lap3D_7pt_n20.mtx ${CMAKE_CURRENT_BINARY_DIR} ) From 88e5f4a3954b3fb76239f8b5a317b010256dacb2 Mon Sep 17 00:00:00 2001 From: Jonathan Bentz Date: Fri, 20 Dec 2024 09:28:17 -0600 Subject: [PATCH 6/7] Fixing more copy files in nvrtc builds. --- .../BlackScholes_nvrtc/CMakeLists.txt | 1 + .../binomialOptions_nvrtc/CMakeLists.txt | 19 +++++++++++++++++++ .../quasirandomGenerator_nvrtc/CMakeLists.txt | 1 + 3 files changed, 21 insertions(+) diff --git a/Samples/5_Domain_Specific/BlackScholes_nvrtc/CMakeLists.txt b/Samples/5_Domain_Specific/BlackScholes_nvrtc/CMakeLists.txt index 1d40f9f0..2438fdc8 100644 --- a/Samples/5_Domain_Specific/BlackScholes_nvrtc/CMakeLists.txt +++ b/Samples/5_Domain_Specific/BlackScholes_nvrtc/CMakeLists.txt @@ -26,6 +26,7 @@ set_target_properties(BlackScholes_nvrtc PROPERTIES CUDA_SEPARABLE_COMPILATION O target_link_libraries(BlackScholes_nvrtc PRIVATE CUDA::nvrtc + CUDA::cuda_driver ) # Copy kernel to the output directory diff --git a/Samples/5_Domain_Specific/binomialOptions_nvrtc/CMakeLists.txt b/Samples/5_Domain_Specific/binomialOptions_nvrtc/CMakeLists.txt index 52061df8..b70765f5 100644 --- a/Samples/5_Domain_Specific/binomialOptions_nvrtc/CMakeLists.txt +++ b/Samples/5_Domain_Specific/binomialOptions_nvrtc/CMakeLists.txt @@ -26,6 +26,7 @@ set_target_properties(binomialOptions_nvrtc PROPERTIES CUDA_SEPARABLE_COMPILATIO target_link_libraries(binomialOptions_nvrtc PRIVATE CUDA::nvrtc + CUDA::cuda_driver ) # Copy kernel to the output directory @@ -33,3 +34,21 @@ add_custom_command(TARGET binomialOptions_nvrtc POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/binomialOptions_kernel.cu ${CMAKE_CURRENT_BINARY_DIR} ) + +# Copy header to the output directory +add_custom_command(TARGET binomialOptions_nvrtc POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + ${CMAKE_CURRENT_SOURCE_DIR}/common_gpu_header.h ${CMAKE_CURRENT_BINARY_DIR} +) + +# Copy header to the output directory +add_custom_command(TARGET binomialOptions_nvrtc POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + ${CMAKE_CURRENT_SOURCE_DIR}/binomialOptions_common.h ${CMAKE_CURRENT_BINARY_DIR} +) + +# Copy header to the output directory +add_custom_command(TARGET binomialOptions_nvrtc POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + ${CMAKE_CURRENT_SOURCE_DIR}/realtype.h ${CMAKE_CURRENT_BINARY_DIR} +) diff --git a/Samples/5_Domain_Specific/quasirandomGenerator_nvrtc/CMakeLists.txt b/Samples/5_Domain_Specific/quasirandomGenerator_nvrtc/CMakeLists.txt index f694b5f1..327715d4 100644 --- a/Samples/5_Domain_Specific/quasirandomGenerator_nvrtc/CMakeLists.txt +++ b/Samples/5_Domain_Specific/quasirandomGenerator_nvrtc/CMakeLists.txt @@ -26,6 +26,7 @@ set_target_properties(quasirandomGenerator_nvrtc PROPERTIES CUDA_SEPARABLE_COMPI target_link_libraries(quasirandomGenerator_nvrtc PRIVATE CUDA::nvrtc + CUDA::cuda_driver ) # Copy kernel to the output directory From 3e7bb5f2e8c6ee3b191984454e7d638fdfb42a80 Mon Sep 17 00:00:00 2001 From: Jonathan Bentz Date: Fri, 20 Dec 2024 12:52:06 -0600 Subject: [PATCH 7/7] updated to fix for Linux --- Samples/4_CUDA_Libraries/jitLto/CMakeLists.txt | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Samples/4_CUDA_Libraries/jitLto/CMakeLists.txt b/Samples/4_CUDA_Libraries/jitLto/CMakeLists.txt index 978d96de..3f3bec5f 100644 --- a/Samples/4_CUDA_Libraries/jitLto/CMakeLists.txt +++ b/Samples/4_CUDA_Libraries/jitLto/CMakeLists.txt @@ -28,7 +28,15 @@ target_include_directories(jitLto PRIVATE ${CUDAToolkit_INCLUDE_DIRS} ) -target_link_libraries(jitLto PRIVATE - CUDA::cuda_driver - CUDA::nvrtc -) + + + target_link_libraries(jitLto PRIVATE + CUDA::cuda_driver + CUDA::nvrtc + ) + +if(CMAKE_SYSTEM_NAME STREQUAL "Linux") + target_link_libraries(jitLto PRIVATE + ${CUDAToolkit_LIBRARY_DIR}/libnvJitLink.so + ) +endif()