@@ -54,45 +54,53 @@ set(Torch_DIR ${PYTORCH_PATH}/share/cmake/Torch/)
5454find_package (Torch REQUIRED)
5555include_directories (${TORCH_INCLUDE_DIRS} )
5656
57- set (NUMA_INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR} /numa_install)
58- FetchContent_Declare(
59- numactl
60- URL https://github.com/numactl/numactl/releases/download/v2.0.16/numactl-2.0.16.tar.gz
61- TLS_VERIFY OFF
62- )
63- FetchContent_MakeAvailable(numactl)
64- if (NOT EXISTS "${NUMA_INSTALL_DIR} /lib/libnuma.so" )
65- message (STATUS "Configuring numactl..." )
66- execute_process (
67- COMMAND ./configure --prefix =${NUMA_INSTALL_DIR}
68- WORKING_DIRECTORY ${numactl_SOURCE_DIR}
69- RESULT_VARIABLE numa_configure_result
70- OUTPUT_VARIABLE numa_configure_output
71- ERROR_VARIABLE numa_configure_error
72- )
73- if (NOT numa_configure_result EQUAL 0)
74- message (FATAL_ERROR "Failed to configure numactl. \n "
75- "Result: ${numa_configure_result} \n "
76- "STDOUT: ${numa_configure_output} \n "
77- "STDERR: ${numa_configure_error} \n " )
78- endif ()
57+ if (BUILD_NUMA)
58+ message (STATUS "Building numactl library..." )
7959
80- message (STATUS "Building and installing numactl..." )
81- execute_process (
82- COMMAND make install -j8
83- WORKING_DIRECTORY ${numactl_SOURCE_DIR}
84- RESULT_VARIABLE numa_install_result
85- OUTPUT_VARIABLE numa_install_output
86- ERROR_VARIABLE numa_install_error
60+ set (NUMA_INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR} /numa_install)
61+ FetchContent_Declare(
62+ numactl
63+ URL https://github.com/numactl/numactl/releases/download/v2.0.16/numactl-2.0.16.tar.gz
64+ TLS_VERIFY OFF
8765 )
88- if (NOT numa_install_result EQUAL 0)
89- message (FATAL_ERROR "Failed to build and install numactl. \n "
90- "Result: ${numa_install_result} \n "
91- "STDOUT: ${numa_install_output} \n "
92- "STDERR: ${numa_install_error} \n " )
66+ FetchContent_MakeAvailable(numactl)
67+ if (NOT EXISTS "${NUMA_INSTALL_DIR} /lib/libnuma.so" )
68+ message (STATUS "Configuring numactl..." )
69+ execute_process (
70+ COMMAND ./configure --prefix =${NUMA_INSTALL_DIR}
71+ WORKING_DIRECTORY ${numactl_SOURCE_DIR}
72+ RESULT_VARIABLE numa_configure_result
73+ OUTPUT_VARIABLE numa_configure_output
74+ ERROR_VARIABLE numa_configure_error
75+ )
76+ if (NOT numa_configure_result EQUAL 0)
77+ message (FATAL_ERROR "Failed to configure numactl. \n "
78+ "Result: ${numa_configure_result} \n "
79+ "STDOUT: ${numa_configure_output} \n "
80+ "STDERR: ${numa_configure_error} \n " )
81+ endif ()
82+
83+ message (STATUS "Building and installing numactl..." )
84+ execute_process (
85+ COMMAND make install -j8
86+ WORKING_DIRECTORY ${numactl_SOURCE_DIR}
87+ RESULT_VARIABLE numa_install_result
88+ OUTPUT_VARIABLE numa_install_output
89+ ERROR_VARIABLE numa_install_error
90+ )
91+ if (NOT numa_install_result EQUAL 0)
92+ message (FATAL_ERROR "Failed to build and install numactl. \n "
93+ "Result: ${numa_install_result} \n "
94+ "STDOUT: ${numa_install_output} \n "
95+ "STDERR: ${numa_install_error} \n " )
96+ endif ()
97+ else ()
98+ message (STATUS "Found already built libnuma. Skipping build." )
9399 endif ()
100+
101+ add_definitions (-DNUMA_ENABLED)
94102else ()
95- message (STATUS "Found already built libnuma. Skipping build." )
103+ message (STATUS "Skipping numactl build.. ." )
96104endif ()
97105
98106add_subdirectory (core)
0 commit comments