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).
Launch
ZaphMonitor on your monitoring machine. On the client you wish to monitor launch
ZaphAgent with an argument telling the agent where the monitor is located.
For Example:
Type in the IP address of the machine running
ZaphMonitor:
ZaphAgent 192.168.0.23
or type the hostname of your monitor:
ZaphAgent mycomputer
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.
Technical details
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.
Download
ZaphMonitor.zip