From 073bb0acf22fcbcef5a2b703a5f981817b53302a Mon Sep 17 00:00:00 2001 From: Alexander Weinrauch Date: Tue, 5 Nov 2024 15:07:21 +0000 Subject: [PATCH] Fix unhandled profile event in RoctracerProfiler --- .../csrc/lib/Profiler/RocTracer/RoctracerProfiler.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/third_party/proton/csrc/lib/Profiler/RocTracer/RoctracerProfiler.cpp b/third_party/proton/csrc/lib/Profiler/RocTracer/RoctracerProfiler.cpp index adc908d2cd96..ca93678e1c82 100644 --- a/third_party/proton/csrc/lib/Profiler/RocTracer/RoctracerProfiler.cpp +++ b/third_party/proton/csrc/lib/Profiler/RocTracer/RoctracerProfiler.cpp @@ -74,6 +74,7 @@ std::shared_ptr convertActivityToMetric(const roctracer_record_t *activity) { std::shared_ptr metric; switch (activity->kind) { + case kHipVdiCommandTask: case kHipVdiCommandKernel: { if (activity->begin_ns < activity->end_ns) { metric = std::make_shared( @@ -135,7 +136,7 @@ void processActivity(RoctracerProfiler::CorrIdToExternIdMap &corrIdToExternId, const roctracer_record_t *record, bool isAPI, bool isGraph) { switch (record->kind) { - case 0x11F1: // Task - kernel enqueued by graph launch + case kHipVdiCommandTask: case kHipVdiCommandKernel: { processActivityKernel(corrIdToExternId, externId, dataSet, record, isAPI, isGraph); @@ -169,6 +170,7 @@ std::pair matchKernelCbId(uint32_t cbId) { case HIP_API_ID_hipModuleLaunchCooperativeKernel: case HIP_API_ID_hipModuleLaunchCooperativeKernelMultiDevice: case HIP_API_ID_hipGraphExecDestroy: + case HIP_API_ID_hipGraphInstantiateWithFlags: case HIP_API_ID_hipGraphInstantiate: { isRuntimeApi = true; break; @@ -300,6 +302,13 @@ void RoctracerProfiler::RoctracerProfilerPimpl::apiCallback( pImpl->StreamToCaptureCount[Stream]++; break; } + case HIP_API_ID_hipGraphInstantiateWithFlags: { + hipGraph_t Graph = data->args.hipGraphInstantiateWithFlags.graph; + hipGraphExec_t GraphExec = + *(data->args.hipGraphInstantiateWithFlags.pGraphExec); + pImpl->GraphExecToGraph[GraphExec] = Graph; + break; + } case HIP_API_ID_hipGraphInstantiate: { hipGraph_t Graph = data->args.hipGraphInstantiate.graph; hipGraphExec_t GraphExec = *(data->args.hipGraphInstantiate.pGraphExec);