diff --git a/cmake_config/NVSHMEMEnv.cmake b/cmake_config/NVSHMEMEnv.cmake index b613244..cd6f62d 100644 --- a/cmake_config/NVSHMEMEnv.cmake +++ b/cmake_config/NVSHMEMEnv.cmake @@ -125,14 +125,7 @@ message( "______________________________________________________________________ ### HIDDEN ### -if (DEFINED ENV{NVSHMEM_DEVICELIB_CUDA_HOME}) - set(NVSHMEM_DEVICELIB_CUDA_HOME_DEFAULT $ENV{NVSHMEM_DEVICELIB_CUDA_HOME}) -elseif(DEFINED ENV{CUDA_HOME}) - set(NVSHMEM_DEVICELIB_CUDA_HOME_DEFAULT $ENV{CUDA_HOME}) -else() - set(NVSHMEM_DEVICELIB_CUDA_HOME_DEFAULT "/usr/local/cuda") -endif() -set(NVSHMEM_DEVICELIB_CUDA_HOME ${NVSHMEM_DEVICELIB_CUDA_HOME_DEFAULT} CACHE PATH "path to CUDA installation") +nvshmem_add_default_environment_path(NVSHMEM_DEVICELIB_CUDA_HOME "" "path to CUDA installation") option(NVSHMEM_INSTALL_FUNCTIONAL_TESTS "Install functional tests" $ENV{NVSHMEM_INSTALL_FUNCTIONAL_TESTS}) option(NVSHMEM_TEST_STATIC_LIB "Force tests to link only against the combined nvshmem.a binary" $ENV{NVSHMEM_TEST_STATIC_LIB}) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index d384eb8..13f1fae 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -29,6 +29,7 @@ ExternalProject_Add(nvshmem_device_project -DNVSHMEM_ENABLE_ALL_DEVICE_INLINING=${NVSHMEM_ENABLE_ALL_DEVICE_INLINING} -DNVSHMEM_BUILD_WITH_CUTLASS=${NVSHMEM_BUILD_WITH_CUTLASS} -DCUTLASS_HOME=${CUTLASS_HOME} + -DCUDA_HOME=${CUDAToolkit_Root} -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_CUDA_HOST_COMPILER=${CMAKE_CUDA_HOST_COMPILER} diff --git a/src/device/CMakeLists.txt b/src/device/CMakeLists.txt index 1638f22..b2ed5ae 100644 --- a/src/device/CMakeLists.txt +++ b/src/device/CMakeLists.txt @@ -5,10 +5,10 @@ include(CMakePackageConfigHelpers) set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/../.." CACHE PATH "..." FORCE) -if (DEFINED ENV{NVSHMEM_DEVICELIB_CUDA_HOME}) - set(NVSHMEM_DEVICELIB_CUDA_HOME_DEFAULT $ENV{NVSHMEM_DEVICELIB_CUDA_HOME}) -elseif(DEFINED ENV{CUDA_HOME}) - set(NVSHMEM_DEVICELIB_CUDA_HOME_DEFAULT $ENV{CUDA_HOME}) +if (NVSHMEM_DEVICELIB_CUDA_HOME) + set(NVSHMEM_DEVICELIB_CUDA_HOME_DEFAULT ${NVSHMEM_DEVICELIB_CUDA_HOME}) +elseif(CUDA_HOME) + set(NVSHMEM_DEVICELIB_CUDA_HOME_DEFAULT ${CUDA_HOME}) else() set(NVSHMEM_DEVICELIB_CUDA_HOME_DEFAULT "/usr/local/cuda") endif() @@ -21,10 +21,10 @@ if (NOT DEFINED CUDA_ARCHITECTURES) set(CUDA_ARCHITECTURES_UNDEFINED 1) endif() -set(NVSHMEM_DEVICELIB_CUDA_HOME ${NVSHMEM_DEVICELIB_CUDA_HOME_DEFAULT} CACHE PATH "path to CUDA installation") +set(NVSHMEM_DEVICELIB_CUDA_HOME ${NVSHMEM_DEVICELIB_CUDA_HOME_DEFAULT} CACHE PATH "path to CUDA installation" FORCE) if (NVSHMEM_DEBUG) - message(STATUS "Setting build type to Debug as requested by the environment.") + message(STATUS "Setting build type to Debug as requested by the environment.") set(CMAKE_BUILD_TYPE "debug" CACHE STRING "Choose the type of build." FORCE) endif()