Just a quick blog to highlight a new community tool written as a hobby project by one of our GRID Solution Architects, Jeremy Main. As a community tool this isn’t supported by NVIDIA and is provided as is. The advantages of releasing this in this way is that Jeremy has provided the tool on github where partners, customers and the community can access it, discuss enhancements and report bugs.
We learn a great deal from such projects about what monitoring features and tools should be added to the main product as fully supported functionality. An innovation ecosystem!
Jeremy’s GPUProfiler 1.0 release is now uploaded on github, here:
- The tool uses NVAPI (as available to others developing monitoring tools and products) for broad compatibility.
- Capture system environment details (CPU, RAM, GPU, VBIOS, Driver, most basic environment details needed to debug/understand an environment).
- Capture the following performance metrics without using WMI
- CPU Utilization
- Memory Utilization
- GPU Utilization
- GPU Memory Utilization
- User definable sample interval and duration
- Profile trace data can be saved, loaded and shared
- Data can be exported to CSV format at any time (capture or post-capture)
Jeremy would appreciate any feedback on the tool, I believe next on his list to do is a detailed user guide to demonstrate how to use it. This isn’t intended to be a full blown product but something that Jeremy felt there was a need for with some of the customers he works with deploying vGPU, GRID and Quadro products; he says “It is not a programmer profiler tool by any means, but a user planning / educational tool.”.
At E2EVC in Las Vegas, there was a lot of interest when the tool was previewed (see here). It’s also worth checking out a talk Jeremy did at GTC 2016 to understand where the drive for this project came from, see: S6504 – A Data-Driven Methodology for NVIDIA GRID™ vGPU™ Sizing (Session Video Link).
Jeremy is quite interesting as in a past-life he worked on developing CAD projects against key CAD application component APIs such as Siemens PLM’s Parasolid kernel and as such understands the architecture of CAD / 3D applications down to the bare building blocks and how real users and workloads perform on hardware.
You can follow Jeremy on twitter to find out about updates and new releases @_JeremyMain.