Recommended profiling tools?

Hi Everyone,

I want to improve my skills on profiling openacc programs. So far I 'm using Nsight VSE for this task, but it’s kind of awkward, as I need to compile the code using from PGI bash, and then go to visual studio, create an useless empty project and profile the previously created executable. My question is, is there a better way to profile the OpenACC code ?

I learned that there’re also nvprof, visual profiler, nsight compute, nsight systems. What’s the difference between them ? and which one should I choose ?

Thanks!

I typically am running on remote Linux clusters so need to use the command line interfaces to the profiling tools, save the profile to a file, then open the profile in the GUI for inspection. I’m not a Windows users myself but would think the same process would work there as well.

I learned that there’re also nvprof, visual profiler, nsight compute, nsight systems. What’s the difference between them ? and which one should I choose ?

Nvprof is the older profiler and is being superseded by Nsight Systems and Nsight Compute. Compute is best for understanding the low level performance of individual kernels. Systems is best to see the high level profile for a complete run and can be visualized over a timeline graph.

Hi Mat,

Thanks for your information. Can I ask what command line profiler you are using ? I only know nvprof can be run on command line interface and the results can be open in visual profiler. But you said they’re going to be deprecated. Thanks,

I use both Nsight-Systems and Nsight-Compute’s command line interfaces depending on what type of profile I’m generating. .

1 Like