Skip to content

Commit f982949

Browse files
authored
[SYCLomatic] Add query-api-mapping for 7 Runtime APIs: (#2919)
Signed-off-by: Ziran Zhang <ziran.zhang@intel.com>
1 parent 907ec65 commit f982949

File tree

10 files changed

+96
-0
lines changed

10 files changed

+96
-0
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
void test(cudaStream_t stream, cudaHostFn_t fn, void*userData) {
2+
// Start
3+
cudaLaunchHostFunc(stream/*cudaStream_t*/, fn/*cudaHostFn_t*/, userData/*void**/);
4+
// End
5+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
void test(const cudaMemcpy3DPeerParms*p) {
2+
// Start
3+
cudaMemcpy3DPeer(p/*const cudaMemcpy3DPeerParms**/);
4+
// End
5+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
void test(const cudaMemcpy3DPeerParms*p, cudaStream_t stream) {
2+
// Start
3+
cudaMemcpy3DPeerAsync(p/*const cudaMemcpy3DPeerParms**/, stream/*cudaStream_t*/);
4+
// End
5+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
void test(void*dst, int dstDevice, const void*src, int srcDevice, size_t count) {
2+
// Start
3+
cudaMemcpyPeer(dst/*void**/, dstDevice/*int*/, src/*const void**/, srcDevice/*int*/, count/*size_t*/);
4+
// End
5+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
void test(void*dst, int dstDevice, const void*src, int srcDevice, size_t count, cudaStream_t stream) {
2+
// Start
3+
cudaMemcpyPeerAsync(dst/*void**/, dstDevice/*int*/, src/*const void**/, srcDevice/*int*/, count/*size_t*/, stream/*cudaStream_t*/);
4+
// End
5+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#include "cuda_profiler_api.h"
2+
3+
void test() {
4+
// Start
5+
cudaProfilerStart();
6+
// End
7+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#include "cuda_profiler_api.h"
2+
3+
void test() {
4+
// Start
5+
cudaProfilerStop();
6+
// End
7+
}

clang/test/dpct/query_api_mapping/Runtime/test-after10.cu

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,15 @@
2121
// CUDASTREAMISCAPTURING-NEXT: ps /* enum cudaStreamCaptureStatus **/);
2222
// CUDASTREAMISCAPTURING-NEXT: Is migrated to (with the option --use-experimental-features=graph):
2323
// CUDASTREAMISCAPTURING-NEXT: *ps = s->ext_oneapi_get_state();
24+
25+
26+
27+
// RUN: dpct --cuda-include-path="%cuda-path/include" -query-api-mapping=cudaLaunchHostFunc | FileCheck %s -check-prefix=CUDALAUNCHHOSTFUNC
28+
// CUDALAUNCHHOSTFUNC: CUDA API:
29+
// CUDALAUNCHHOSTFUNC-NEXT: cudaLaunchHostFunc(stream/*cudaStream_t*/, fn/*cudaHostFn_t*/, userData/*void**/);
30+
// CUDALAUNCHHOSTFUNC-NEXT: Is migrated to:
31+
// CUDALAUNCHHOSTFUNC-NEXT: stream->submit([&](sycl::handler &cgh) {
32+
// CUDALAUNCHHOSTFUNC-NEXT: cgh.host_task([=](){
33+
// CUDALAUNCHHOSTFUNC-NEXT: fn(userData);
34+
// CUDALAUNCHHOSTFUNC-NEXT: });
35+
// CUDALAUNCHHOSTFUNC-NEXT: });

clang/test/dpct/query_api_mapping/Runtime/test.cu

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -519,3 +519,41 @@
519519
// CUDARUNTIMEGETVERSION-NEXT: cudaRuntimeGetVersion(pi /*int **/);
520520
// CUDARUNTIMEGETVERSION-NEXT: Is migrated to:
521521
// CUDARUNTIMEGETVERSION-NEXT: *pi = dpct::get_major_version(dpct::get_current_device());
522+
523+
524+
525+
// RUN: dpct --cuda-include-path="%cuda-path/include" -query-api-mapping=cudaMemcpy3DPeer | FileCheck %s -check-prefix=CUDAMEMCPY3DPEER
526+
// CUDAMEMCPY3DPEER: CUDA API:
527+
// CUDAMEMCPY3DPEER-NEXT: cudaMemcpy3DPeer(p/*const cudaMemcpy3DPeerParms**/);
528+
// CUDAMEMCPY3DPEER-NEXT: Is migrated to:
529+
// CUDAMEMCPY3DPEER-NEXT: dpct::dpct_memcpy(*p/*const cudaMemcpy3DPeerParms**/);
530+
531+
// RUN: dpct --cuda-include-path="%cuda-path/include" -query-api-mapping=cudaMemcpy3DPeerAsync | FileCheck %s -check-prefix=CUDAMEMCPY3DPEERASYNC
532+
// CUDAMEMCPY3DPEERASYNC: CUDA API:
533+
// CUDAMEMCPY3DPEERASYNC-NEXT: cudaMemcpy3DPeerAsync(p/*const cudaMemcpy3DPeerParms**/, stream/*cudaStream_t*/);
534+
// CUDAMEMCPY3DPEERASYNC-NEXT: Is migrated to:
535+
// CUDAMEMCPY3DPEERASYNC-NEXT: dpct::async_dpct_memcpy(*p/*const cudaMemcpy3DPeerParms**/, *stream/*cudaStream_t*/);
536+
537+
// RUN: dpct --cuda-include-path="%cuda-path/include" -query-api-mapping=cudaMemcpyPeer | FileCheck %s -check-prefix=CUDAMEMCPYPEER
538+
// CUDAMEMCPYPEER: CUDA API:
539+
// CUDAMEMCPYPEER-NEXT: cudaMemcpyPeer(dst/*void**/, dstDevice/*int*/, src/*const void**/, srcDevice/*int*/, count/*size_t*/);
540+
// CUDAMEMCPYPEER-NEXT: Is migrated to:
541+
// CUDAMEMCPYPEER-NEXT: dpct::dpct_memcpy(dst/*void**/, dstDevice/*int*/, src/*const void**/, srcDevice/*int*/, count/*size_t*/);
542+
543+
// RUN: dpct --cuda-include-path="%cuda-path/include" -query-api-mapping=cudaMemcpyPeerAsync | FileCheck %s -check-prefix=CUDAMEMCPYPEERASYNC
544+
// CUDAMEMCPYPEERASYNC: CUDA API:
545+
// CUDAMEMCPYPEERASYNC-NEXT: cudaMemcpyPeerAsync(dst/*void**/, dstDevice/*int*/, src/*const void**/, srcDevice/*int*/, count/*size_t*/, stream/*cudaStream_t*/);
546+
// CUDAMEMCPYPEERASYNC-NEXT: Is migrated to:
547+
// CUDAMEMCPYPEERASYNC-NEXT: dpct::async_dpct_memcpy(dst/*void**/, dstDevice/*int*/, src/*const void**/, srcDevice/*int*/, count/*size_t*/, *stream/*cudaStream_t*/);
548+
549+
// RUN: dpct --cuda-include-path="%cuda-path/include" -query-api-mapping=cudaProfilerStart | FileCheck %s -check-prefix=CUDAPROFILERSTART
550+
// CUDAPROFILERSTART: CUDA API:
551+
// CUDAPROFILERSTART-NEXT: cudaProfilerStart();
552+
// CUDAPROFILERSTART-NEXT: The API is Removed.
553+
// CUDAPROFILERSTART-EMPTY:
554+
555+
// RUN: dpct --cuda-include-path="%cuda-path/include" -query-api-mapping=cudaProfilerStop | FileCheck %s -check-prefix=CUDAPROFILERSTOP
556+
// CUDAPROFILERSTOP: CUDA API:
557+
// CUDAPROFILERSTOP-NEXT: cudaProfilerStop();
558+
// CUDAPROFILERSTOP-NEXT: The API is Removed.
559+
// CUDAPROFILERSTOP-EMPTY:

clang/test/dpct/query_api_mapping/test_all.cu

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1489,6 +1489,7 @@
14891489
// CHECK-NEXT: cudaIpcGetMemHandle
14901490
// CHECK-NEXT: cudaIpcOpenMemHandle
14911491
// CHECK-NEXT: cudaLaunchCooperativeKernel
1492+
// CHECK-NEXT: cudaLaunchHostFunc
14921493
// CHECK-NEXT: cudaLaunchKernel
14931494
// CHECK-NEXT: cudaMalloc
14941495
// CHECK-NEXT: cudaMalloc3D
@@ -1511,12 +1512,16 @@
15111512
// CHECK-NEXT: cudaMemcpy2DToArrayAsync
15121513
// CHECK-NEXT: cudaMemcpy3D
15131514
// CHECK-NEXT: cudaMemcpy3DAsync
1515+
// CHECK-NEXT: cudaMemcpy3DPeer
1516+
// CHECK-NEXT: cudaMemcpy3DPeerAsync
15141517
// CHECK-NEXT: cudaMemcpyArrayToArray
15151518
// CHECK-NEXT: cudaMemcpyAsync
15161519
// CHECK-NEXT: cudaMemcpyFromArray
15171520
// CHECK-NEXT: cudaMemcpyFromArrayAsync
15181521
// CHECK-NEXT: cudaMemcpyFromSymbol
15191522
// CHECK-NEXT: cudaMemcpyFromSymbolAsync
1523+
// CHECK-NEXT: cudaMemcpyPeer
1524+
// CHECK-NEXT: cudaMemcpyPeerAsync
15201525
// CHECK-NEXT: cudaMemcpyToArray
15211526
// CHECK-NEXT: cudaMemcpyToArrayAsync
15221527
// CHECK-NEXT: cudaMemcpyToSymbol
@@ -1530,6 +1535,8 @@
15301535
// CHECK-NEXT: cudaOccupancyMaxActiveBlocksPerMultiprocessor
15311536
// CHECK-NEXT: cudaPeekAtLastError
15321537
// CHECK-NEXT: cudaPointerGetAttributes
1538+
// CHECK-NEXT: cudaProfilerStart
1539+
// CHECK-NEXT: cudaProfilerStop
15331540
// CHECK-NEXT: cudaRuntimeGetVersion
15341541
// CHECK-NEXT: cudaSetDevice
15351542
// CHECK-NEXT: cudaSetDeviceFlags

0 commit comments

Comments
 (0)