Skip to content

Commit 06c5cd4

Browse files
Add DPCTL_OFFLOAD_COMPRESS:BOOL=OFF option to dpctl CMake script
If -DDPCTL_OFFLOAD_COMPRESS=ON is used, DPC++ link-time option `--offload-compress` is used to compress offload sections. The option is OFF by default.
1 parent ae8a3b1 commit 06c5cd4

File tree

4 files changed

+15
-3
lines changed

4 files changed

+15
-3
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ set(DPCTL_TARGET_HIP
3535
"Build DPCTL to target a HIP device architecture"
3636
)
3737
option(DPCTL_WITH_REDIST "Build DPCTL assuming DPC++ redistributable is installed into Python prefix" OFF)
38+
option(DPCTL_OFFLOAD_COMPRESS "Build using offload section compression feature of DPC++" OFF)
3839

3940
find_package(IntelSYCL REQUIRED PATHS ${CMAKE_SOURCE_DIR}/cmake NO_DEFAULT_PATH)
4041

dpctl/CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,10 @@ function(build_dpctl_ext _trgt _src _dest)
112112
if (BUILD_DPCTL_EXT_SYCL)
113113
add_sycl_to_target(TARGET ${_trgt} SOURCES ${_generated_src})
114114
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)
115+
target_link_options(${_trgt} PRIVATE -fsycl-device-code-split=per_kernel)
116+
if (DPCTL_OFFLOAD_COMPRESS)
117+
target_link_options(${_trgt} PRIVATE --offload-compress)
118+
endif()
116119
if(_dpctl_sycl_targets)
117120
# make fat binary
118121
target_compile_options(

dpctl/tensor/CMakeLists.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,11 @@ 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 --offload-compress)
270+
target_link_options(${python_module_name} PRIVATE -fsycl-device-code-split=per_kernel)
271+
if (DPCTL_OFFLOAD_COMPRESS)
272+
target_link_options(${python_module_name} PRIVATE --offload-compress)
273+
endif()
274+
271275
target_include_directories(${python_module_name}
272276
PRIVATE
273277
${CMAKE_CURRENT_SOURCE_DIR}/libtensor/include

dpctl/utils/CMakeLists.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,11 @@ 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 --offload-compress)
31+
target_link_options(${python_module_name} PRIVATE -fsycl-device-code-split=per_kernel)
32+
if (DPCTL_OFFLOAD_COMPRESS)
33+
target_link_options(${python_module_name} PRIVATE --offload-compress)
34+
endif()
35+
3236
target_include_directories(${python_module_name}
3337
PRIVATE
3438
${CMAKE_CURRENT_SOURCE_DIR}/libtensor/include

0 commit comments

Comments
 (0)