Skip to content

Commit fa97660

Browse files
Add target_compile_options setting sycl-targets for targets needing SYCL
For every CMake target, where add_sycl_to_target is used, we also run target_compile_options( ${target_name} PRIVATE -fysl-targets=spir64-unknown-unknown,nvptx64-nvidia-cuda )
1 parent c7cdee8 commit fa97660

File tree

5 files changed

+32
-1
lines changed

5 files changed

+32
-1
lines changed

dpctl/CMakeLists.txt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,13 @@ function(build_dpctl_ext _trgt _src _dest)
143143
add_custom_target(${_cythonize_trgt} DEPENDS ${_src})
144144
Python_add_library(${_trgt} MODULE WITH_SOABI ${_generated_src})
145145
if (BUILD_DPCTL_EXT_SYCL)
146-
add_sycl_to_target(TARGET ${_trgt} SOURCES ${_generated_src})
146+
add_sycl_to_target(TARGET ${_trgt} SOURCES ${_generated_src})
147+
# make fat binary
148+
target_compile_options(
149+
${_trgt}
150+
PRIVATE
151+
-fsycl-targets=spir64-unknown-unknown,nvptx64-nvidia-cuda
152+
)
147153
endif()
148154
target_include_directories(${_trgt} PRIVATE ${NumPy_INCLUDE_DIR} ${DPCTL_INCLUDE_DIR})
149155
add_dependencies(${_trgt} _build_time_create_dpctl_include_copy ${_cythonize_trgt})

dpctl/tensor/CMakeLists.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,13 @@ list(APPEND _tensor_impl_sources
141141
set(python_module_name _tensor_impl)
142142
pybind11_add_module(${python_module_name} MODULE ${_tensor_impl_sources})
143143
add_sycl_to_target(TARGET ${python_module_name} SOURCES ${_tensor_impl_sources})
144+
# make fat binary
145+
target_compile_options(
146+
${python_module_name}
147+
PRIVATE
148+
-fsycl-targets=spir64-unknown-unknown,nvptx64-nvidia-cuda
149+
)
150+
144151
set(_clang_prefix "")
145152
if (WIN32)
146153
set(_clang_prefix "/clang:")

dpctl/utils/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@ pybind11_add_module(${python_module_name} MODULE
2121
${_module_src}
2222
)
2323
add_sycl_to_target(TARGET ${python_module_name} SOURCES ${_module_src})
24+
# make fat binary
25+
target_compile_options(
26+
${python_module_name}
27+
PRIVATE
28+
-fsycl-targets=spir64-unknown-unknown,nvptx64-nvidia-cuda
29+
)
2430
target_include_directories(${python_module_name}
2531
PRIVATE
2632
${CMAKE_CURRENT_SOURCE_DIR}/../include

libsyclinterface/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,12 @@ add_library(DPCTLSyclInterface
205205
${helper_sources}
206206
)
207207
add_sycl_to_target(TARGET DPCTLSyclInterface SOURCES ${sources} ${helper_sources})
208+
# make fat binary
209+
target_compile_options(
210+
DPCTLSyclInterface
211+
PRIVATE
212+
-fsycl-targets=spir64-unknown-unknown,nvptx64-nvidia-cuda
213+
)
208214

209215
if(DPCTL_GENERATE_COVERAGE)
210216
target_link_options(DPCTLSyclInterface

libsyclinterface/tests/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,12 @@ add_sycl_to_target(
5252
${CMAKE_CURRENT_SOURCE_DIR}/test_sycl_queue_interface.cpp
5353
${CMAKE_CURRENT_SOURCE_DIR}/test_sycl_usm_interface.cpp
5454
)
55+
# make fat binary
56+
target_compile_options(
57+
dpctl_c_api_tests
58+
PRIVATE
59+
-fsycl-targets=spir64-unknown-unknown,nvptx64-nvidia-cuda
60+
)
5561

5662
if(DPCTL_GENERATE_COVERAGE)
5763
target_include_directories(dpctl_c_api_tests

0 commit comments

Comments
 (0)