Can't see the source code in NVVP

Hi,

I’m trying to identify the source of some bank conflicts in my code, and for that, I’m relying on NVVP. It accuses a low shared memory efficiency (about 20% for this kernel).

When I go to the unguided analysis option, in “Shared Memory Access Pattern” I can see many warnings with the ratio of Load/Store transactions per access much higher than the ideal but I can’t see the point in the source code where it happens. Above that, I see a box that says “No Source File Mapping”, which suggests that I should recompile with -lineinfo to enable source-file mappings. I’m already doing that.

Does anyone know how to fix this source-mapping issue?

I have a Tesla V100 and tested CUDA 10.2 and 11.3.

hi sir
Have you solve the issue . I am also facing similar issue
i am not able to see the hotspot and source code along with its path in the kernel profile in the unguided analysis in nvvp
the steps done were

  1. nvcc wrap_number_increased.cu -lineinfo -o wrap_number_increased
  2. nvprof -o wrap_number_increased.nvvp ./wrap_number_increased
  3. nvvp wrap_number_increased.nvvp

The code wrap_number_increased.cu is shown below

#include <cuda.h>
#include <stdio.h>
__global__ void test()
{

int i,j;
   for(i=0;i<10;i++)
        for(j=0;j<100;j++)
                {
//                      printf("Hello gpu\n");

                }

}

int main()
{
printf("Hello from the CPU\n");
test<<<2,32>>>();
cudaError_t err = cudaGetLastError();
if (err != cudaSuccess) {
    printf("CUDA Error: %s\n", cudaGetErrorString(err));
}
printf("next is cudaDeviceSynchronize()\n");
cudaDeviceSynchronize();
return 0;
}

In nvvp GUI at the timeline i have selected the function “test” then-> unguided analysis-> then select the some part of function test timeline → then selected the kernel profile- pc sampling
but it is saying

Unable to create source/assembly view for kernel Profile-PC sampling analysis.
As shown below


if you have resolve… then can you kindly guide me in resolving my issue as well
thanks

Hi,

By default nvprof collects tracing information if no profiling option is given. Please check result after using the command line option --analysis-metrics. This helps in collecting the profiling data which is needed for the guided/unguided analysis system backed into the Visual Profiler.
For collecting only PC Sampling information, use option --source-level-analysis pc_sampling.

Side note - Visual Profiler and nvprof will be deprecated in a future CUDA release. It is recommended to use tools NVIDIA Nsight Systems for GPU and CPU sampling and tracing and NVIDIA Nsight Compute for GPU kernel profiling.

1 Like

Hi,
Thanks you so much