When I trace the cuda API with the following code, why the GetTimestampCallback callback function will get a lot of cuda api like cudaFuncSetAttribute and cudaDeviceGetAttribute…?but my cuda application has never uses these cuda APIs. These unused cuda api are not collected when I trace the cuda API with nsight system tool.Can anyone answer my question?thanks
CUPTI_CALL(cuptiEnableDomain(1, subscriber_, CUPTI_CB_DOMAIN_RUNTIME_API));
CUDA APIs like cudaFuncSetAttribute, cudaDeviceGetAttribute etc might be called from other CUDA API internally to get/set various attributes. These calls are traced by CUPTI (and nvprof), but Nsight Systems avoids reporting these calls to reduce profiling overhead and to keep focus on the workload itself by only reporting the CUDA APIs directly invoked by the workload. I hope this answers your query.
Hi,I appreciate your replay.
Is there any way to filter it?
Because traced a lot of CUDA APIs like cudaFuncSetAttribute, cudaDeviceGetAttribute,
But I think it’s not a good way to filter it completely in the callback function.