From 09b0f5414f2e84c8a96f82c13cd63b078607f40c Mon Sep 17 00:00:00 2001 From: Devin Prescott Date: Thu, 17 Jul 2025 23:33:31 -0600 Subject: [PATCH] Update CMakeLists.txt to link new header files for NVTX v3 for CUDA 12.9+ --- CMakeLists.txt | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d486d43981..13de3f08c3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -524,10 +524,21 @@ function(MFC_SETUP_TARGET) target_compile_options(${a_target} PRIVATE "SHELL:-h noacc" "SHELL:-x acc") endif() - if (CMAKE_Fortran_COMPILER_ID STREQUAL "NVHPC" OR CMAKE_Fortran_COMPILER_ID STREQUAL "PGI") - find_package(CUDAToolkit REQUIRED) - target_link_libraries(${a_target} PRIVATE CUDA::nvToolsExt) + if (CMAKE_Fortran_COMPILER_ID STREQUAL "NVHPC" OR + CMAKE_Fortran_COMPILER_ID STREQUAL "PGI") + + # Ask specifically for the header-only NVTX v3 interface + find_package(CUDAToolkit REQUIRED COMPONENTS nvtx3) + + if (TARGET CUDA::nvToolsExt) # CUDA <= 12.8 + target_link_libraries(${a_target} PRIVATE CUDA::nvToolsExt) + else() # CUDA >= 12.9 + target_link_libraries(${a_target} PRIVATE CUDA::nvtx3) + endif() + target_link_options(${a_target} PRIVATE "-cudalib=nvtx") + endif() + endforeach() install(TARGETS ${ARGS_TARGET} RUNTIME DESTINATION bin)