Skip to content

Commit 13f08ea

Browse files
Add test for cudaKernelNodeParams
Signed-off-by: Daiyaan Ahmed <daiyaan.ahmed@intel.com>
1 parent be0f981 commit 13f08ea

1 file changed

Lines changed: 46 additions & 4 deletions

File tree

clang/test/dpct/cudaGraph_test.cu

Lines changed: 46 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,24 @@
1010
cudaError_t _result = x; \
1111
} while (0)
1212

13+
__global__ void myKernel(int *data) {
14+
int idx = blockIdx.x * blockDim.x + threadIdx.x;
15+
if (idx < 10) {
16+
data[idx] += 1;
17+
}
18+
}
19+
20+
// CHECK: void myKernel_wrapper(int* data) {
21+
// CHECK: sycl::queue queue = *dpct::kernel_launcher::_que;
22+
// CHECK: unsigned int localMemSize = dpct::kernel_launcher::_local_mem_size;
23+
// CHECK: sycl::nd_range<3> nr = dpct::kernel_launcher::_nr;
24+
// CHECK: queue.parallel_for(
25+
// CHECK: nr,
26+
// CHECK: [=](sycl::nd_item<3> item_ct1) {
27+
// CHECK: myKernel(data);
28+
// CHECK: });
29+
// CHECK: }
30+
1331
int main() {
1432
// CHECK: dpct::experimental::command_graph_ptr graph;
1533
// CHECK-NEXT: dpct::experimental::command_graph_ptr *graph2;
@@ -70,6 +88,26 @@ int main() {
7088
// CHECK: dpct::experimental::add_empty_node(&node, graph, node10, 1);
7189
cudaGraphAddEmptyNode(&node, graph, node10, 1);
7290

91+
// CHECK: dpct::experimental::kernel_node_params params = {};
92+
// CHECK-NEXT: params.set_func((void *)dpct::wrapper_register(&myKernel_wrapper).get());
93+
// CHECK-NEXT: params.set_block_dim(dpct::dim3(10));
94+
// CHECK-NEXT: params.set_grid_dim(dpct::dim3(1));
95+
// CHECK-NEXT: params.set_shared_mem_bytes(0);
96+
// CHECK-NEXT: void *kernelArgs[] = {};
97+
// CHECK-NEXT: params.set_kernel_params(kernelArgs);
98+
cudaKernelNodeParams params = {};
99+
params.func = (void *)myKernel;
100+
params.blockDim = dim3(10);
101+
params.gridDim = dim3(1);
102+
params.sharedMemBytes = 0;
103+
void *kernelArgs[] = {};
104+
params.kernelParams = kernelArgs;
105+
106+
// CHECK: void *function = (void *)dpct::wrapper_register(myKernel_wrapper).get();
107+
// CHECK-NEXT: params.set_func(function);
108+
void *function = (void *)myKernel;
109+
params.func = function;
110+
73111
size_t numNodes;
74112

75113
// CHECK: dpct::experimental::get_nodes(graph, node4, &numNodes);
@@ -126,10 +164,14 @@ int main() {
126164
// CHECK: CUDA_CHECK_THROW(DPCT_CHECK_ERROR(dpct::experimental::update(execGraph, graph, &updateResult)));
127165
CUDA_CHECK_THROW(cudaGraphExecUpdate(execGraph, graph, &updateResult));
128166

129-
// CHECK: if(updateResult == 1){}
130-
// CHECK-NEXT: if(updateResult == 0){}
131-
if(updateResult.result == cudaGraphExecUpdateSuccess){}
132-
if(updateResult.result == cudaGraphExecUpdateErrorTopologyChanged){}
167+
// CHECK: if(updateResult == 1) {
168+
// CHECK-NEXT: }
169+
// CHECK-NEXT: if(updateResult == 0) {
170+
// CHECK-NEXT: }
171+
if (updateResult.result == cudaGraphExecUpdateSuccess) {
172+
}
173+
if (updateResult.result == cudaGraphExecUpdateErrorTopologyChanged) {
174+
}
133175
#endif
134176

135177
// CHECK: sycl::ext::oneapi::experimental::node_type nodeType;

0 commit comments

Comments
 (0)