How can I identify which processes are using the GPU?

Is there any way to find out which process is using the GPU for intensive calculations? (OpenCL, CUDA, etc? Primarily OpenCL?)

e.g. if you run an OpenCL-powered video transcoder, you'll see nothing in your task manager that tells your GPU is burning through data at a ridiculous rate - though your fans will have kicked into overdrive.

If the reply is driver-specific, I am interested in nVidia primarily.


Solution 1:

Turns out Sysinternals' Process Explorer can do this (of course it can, there's nothing it can't do, apparently!).

Process Explorer GPU load by process

Solution 2:

Process Hacker, the open source alternative to Process Explorer, also shows the GPU usage.

Press CTRL+I to get the system information Window and click on the GPU Tab, so get a graph with the GPU usage.

enter image description here