Hello,
Is it applicable to call cuptiProfilerCounterDataImageInitializeto clear the counterDataImageto avoid maintaining previous records when reused? This functionality is not documented on the CUPTI Profiling API’s webpage. However, the call appears to have this functionality in extras/CUPTI/samples/profiling_injection/injection.cpp:
// Clear counterDataImage (otherwise it maintains previous records when it is reused)
CUpti_Profiler_CounterDataImage_Initialize_Params initializeParams = { CUpti_Profiler_CounterDataImage_Initialize_Params_STRUCT_SIZE };
initializeParams.pOptions = &(contextData.counterDataImageOptions);
initializeParams.sizeofCounterDataImageOptions = CUpti_Profiler_CounterDataImageOptions_STRUCT_SIZE;
initializeParams.counterDataImageSize = contextData.counterDataImage.size();
initializeParams.pCounterDataImage = contextData.counterDataImage.data();
CUPTI_API_CALL(cuptiProfilerCounterDataImageInitialize(&initializeParams));
Assuming the above functionality holds true, is it needed to callcuptiProfilerCounterDataImageInitializeScratchBufferdirectly afterwards as well to clear the scratch buffer?