|
10 | 10 | cudaError_t _result = x; \ |
11 | 11 | } while (0) |
12 | 12 |
|
| 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 | + |
13 | 31 | int main() { |
14 | 32 | // CHECK: dpct::experimental::command_graph_ptr graph; |
15 | 33 | // CHECK-NEXT: dpct::experimental::command_graph_ptr *graph2; |
@@ -70,6 +88,26 @@ int main() { |
70 | 88 | // CHECK: dpct::experimental::add_empty_node(&node, graph, node10, 1); |
71 | 89 | cudaGraphAddEmptyNode(&node, graph, node10, 1); |
72 | 90 |
|
| 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 | + |
73 | 111 | size_t numNodes; |
74 | 112 |
|
75 | 113 | // CHECK: dpct::experimental::get_nodes(graph, node4, &numNodes); |
@@ -126,10 +164,14 @@ int main() { |
126 | 164 | // CHECK: CUDA_CHECK_THROW(DPCT_CHECK_ERROR(dpct::experimental::update(execGraph, graph, &updateResult))); |
127 | 165 | CUDA_CHECK_THROW(cudaGraphExecUpdate(execGraph, graph, &updateResult)); |
128 | 166 |
|
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 | + } |
133 | 175 | #endif |
134 | 176 |
|
135 | 177 | // CHECK: sycl::ext::oneapi::experimental::node_type nodeType; |
|
0 commit comments