Skip to content

Commit 8c099d8

Browse files
author
Diptorup Deb
authored
Merge pull request #499 from IntelPython/use-dpcpp-built-kernels
Added a test that retrieved DPCPP compiled kernel and submits them via DPCTLQueue_SubmitRange
2 parents 521d277 + 0423551 commit 8c099d8

File tree

6 files changed

+631
-2
lines changed

6 files changed

+631
-2
lines changed

dpctl-capi/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ elseif(UNIX)
8686
"-Wuninitialized "
8787
"-Wmissing-declarations "
8888
"-fdiagnostics-color=auto "
89+
"-Wno-deprecated-declarations "
8990
)
9091
string(CONCAT SDL_FLAGS
9192
"-fstack-protector "

dpctl-capi/dbg_build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ cmake \
1313
-DCMAKE_CXX_COMPILER=dpcpp \
1414
-DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} \
1515
-DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} \
16-
-DDPCTL_ENABLE_LO_PROGRAM_CREATION=${USE_LO_HEADERS} \
16+
-DDPCTL_ENABLE_LO_PROGRAM_CREATION=ON \
1717
-DDPCTL_BUILD_CAPI_TESTS=ON \
1818
-DDPCTL_GENERATE_COVERAGE=ON \
1919
..

dpctl-capi/tests/CMakeLists.txt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,12 @@ if(DPCTL_GENERATE_COVERAGE)
3535
list(REMOVE_ITEM
3636
dpctl_sources
3737
"${CMAKE_CURRENT_SOURCE_DIR}/../source/dpctl_vector_templ.cpp"
38+
"${CMAKE_CURRENT_SOURCE_DIR}/../source/dpcpp_kernels.cpp"
3839
)
3940

4041
# Add profiling flags
4142
set(CMAKE_CXX_FLAGS
42-
"${CMAKE_CXX_FLAGS} -fprofile-instr-generate -fcoverage-mapping"
43+
"${CMAKE_CXX_FLAGS} -fprofile-instr-generate -fcoverage-mapping -DDPCTL_COVERAGE"
4344
)
4445

4546
# Add all dpctl sources into a single executable so that we can run coverage
@@ -89,13 +90,18 @@ if(DPCTL_GENERATE_COVERAGE)
8990
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
9091
)
9192
else()
93+
add_library(dpcpp_kernels
94+
STATIC
95+
${CMAKE_CURRENT_SOURCE_DIR}/dpcpp_kernels.cpp
96+
)
9297
file(GLOB_RECURSE sources ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
9398
add_executable(dpctl_c_api_tests EXCLUDE_FROM_ALL ${sources})
9499
target_link_libraries(dpctl_c_api_tests
95100
${CMAKE_THREAD_LIBS_INIT}
96101
GTest::GTest
97102
DPCTLSyclInterface
98103
${LEVEL_ZERO_LIBRARY}
104+
dpcpp_kernels
99105
)
100106
endif()
101107

dpctl-capi/tests/dpcpp_kernels.cpp

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
#include "dpcpp_kernels.hpp"
2+
#include <CL/sycl.hpp>
3+
#include <cstddef>
4+
5+
template sycl::kernel
6+
dpcpp_kernels::get_fill_kernel<int>(sycl::queue &, size_t, int *, int);
7+
8+
template sycl::kernel
9+
dpcpp_kernels::get_fill_kernel<unsigned int>(sycl::queue &,
10+
size_t,
11+
unsigned int *,
12+
unsigned int);
13+
14+
template sycl::kernel
15+
dpcpp_kernels::get_fill_kernel<double>(sycl::queue &, size_t, double *, double);
16+
17+
template sycl::kernel
18+
dpcpp_kernels::get_fill_kernel<float>(sycl::queue &, size_t, float *, float);
19+
20+
template sycl::kernel
21+
dpcpp_kernels::get_range_kernel<int>(sycl::queue &, size_t, int *);
22+
23+
template sycl::kernel
24+
dpcpp_kernels::get_range_kernel<unsigned int>(sycl::queue &,
25+
size_t,
26+
unsigned int *);
27+
28+
template sycl::kernel
29+
dpcpp_kernels::get_range_kernel<float>(sycl::queue &, size_t, float *);
30+
31+
template sycl::kernel
32+
dpcpp_kernels::get_range_kernel<double>(sycl::queue &, size_t, double *);
33+
34+
template sycl::kernel dpcpp_kernels::get_mad_kernel<int, int>(sycl::queue &,
35+
size_t,
36+
int *,
37+
int *,
38+
int *,
39+
int);
40+
41+
template sycl::kernel
42+
dpcpp_kernels::get_mad_kernel<unsigned int, unsigned int>(sycl::queue &,
43+
size_t,
44+
unsigned int *,
45+
unsigned int *,
46+
unsigned int *,
47+
unsigned int);
48+
49+
template sycl::kernel dpcpp_kernels::get_local_sort_kernel<int>(sycl::queue &,
50+
size_t,
51+
size_t,
52+
int *,
53+
size_t);
54+
55+
template sycl::kernel
56+
dpcpp_kernels::get_local_count_exceedance_kernel<int>(sycl::queue &,
57+
size_t,
58+
size_t,
59+
int *,
60+
size_t,
61+
int,
62+
int *);
63+
64+
template sycl::kernel
65+
dpcpp_kernels::get_local_count_exceedance_kernel<unsigned int>(sycl::queue &,
66+
size_t,
67+
size_t,
68+
unsigned int *,
69+
size_t,
70+
unsigned int,
71+
int *);
72+
73+
template sycl::kernel
74+
dpcpp_kernels::get_local_count_exceedance_kernel<float>(sycl::queue &,
75+
size_t,
76+
size_t,
77+
float *,
78+
size_t,
79+
float,
80+
int *);
81+
82+
template sycl::kernel
83+
dpcpp_kernels::get_local_count_exceedance_kernel<double>(sycl::queue &,
84+
size_t,
85+
size_t,
86+
double *,
87+
size_t,
88+
double,
89+
int *);

0 commit comments

Comments
 (0)