Skip to content

Commit ae8a3b1

Browse files
Use --offload-compress linker option to compress offload sections
See https://www.intel.com/content/www/us/en/developer/articles/technical/sycl-compilation-device-image-compression.html It is applicable for any SYCL targets. This change results in 28.4% reduction in shared objects sizes with offload sections on Linux.
1 parent 9f8f90b commit ae8a3b1

File tree

3 files changed

+6
-4
lines changed

3 files changed

+6
-4
lines changed

dpctl/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,8 @@ function(build_dpctl_ext _trgt _src _dest)
111111
Python_add_library(${_trgt} MODULE WITH_SOABI ${_generated_src})
112112
if (BUILD_DPCTL_EXT_SYCL)
113113
add_sycl_to_target(TARGET ${_trgt} SOURCES ${_generated_src})
114+
target_compile_options(${_trgt} PRIVATE -fno-sycl-id-queries-fit-in-int)
115+
target_link_options(${_trgt} PRIVATE -fsycl-device-code-split=per_kernel --offload-compress)
114116
if(_dpctl_sycl_targets)
115117
# make fat binary
116118
target_compile_options(

dpctl/tensor/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ endforeach()
267267
set(_linker_options "LINKER:${DPCTL_LDFLAGS}")
268268
foreach(python_module_name ${_py_trgts})
269269
target_compile_options(${python_module_name} PRIVATE -fno-sycl-id-queries-fit-in-int)
270-
target_link_options(${python_module_name} PRIVATE -fsycl-device-code-split=per_kernel)
270+
target_link_options(${python_module_name} PRIVATE -fsycl-device-code-split=per_kernel --offload-compress)
271271
target_include_directories(${python_module_name}
272272
PRIVATE
273273
${CMAKE_CURRENT_SOURCE_DIR}/libtensor/include
@@ -279,7 +279,7 @@ foreach(python_module_name ${_py_trgts})
279279
target_compile_options(${python_module_name}
280280
PRIVATE -fprofile-instr-generate -fcoverage-mapping
281281
)
282-
endif()
282+
endif()
283283
target_link_options(${python_module_name}
284284
PRIVATE -fprofile-instr-generate -fcoverage-mapping
285285
)

dpctl/utils/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ list(APPEND _pybind11_targets ${python_module_name})
2828
set(_linker_options "LINKER:${DPCTL_LDFLAGS}")
2929
foreach(python_module_name ${_pybind11_targets})
3030
target_compile_options(${python_module_name} PRIVATE -fno-sycl-id-queries-fit-in-int)
31-
target_link_options(${python_module_name} PRIVATE -fsycl-device-code-split=per_kernel)
31+
target_link_options(${python_module_name} PRIVATE -fsycl-device-code-split=per_kernel --offload-compress)
3232
target_include_directories(${python_module_name}
3333
PRIVATE
3434
${CMAKE_CURRENT_SOURCE_DIR}/libtensor/include
@@ -40,7 +40,7 @@ foreach(python_module_name ${_pybind11_targets})
4040
target_compile_options(${python_module_name}
4141
PRIVATE -fprofile-instr-generate -fcoverage-mapping
4242
)
43-
endif()
43+
endif()
4444
target_link_options(${python_module_name}
4545
PRIVATE -fprofile-instr-generate -fcoverage-mapping
4646
)

0 commit comments

Comments
 (0)