diff --git a/clang/examples/DPCT/Runtime/cudaEventRecordWithFlags.cu b/clang/examples/DPCT/Runtime/cudaEventRecordWithFlags.cu new file mode 100644 index 000000000000..501a9f738bf4 --- /dev/null +++ b/clang/examples/DPCT/Runtime/cudaEventRecordWithFlags.cu @@ -0,0 +1,8 @@ +// Option: --enable-profiling + +void test(cudaEvent_t event, cudaStream_t stream) { + // Start + cudaEventRecordWithFlags(event /*cudaEvent_t*/, stream /*cudaStream_t*/, + cudaEventRecordDefault /*unsigned int*/); + // End +} diff --git a/clang/lib/DPCT/DPCT.cpp b/clang/lib/DPCT/DPCT.cpp index 2f06c278c1ea..3d4df482bc8f 100644 --- a/clang/lib/DPCT/DPCT.cpp +++ b/clang/lib/DPCT/DPCT.cpp @@ -1072,6 +1072,8 @@ int runDPCT(int argc, const char **argv) { Experimentals.addValue(ExperimentalFeatures::Exp_NonUniformGroups); } else if (Option == "--no-dry-pattern") { NoDRYPattern.setValue(true); + } else if (Option == "--enable-profiling") { + EnablepProfiling.setValue(true); } // Need add more option. } diff --git a/clang/test/dpct/query_api_mapping/Runtime/test.cu b/clang/test/dpct/query_api_mapping/Runtime/test.cu index 1664739882ab..6db94acbb8a7 100644 --- a/clang/test/dpct/query_api_mapping/Runtime/test.cu +++ b/clang/test/dpct/query_api_mapping/Runtime/test.cu @@ -520,8 +520,6 @@ // CUDARUNTIMEGETVERSION-NEXT: Is migrated to: // CUDARUNTIMEGETVERSION-NEXT: *pi = dpct::get_major_version(dpct::get_current_device()); - - // RUN: dpct --cuda-include-path="%cuda-path/include" -query-api-mapping=cudaMemcpy3DPeer | FileCheck %s -check-prefix=CUDAMEMCPY3DPEER // CUDAMEMCPY3DPEER: CUDA API: // CUDAMEMCPY3DPEER-NEXT: cudaMemcpy3DPeer(p/*const cudaMemcpy3DPeerParms**/); @@ -557,3 +555,9 @@ // CUDAPROFILERSTOP-NEXT: cudaProfilerStop(); // CUDAPROFILERSTOP-NEXT: The API is Removed. // CUDAPROFILERSTOP-EMPTY: +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cudaEventRecordWithFlags | FileCheck %s -check-prefix=cudaEventRecordWithFlags +// cudaEventRecordWithFlags: CUDA API: +// cudaEventRecordWithFlags-NEXT: cudaEventRecordWithFlags(event /*cudaEvent_t*/, stream /*cudaStream_t*/, +// cudaEventRecordWithFlags-NEXT: cudaEventRecordDefault /*unsigned int*/); +// cudaEventRecordWithFlags-NEXT: Is migrated to (with the option --enable-profiling): +// cudaEventRecordWithFlags-NEXT: dpct::sync_barrier(event /*cudaEvent_t*/, stream /*unsigned int*/); diff --git a/clang/test/dpct/query_api_mapping/test_all.cu b/clang/test/dpct/query_api_mapping/test_all.cu index 6352b08ca822..d1af2a07f629 100644 --- a/clang/test/dpct/query_api_mapping/test_all.cu +++ b/clang/test/dpct/query_api_mapping/test_all.cu @@ -1447,6 +1447,7 @@ // CHECK-NEXT: cudaEventElapsedTime // CHECK-NEXT: cudaEventQuery // CHECK-NEXT: cudaEventRecord +// CHECK-NEXT: cudaEventRecordWithFlags // CHECK-NEXT: cudaEventSynchronize // CHECK-NEXT: cudaExternalMemoryGetMappedBuffer // CHECK-NEXT: cudaExternalMemoryGetMappedMipmappedArray