I use my GPU mostly for scientific computing. I've noticed that the usage/temperature recently is still high, even when the science is suspended. I strongly suspect something is using my GPU (other than my OS, obviously).

For a question like this, it would help if you included your OS (I'm assuming Windows?) both in your question text and in the tags so that answers can take this into account.
–
Amos M. CarpenterJan 19 '12 at 3:47

1 Answer
1

With the advent of GPGPU and its ease of use many modern programs would want to use it, including most browsers.

Process Explorer from SysInternals is a handy tool to track down GPU utilization statistics by various processes. It shows

GPU Usage
GPU Committed Bytes
GPU System Byes
GPU Dedicated Bytes

This should be a good place to start hunting the rogue(not really) processes eating up your GPU.

The GPU stats need to be enabled in Process Explorer -> Select Columns.

Note: This will only work with Windows Vista and above due to following

Microsoft redesigned its graphics driver model with Windows Vista and beyond to better support multiple graphics applications running simultaneously. Understanding this model is critical for understanding graphics performance on Windows. First, the OS associates each D3D device in each process with its own graphics context. Each API call sent to the context is batched in a list of commands for that context. When enough commands are built up, or for whatever reason the API feels it needs to flush the current command buffer, the D3D API dispatches a command buffer to the graphics kernel. These command buffers are not processed immediately but are instead stored in a queue for each context. The graphics card has a queue of tasks it is working on. Periodically, when there is room the graphics scheduler will wake up and add a task from one of the contexts with work in its context-specific command queue onto the graphics card work queue. It tries to do this in as fair a manner as possible while avoiding excessive resource thrashing, similar to a CPU scheduler. GPUView will allow us to see, as a function of time, the state of all the context-specific GPU queues as well as the queue for the graphics card. The graphics card is always working on the object at the front of its queue (or is idle if its queue is empty.) Note that GPUView is designed explicitly for this driver model and will not run on Windows XP.