@@ -110,70 +110,53 @@ set(UMF_SOURCES
110
110
memtarget.c
111
111
mempolicy.c
112
112
memspace.c
113
+ memspaces/memspace_host_all.c
114
+ memspaces/memspace_highest_capacity.c
115
+ memspaces/memspace_highest_bandwidth.c
116
+ memspaces/memspace_lowest_latency.c
117
+ memspaces/memspace_numa.c
113
118
provider/provider_coarse.c
119
+ provider/provider_cuda.c
120
+ provider/provider_devdax_memory.c
121
+ provider/provider_file_memory.c
122
+ provider/provider_level_zero.c
123
+ provider/provider_os_memory.c
114
124
provider/provider_tracking.c
115
125
critnib/critnib.c
116
126
ravl/ravl.c
117
127
pool/pool_proxy.c
118
128
pool/pool_scalable.c)
119
129
120
130
if (NOT UMF_DISABLE_HWLOC)
121
- set (UMF_SOURCES ${UMF_SOURCES} ${HWLOC_DEPENDENT_SOURCES} )
131
+ set (UMF_SOURCES ${UMF_SOURCES} ${HWLOC_DEPENDENT_SOURCES}
132
+ memtargets/memtarget_numa.c)
133
+ set (UMF_LIBS ${UMF_LIBS} ${LIBHWLOC_LIBRARIES} )
134
+ set (UMF_PRIVATE_LIBRARY_DIRS ${UMF_PRIVATE_LIBRARY_DIRS}
135
+ ${LIBHWLOC_LIBRARY_DIRS} )
136
+ else ()
137
+ set (UMF_COMMON_COMPILE_DEFINITIONS ${UMF_COMMON_COMPILE_DEFINITIONS}
138
+ "UMF_NO_HWLOC=1" )
122
139
endif ()
123
140
124
141
set (UMF_SOURCES_LINUX libumf_linux.c)
125
-
126
142
set (UMF_SOURCES_MACOSX libumf_linux.c)
127
-
128
143
set (UMF_SOURCES_WINDOWS libumf_windows.c)
129
144
130
- set (UMF_SOURCES_COMMON_LINUX_MACOSX
131
- provider/provider_devdax_memory.c
132
- provider/provider_file_memory.c
133
- provider/provider_os_memory.c
134
- memtargets/memtarget_numa.c
135
- memspaces/memspace_numa.c
136
- memspaces/memspace_host_all.c
137
- memspaces/memspace_highest_capacity.c
138
- memspaces/memspace_highest_bandwidth.c
139
- memspaces/memspace_lowest_latency.c)
140
-
141
- if (NOT UMF_DISABLE_HWLOC)
142
- set (UMF_SOURCES_LINUX ${UMF_SOURCES_LINUX}
143
- ${UMF_SOURCES_COMMON_LINUX_MACOSX} )
144
-
145
- set (UMF_SOURCES_MACOSX ${UMF_SOURCES_MACOSX}
146
- ${UMF_SOURCES_COMMON_LINUX_MACOSX} )
147
-
148
- set (UMF_SOURCES_WINDOWS ${UMF_SOURCES_WINDOWS}
149
- provider/provider_os_memory.c)
150
-
151
- set (UMF_LIBS ${UMF_LIBS} ${LIBHWLOC_LIBRARIES} )
152
-
153
- if (NOT WINDOWS)
154
- add_optional_symbol(umfMemspaceCreateFromNumaArray)
155
- add_optional_symbol(umfMemspaceHighestBandwidthGet)
156
- add_optional_symbol(umfMemspaceHighestCapacityGet)
157
- add_optional_symbol(umfMemspaceHostAllGet)
158
- add_optional_symbol(umfMemspaceLowestLatencyGet)
159
- endif ()
145
+ # Add compile definitions to handle unsupported functions
146
+ if (NOT UMF_BUILD_CUDA_PROVIDER)
147
+ set (UMF_COMMON_COMPILE_DEFINITIONS ${UMF_COMMON_COMPILE_DEFINITIONS}
148
+ "UMF_NO_CUDA_PROVIDER=1" )
160
149
endif ()
161
-
162
- if (WINDOWS)
163
- message (STATUS "UMF_OPTIONAL_SYMBOLS: ${UMF_OPTIONAL_SYMBOLS_WINDOWS} " )
164
- else ()
165
- message (STATUS "UMF_OPTIONAL_SYMBOLS: ${UMF_OPTIONAL_SYMBOLS_LINUX} " )
150
+ if (NOT UMF_BUILD_LEVEL_ZERO_PROVIDER)
151
+ set (UMF_COMMON_COMPILE_DEFINITIONS ${UMF_COMMON_COMPILE_DEFINITIONS}
152
+ "UMF_NO_LEVEL_ZERO_PROVIDER=1" )
153
+ endif ()
154
+ if (UMF_DISABLE_HWLOC OR WINDOWS)
155
+ set (UMF_COMMON_COMPILE_DEFINITIONS ${UMF_COMMON_COMPILE_DEFINITIONS}
156
+ "UMF_NO_DEVDAX_PROVIDER=1" )
157
+ set (UMF_COMMON_COMPILE_DEFINITIONS ${UMF_COMMON_COMPILE_DEFINITIONS}
158
+ "UMF_NO_FILE_PROVIDER=1" )
166
159
endif ()
167
-
168
- # Configure map/def files with optional symbols
169
- configure_file ("${CMAKE_CURRENT_SOURCE_DIR} /libumf.def.in"
170
- "${CMAKE_CURRENT_BINARY_DIR} /libumf.def" @ONLY)
171
-
172
- configure_file ("${CMAKE_CURRENT_SOURCE_DIR} /libumf.map.in"
173
- "${CMAKE_CURRENT_BINARY_DIR} /libumf.map" @ONLY)
174
-
175
- set (UMF_PRIVATE_LIBRARY_DIRS ${UMF_PRIVATE_LIBRARY_DIRS}
176
- ${LIBHWLOC_LIBRARY_DIRS} )
177
160
178
161
if (LINUX)
179
162
set (UMF_SOURCES ${UMF_SOURCES} ${UMF_SOURCES_LINUX} )
@@ -198,8 +181,8 @@ if(UMF_BUILD_SHARED_LIBRARY)
198
181
TYPE SHARED
199
182
SRCS ${UMF_SOURCES}
200
183
LIBS ${UMF_LIBS} ${HWLOC_LIB}
201
- LINUX_MAP_FILE ${CMAKE_CURRENT_BINARY_DIR } /libumf.map
202
- WINDOWS_DEF_FILE ${CMAKE_CURRENT_BINARY_DIR } /libumf.def)
184
+ LINUX_MAP_FILE ${CMAKE_CURRENT_SOURCE_DIR } /libumf.map
185
+ WINDOWS_DEF_FILE ${CMAKE_CURRENT_SOURCE_DIR } /libumf.def)
203
186
set (UMF_COMMON_COMPILE_DEFINITIONS ${UMF_COMMON_COMPILE_DEFINITIONS}
204
187
"UMF_SHARED_LIBRARY" )
205
188
set_target_properties (
@@ -215,11 +198,6 @@ else()
215
198
LIBS ${UMF_LIBS} )
216
199
endif ()
217
200
218
- if (UMF_DISABLE_HWLOC)
219
- set (UMF_COMMON_COMPILE_DEFINITIONS ${UMF_COMMON_COMPILE_DEFINITIONS}
220
- UMF_NO_HWLOC=1)
221
- endif ()
222
-
223
201
if (UMF_LINK_HWLOC_STATICALLY)
224
202
add_dependencies (umf ${UMF_HWLOC_NAME} )
225
203
endif ()
@@ -229,8 +207,6 @@ target_link_directories(umf PRIVATE ${UMF_PRIVATE_LIBRARY_DIRS})
229
207
target_compile_definitions (umf PRIVATE ${UMF_COMMON_COMPILE_DEFINITIONS} )
230
208
231
209
if (UMF_BUILD_LEVEL_ZERO_PROVIDER)
232
- target_sources (umf PRIVATE provider/provider_level_zero.c)
233
-
234
210
if (LINUX)
235
211
# WA for error ze_api.h:14234:20: no newline at end of file
236
212
# [-Werror,-Wnewline-eof]
@@ -244,7 +220,6 @@ if(UMF_BUILD_LEVEL_ZERO_PROVIDER)
244
220
endif ()
245
221
246
222
if (UMF_BUILD_CUDA_PROVIDER)
247
- target_sources (umf PRIVATE provider/provider_cuda.c)
248
223
set (UMF_COMPILE_DEFINITIONS ${UMF_COMPILE_DEFINITIONS}
249
224
"UMF_BUILD_CUDA_PROVIDER=1" )
250
225
endif ()
0 commit comments