Skip to content

Commit c568f2e

Browse files
authored
[SYCL][libdevice] Remove unused spv libdevice files. (#18483)
For sanitizer libdevice, we don't use spv format files and for bfloat16 devicelib, we switched to embed required libdevice files into user's executable, the legacy spv format files should be dropped as well. This PR stops building spv files for device sanitizer and bfloat16 libdevice. Signed-off-by: jinge90 <[email protected]>
1 parent 8c37114 commit c568f2e

File tree

1 file changed

+20
-7
lines changed

1 file changed

+20
-7
lines changed

libdevice/cmake/modules/SYCLLibdevice.cmake

+20-7
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ endif()
6666
add_custom_target(libsycldevice)
6767

6868
set(filetypes obj obj-new-offload spv bc)
69+
set(filetypes_no_spv obj obj-new-offload bc)
6970

7071
foreach(filetype IN LISTS filetypes)
7172
add_custom_target(libsycldevice-${filetype})
@@ -193,10 +194,14 @@ function(add_devicelibs filename)
193194
cmake_parse_arguments(ARG
194195
""
195196
""
196-
"SRC;EXTRA_OPTS;DEPENDENCIES;SKIP_ARCHS"
197+
"SRC;EXTRA_OPTS;DEPENDENCIES;SKIP_ARCHS;FILETYPES"
197198
${ARGN})
198-
199-
foreach(filetype IN LISTS filetypes)
199+
if(ARG_FILETYPES)
200+
set(devicelib_filetypes "${ARG_FILETYPES}")
201+
else()
202+
set(devicelib_filetypes "${filetypes}")
203+
endif()
204+
foreach(filetype IN LISTS devicelib_filetypes)
200205
compile_lib(${filename}
201206
FILETYPE ${filetype}
202207
SRC ${ARG_SRC}
@@ -387,15 +392,15 @@ else()
387392
DEPENDENCIES ${asan_obj_deps}
388393
SKIP_ARCHS nvptx64-nvidia-cuda
389394
amdgcn-amd-amdhsa
395+
FILETYPES "${filetypes_no_spv}"
390396
EXTRA_OPTS -fno-sycl-instrument-device-code
391397
-I${UR_SANITIZER_INCLUDE_DIR}
392398
-I${CMAKE_CURRENT_SOURCE_DIR})
393399

394400
# asan aot
395-
set(sanitizer_filetypes obj obj-new-offload bc)
396401
set(asan_devicetypes pvc cpu dg2)
397402

398-
foreach(asan_ft IN LISTS sanitizer_filetypes)
403+
foreach(asan_ft IN LISTS filetypes_no_spv)
399404
foreach(asan_device IN LISTS asan_devicetypes)
400405
compile_lib_ext(libsycl-asan-${asan_device}
401406
SRC sanitizer/asan_rtl.cpp
@@ -409,14 +414,17 @@ else()
409414
add_devicelibs(libsycl-msan
410415
SRC sanitizer/msan_rtl.cpp
411416
DEPENDENCIES ${msan_obj_deps}
417+
SKIP_ARCHS nvptx64-nvidia-cuda
418+
amdgcn-amd-amdhsa
419+
FILETYPES "${filetypes_no_spv}"
412420
EXTRA_OPTS -fno-sycl-instrument-device-code
413421
-I${UR_SANITIZER_INCLUDE_DIR}
414422
-I${CMAKE_CURRENT_SOURCE_DIR})
415423

416424
# msan aot
417425
set(msan_devicetypes pvc cpu)
418426

419-
foreach(msan_ft IN LISTS sanitizer_filetypes)
427+
foreach(msan_ft IN LISTS filetypes_no_spv)
420428
foreach(msan_device IN LISTS msan_devicetypes)
421429
compile_lib_ext(libsycl-msan-${msan_device}
422430
SRC sanitizer/msan_rtl.cpp
@@ -430,13 +438,16 @@ else()
430438
add_devicelibs(libsycl-tsan
431439
SRC sanitizer/tsan_rtl.cpp
432440
DEPENDENCIES ${tsan_obj_deps}
441+
SKIP_ARCHS nvptx64-nvidia-cuda
442+
amdgcn-amd-amdhsa
443+
FILETYPES "${filetypes_no_spv}"
433444
EXTRA_OPTS -fno-sycl-instrument-device-code
434445
-I${UR_SANITIZER_INCLUDE_DIR}
435446
-I${CMAKE_CURRENT_SOURCE_DIR})
436447

437448
set(tsan_devicetypes pvc cpu)
438449

439-
foreach(tsan_ft IN LISTS sanitizer_filetypes)
450+
foreach(tsan_ft IN LISTS filetypes_no_spv)
440451
foreach(tsan_device IN LISTS tsan_devicetypes)
441452
compile_lib_ext(libsycl-tsan-${tsan_device}
442453
SRC sanitizer/tsan_rtl.cpp
@@ -470,9 +481,11 @@ add_devicelibs(libsycl-fallback-cmath-fp64
470481
DEPENDENCIES ${cmath_obj_deps})
471482
add_devicelibs(libsycl-fallback-bfloat16
472483
SRC fallback-bfloat16.cpp
484+
FILETYPES "${filetypes_no_spv}"
473485
DEPENDENCIES ${bfloat16_obj_deps})
474486
add_devicelibs(libsycl-native-bfloat16
475487
SRC bfloat16_wrapper.cpp
488+
FILETYPES "${filetypes_no_spv}"
476489
DEPENDENCIES ${bfloat16_obj_deps})
477490

478491
# Create dependency and source lists for Intel math function libraries.

0 commit comments

Comments
 (0)