Why CUPTI_AutoRange cannot recognize range

Hi,

I am learning range profiling for Cupti and trying to use CUPTI-AutoRange mode, but the output shows that I cannot recognize ranges at all.

The code I am learning includes autorange and range_defiling from samples in Cupti, as well as GPU Performance Profiting using Range Profiler API in tutorials. However, I have tried each code and found that in CUPTI Autorange mode, the output Total num of Ranges is all 0. I don’t know where the problem lies

My CUDA version is 12.6

outputs:

Starting Range Profiling
Compute Capability of Device: 8.9
Num of Passes: 1
Range Mode: auto
Replay Mode: kernel
Total num of Ranges: 0

Result verification passed.

Please give me guidance, thank you very much

Can you try with latest version of CUDA? If not can you confirm if you are using CUDA 12.6 Update 2?

You can copy the code in Range Profiler Tutorial and give it a run.

Thank you for your reply. I have confirmed that my CUDA version is 12.6.3

(base) wtyang@super:/usr/local/cuda-12.6$ cat version.json
{
“cuda” : {
“name” : “CUDA SDK”,
“version” : “12.6.3”
},
“cuda_cccl” : {
“name” : “CUDA C++ Core Compute Libraries”,
“version” : “12.6.77”
},
“cuda_cudart” : {
“name” : “CUDA Runtime (cudart)”,
“version” : “12.6.77”
},
“cuda_cuobjdump” : {
“name” : “cuobjdump”,
“version” : “12.6.77”
},
“cuda_cupti” : {
“name” : “CUPTI”,
“version” : “12.6.80”
},
“cuda_cuxxfilt” : {
“name” : “CUDA cu++ filt”,
“version” : “12.6.77”
},
“cuda_demo_suite” : {
“name” : “CUDA Demo Suite”,
“version” : “12.6.77”
},
“cuda_gdb” : {
“name” : “CUDA GDB”,
“version” : “12.6.77”
},
“cuda_nsight” : {
“name” : “Nsight Eclipse Plugins”,
“version” : “12.6.77”
},
“cuda_nvcc” : {
“name” : “CUDA NVCC”,
“version” : “12.6.85”
},
“cuda_nvdisasm” : {
“name” : “CUDA nvdisasm”,
“version” : “12.6.77”
},
“cuda_nvml_dev” : {
“name” : “CUDA NVML Headers”,
“version” : “12.6.77”
},
“cuda_nvprof” : {
“name” : “CUDA nvprof”,
“version” : “12.6.80”
},
“cuda_nvprune” : {
“name” : “CUDA nvprune”,
“version” : “12.6.77”
},
“cuda_nvrtc” : {
“name” : “CUDA NVRTC”,
“version” : “12.6.85”
},
“cuda_nvtx” : {
“name” : “CUDA NVTX”,
“version” : “12.6.77”
},
“cuda_nvvp” : {
“name” : “CUDA NVVP”,
“version” : “12.6.80”
},
“cuda_opencl” : {
“name” : “CUDA OpenCL”,
“version” : “12.6.77”
},
“cuda_sanitizer_api” : {
“name” : “CUDA Compute Sanitizer API”,
“version” : “12.6.77”
},
“fabricmanager” : {
“name” : “Fabric Manager”,
“version” : “560.35.05”
},
“libcublas” : {
“name” : “CUDA cuBLAS”,
“version” : “12.6.4.1”
},
“libcufft” : {
“name” : “CUDA cuFFT”,
“version” : “11.3.0.4”
},
“libcufile” : {
“name” : “GPUDirect Storage (cufile)”,
“version” : “1.11.1.6”
},
“libcurand” : {
“name” : “CUDA cuRAND”,
“version” : “10.3.7.77”
},
“libcusolver” : {
“name” : “CUDA cuSOLVER”,
“version” : “11.7.1.2”
},
“libcusparse” : {
“name” : “CUDA cuSPARSE”,
“version” : “12.5.4.2”
},
“libnpp” : {
“name” : “CUDA NPP”,
“version” : “12.3.1.54”
},
“libnvfatbin” : {
“name” : “Fatbin interaction library”,
“version” : “12.6.77”
},
“libnvidia_nscq” : {
“name” : “NvSwitch Library”,
“version” : “560.35.05”
},
“libnvjitlink” : {
“name” : “JIT Linker Library”,
“version” : “12.6.85”
},
“libnvjpeg” : {
“name” : “CUDA nvJPEG”,
“version” : “12.3.3.54”
},
“libnvsdm” : {
“name” : “CUDA NVSDM”,
“version” : “560.35.05”
},
“nsight_compute” : {
“name” : “Nsight Compute”,
“version” : “2024.3.2.3”
},
“nsight_systems” : {
“name” : “Nsight Systems”,
“version” : “2024.5.1.113”
},
“nvidia_driver” : {
“name” : “NVIDIA Linux Driver”,
“version” : “560.35.05”
},
“nvidia_fs” : {
“name” : “NVIDIA file-system”,
“version” : “2.22.3”
}
}

Hi, The range profiling tutorial codes doesn’t have any error checks for CUDA or CUPTI APIs. You can check the return code for CUPTI profiling APIs, which might give some data points on why you are not seeing any profiling data.

Can you try running the code in privilege mode (sudo)?