Search code examples
cudanvprofnvvp

How to specify nvprof "devices" option for Nvidia Visual Profiler?


CUDA Toolkit 9.0, Windows 10, GTX 1060 & NVS 315, 385.54 Driver version.

Nvidia Visual Profiler always fails to profile, returning the following two warning messages:

"Warning: This version of nvprof doesn't support the underlying device, GPU profiling skipped"

"Warning: No CUDA application was profiled, exiting"

Note my machine has two GPUs installed. Physically removing the NVS 315 fixes the problem; Visual Profiler works. Disabling the NVS 315 via Device Manager also works. I only want to profile the GTX 1060, but I want to do so with the NVS 315 installed, and not disabled.

Using nvprof and specifying the "--devices" option works:

C:\>nvprof --devices 0 bandwidthTest.exe

Whereas

C:\>nvprof --devices 1 bandwidthTest.exe
======== Warning: This version of nvprof doesn't support the underlying device, GPU profiling skipped

Exporting the results from nvprof, then opening in Visual Profiler works:

C:\>nvprof --devices 0 --export-profile results.nvvp bandwidthTest.exe

But I'm lazy and don't want to repeat this a hundred times every time I profile.

So it seems there is something about the NVS 315 that is incompatible. Furthermore, specifying something like "--devices 0" to Visual Profiler (nvvp) would seem to be a solution. If only I knew how.


Solution

  • The following is a work-around. A better solution would be an option to Visual Profiler (nvvp).

    Nvidia Control Panel (ver 8.1.970.0), Left Panel "Workstation" Task, "Manage GPU Utilization"

    Only the NVS 315 is listed here. Under "Usage Mode", select "Dedicate to graphics tasks".

    I can now profile using Visual Profiler.