I recently incorporated the NVML library to my game engine. NVML let's you interface with and pull interesting data such as temperature, GPU usage, fan speed and GPU speed from your Nvidia graphics card. As a side project, I wrote these little programs which could be helpful to people running an enviroment such as a GPU based render farm or a gaming room.
What it does
Zaph Monitor is a GUI based program which shows a visual representation of the GPUs in your environment. On the display you will see the macine's hostname, the GPU temperature and the GPU usage percentage.
(Future versions will show more data and perhaps allow you to change the GPU speed)
How to use it
Setting the system up is very simple. Copy the folder you download from below to the machine which will be monitoring your GPUs and to the machines you wish to monitor. The monitoring computer needs to support OpenGL 3.2 (this is running off my game engine after all).
on your monitoring machine. On the client you wish to monitor launch ZaphAgent
with an argument telling the agent where the monitor is located.
Type in the IP address of the machine running ZaphMonitor
or type the hostname of your monitor:
The monitor will pick up any agents and display them on the screen. Agents are currently set to update their GPU stats every 2 seconds. Agents which stop updating will be removed after 8 seconds.
On Zaph Monitor, use the W A S D
keys to scroll around the displayed GPU environment.
The ZaphAgents are supported on Windows and Linux. Currently the Zaph Monitor only runs on Windows. (Linux version imminent!)
Both the Zaph Monitor and Zaph Agent are written in C++ and use my own time, text, and UDP networking libraries. The Zaph Monitor use my game engine for the display.
The Zaph Agent is less than 20kb on disk.
The Zaph Monitor is around 140kb on disk but does use some files in the folder structure.