@@ -21,10 +21,17 @@ auto constexpr AddEmH = R"===(
21
21
}
22
22
)===" ;
23
23
24
+ auto constexpr PlusEmH = R"===(
25
+ int PlusEm(int a, int b){
26
+ return a + b + 6;
27
+ }
28
+ )===" ;
29
+
24
30
// TODO: remove SYCL_EXTERNAL once it is no longer needed.
25
31
auto constexpr SYCLSource = R"===(
26
32
#include <sycl/sycl.hpp>
27
- #include "AddEm.h"
33
+ #include "intermediate/AddEm.h"
34
+ #include "intermediate/PlusEm.h"
28
35
29
36
// use extern "C" to avoid name mangling
30
37
extern "C" SYCL_EXTERNAL SYCL_EXT_ONEAPI_FUNCTION_PROPERTY((sycl::ext::oneapi::experimental::nd_range_kernel<1>))
@@ -45,7 +52,7 @@ void ff_templated(T *ptr) {
45
52
sycl::nd_item<1> Item = sycl::ext::oneapi::this_work_item::get_nd_item<1>();
46
53
47
54
sycl::id<1> GId = Item.get_global_id();
48
- ptr[GId.get(0)] = GId.get(0) + 39 ;
55
+ ptr[GId.get(0)] = PlusEm( GId.get(0), 38) ;
49
56
}
50
57
)===" ;
51
58
@@ -100,8 +107,8 @@ void test_1(sycl::queue &Queue, sycl::kernel &Kernel, int seed) {
100
107
Queue.wait ();
101
108
102
109
for (int i = 0 ; i < Range; i++) {
103
- std::cout << usmPtr[i] << " " ;
104
- assert (usmPtr[i] = i + seed);
110
+ std::cout << usmPtr[i] << " = " << (i + seed) << " " ;
111
+ assert (usmPtr[i] == i + seed);
105
112
}
106
113
std::cout << std::endl;
107
114
@@ -127,9 +134,11 @@ void test_build_and_run() {
127
134
}
128
135
129
136
// Create from source.
137
+ syclex::include_files incFiles{" intermediate/AddEm.h" , AddEmH};
138
+ incFiles.add (" intermediate/PlusEm.h" , PlusEmH);
130
139
source_kb kbSrc = syclex::create_kernel_bundle_from_source (
131
140
ctx, syclex::source_language::sycl, SYCLSource,
132
- syclex::properties{syclex::include_files{ " AddEm.h " , AddEmH} });
141
+ syclex::properties{incFiles });
133
142
134
143
// Double check kernel_bundle.get_source() / get_backend().
135
144
sycl::context ctxRes = kbSrc.get_context ();
@@ -167,8 +176,8 @@ void test_build_and_run() {
167
176
// clang-format on
168
177
169
178
// Test the kernels.
170
- test_1 (q, k, 37 + 5 ); // AddEm will add 5 more.
171
- test_1 (q, k2, 39 );
179
+ test_1 (q, k, 37 + 5 ); // ff_cp seeds 37. AddEm will add 5 more.
180
+ test_1 (q, k2, 38 + 6 ); // ff_templated seeds 38. PlusEm adds 6 more.
172
181
}
173
182
174
183
void test_error () {
0 commit comments