Skip to content

Commit fb137f2

Browse files
committed
w/o cuda.
1 parent e35828d commit fb137f2

File tree

2 files changed

+22
-14
lines changed

2 files changed

+22
-14
lines changed

CMakeLists.txt

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ project(pyhwloc LANGUAGES C VERSION 0.0.0)
88
list(APPEND CMAKE_MODULE_PATH "${pyhwloc_SOURCE_DIR}/cmake/")
99

1010
option(PYHWLOC_FETCH_HWLOC "Fetch hwloc from GitHub instead of using system version" OFF)
11+
option(PYHWLOC_WITH_CUDA "Add CUDA-related components" ON)
1112

1213
set(PYHWLOC_BUILD_HWLOC_CMAKE OFF)
1314
if(WIN32)
@@ -42,7 +43,7 @@ if(PYHWLOC_FETCH_HWLOC)
4243
-G ${CMAKE_GENERATOR}
4344
-DCMAKE_INSTALL_PREFIX=${PYHWLOC_OUTPUT_DIR}
4445
-DBUILD_SHARED_LIBS=ON
45-
-DHWLOC_WITH_CUDA=ON
46+
-DHWLOC_WITH_CUDA=${PYHWLOC_WITH_CUDA}
4647
-DHWLOC_ENABLE_PLUGINS=ON
4748
WORKING_DIRECTORY ${hwloc_SOURCE_DIR}
4849
)
@@ -94,26 +95,29 @@ else()
9495
endif()
9596

9697
message(STATUS "HWLOC_LIBRARY: ${HWLOC_LIBRARY}")
97-
find_package(CUDAToolkit REQUIRED COMPONENTS nvml cuda_driver cudart_static)
9898

9999
target_link_libraries(pyhwloc PRIVATE ${HWLOC_LIBRARY})
100100
target_include_directories(pyhwloc PRIVATE ${HWLOC_INCLUDE_DIR})
101101
list(APPEND PYHWLOC_LIBS pyhwloc)
102102

103-
add_library(pyhwloc_cuda SHARED src/ext/cudr.c)
104-
target_link_libraries(pyhwloc_cuda PRIVATE CUDA::cuda_driver ${HWLOC_LIBRARY})
105-
target_include_directories(pyhwloc_cuda PRIVATE ${HWLOC_INCLUDE_DIR})
106-
list(APPEND PYHWLOC_LIBS pyhwloc_cuda)
103+
if(PYHWLOC_WITH_CUDA)
104+
find_package(CUDAToolkit REQUIRED COMPONENTS nvml cuda_driver cudart_static)
107105

108-
add_library(pyhwloc_cudart SHARED src/ext/cudart.c)
109-
target_link_libraries(pyhwloc_cudart PRIVATE CUDA::cudart ${HWLOC_LIBRARY})
110-
target_include_directories(pyhwloc_cudart PRIVATE ${HWLOC_INCLUDE_DIR})
111-
list(APPEND PYHWLOC_LIBS pyhwloc_cudart)
106+
add_library(pyhwloc_cuda SHARED src/ext/cudr.c)
107+
target_link_libraries(pyhwloc_cuda PRIVATE CUDA::cuda_driver ${HWLOC_LIBRARY})
108+
target_include_directories(pyhwloc_cuda PRIVATE ${HWLOC_INCLUDE_DIR})
109+
list(APPEND PYHWLOC_LIBS pyhwloc_cuda)
112110

113-
add_library(pyhwloc_nvml SHARED src/ext/nvml.c)
114-
target_link_libraries(pyhwloc_nvml PRIVATE CUDA::nvml ${HWLOC_LIBRARY})
115-
target_include_directories(pyhwloc_nvml PRIVATE ${HWLOC_INCLUDE_DIR})
116-
list(APPEND PYHWLOC_LIBS pyhwloc_nvml)
111+
add_library(pyhwloc_cudart SHARED src/ext/cudart.c)
112+
target_link_libraries(pyhwloc_cudart PRIVATE CUDA::cudart ${HWLOC_LIBRARY})
113+
target_include_directories(pyhwloc_cudart PRIVATE ${HWLOC_INCLUDE_DIR})
114+
list(APPEND PYHWLOC_LIBS pyhwloc_cudart)
115+
116+
add_library(pyhwloc_nvml SHARED src/ext/nvml.c)
117+
target_link_libraries(pyhwloc_nvml PRIVATE CUDA::nvml ${HWLOC_LIBRARY})
118+
target_include_directories(pyhwloc_nvml PRIVATE ${HWLOC_INCLUDE_DIR})
119+
list(APPEND PYHWLOC_LIBS pyhwloc_nvml)
120+
endif()
117121

118122
include(GenerateExportHeader)
119123

hatch/hook.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,10 @@ def initialize(self, version: str, build_data: dict[str, Any]) -> None:
168168
raise FileNotFoundError(root_dir)
169169
cmake_args.append(f"-DHWLOC_ROOT={root_dir}")
170170

171+
# No CUDA in RTD
172+
if os.environ.get("READTHEDOCS", None) == "True":
173+
cmake_args.append("-DPYHWLOC_WITH_CUDA=OFF")
174+
171175
# Source path
172176
if os.environ.get(SRC_KEY, None) is not None:
173177
src_dir = os.environ[SRC_KEY]

0 commit comments

Comments
 (0)