Skip to content

Commit f5aafce

Browse files
steffenlarsenmdtoguchi
authored andcommitted
[SYCL] Refactor and generate SYCL builtins (intel#10198)
This commit changes the builtin headers from defining all SYCL builtins to using a number of generated header files containing these builtin functions. --------- Signed-off-by: Larsen, Steffen <[email protected]>
1 parent 64ac9d9 commit f5aafce

File tree

13 files changed

+2698
-2611
lines changed

13 files changed

+2698
-2611
lines changed

sycl/CMakeLists.txt

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,9 +179,31 @@ set(sycl_plugin_dir ${CMAKE_CURRENT_SOURCE_DIR}/plugins)
179179
string(TIMESTAMP __SYCL_COMPILER_VERSION "%Y%m%d")
180180
configure_file("source/version.hpp.in" "${SYCL_INCLUDE_BUILD_DIR}/sycl/version.hpp")
181181
configure_file("source/feature_test.hpp.in" "${SYCL_INCLUDE_BUILD_DIR}/sycl/feature_test.hpp")
182+
183+
# Generate SYCL builtins
184+
find_package(Python3 REQUIRED)
185+
add_custom_command(
186+
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/source/builtins_generator.py ${SYCL_INCLUDE_BUILD_DIR}/sycl
187+
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/source/builtins_generator.py
188+
OUTPUT "${SYCL_INCLUDE_BUILD_DIR}/sycl/builtins_scalar_gen.hpp"
189+
"${SYCL_INCLUDE_BUILD_DIR}/sycl/builtins_vector_gen.hpp"
190+
"${SYCL_INCLUDE_BUILD_DIR}/sycl/builtins_marray_gen.hpp"
191+
COMMENT "Generating SYCL builtin headers"
192+
)
193+
194+
add_custom_target(sycl-builtins-header
195+
DEPENDS "${SYCL_INCLUDE_BUILD_DIR}/sycl/builtins_scalar_gen.hpp"
196+
"${SYCL_INCLUDE_BUILD_DIR}/sycl/builtins_vector_gen.hpp"
197+
"${SYCL_INCLUDE_BUILD_DIR}/sycl/builtins_marray_gen.hpp"
198+
)
199+
200+
# Install generated headers.
182201
install(FILES
183202
"${SYCL_INCLUDE_BUILD_DIR}/sycl/feature_test.hpp"
184203
"${SYCL_INCLUDE_BUILD_DIR}/sycl/version.hpp"
204+
"${SYCL_INCLUDE_BUILD_DIR}/sycl/builtins_scalar_gen.hpp"
205+
"${SYCL_INCLUDE_BUILD_DIR}/sycl/builtins_vector_gen.hpp"
206+
"${SYCL_INCLUDE_BUILD_DIR}/sycl/builtins_marray_gen.hpp"
185207
DESTINATION "${SYCL_INCLUDE_DIR}/sycl"
186208
COMPONENT sycl-headers)
187209

@@ -210,6 +232,7 @@ add_custom_target(sycl-headers
210232
${OUT_HEADERS_IN_CL_DIR}
211233
${OUT_HEADERS_IN_STD_DIR}
212234
${OUT_HEADERS_IN_SYCLCOMPAT_DIR}
235+
sycl-builtins-header
213236
boost_mp11-headers)
214237

215238
add_custom_command(

0 commit comments

Comments
 (0)