Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
GPUProfiler was developed to assist in educating users about the system resource requirements when performing their daily work and contrast these results with the resource demands of benchmarks.
Actual Application Usage
It is not meant to be an exhaustive tool but rather a small and simple to use tool that does not require manual configuration and collects just enough information to present a meaningful overview of how the resources are consumed to better allocate sufficient resources before attempting to shift to a virtual environment.
The tool is named GPUProfiler because it captures a resource "profile" of the application from a GPU perspective over a duration where a user would perform their daily work to characterize what system resources are currently in most demand. This tool is not a "profiler" from a programmer's tool perspective.
GTC 2016 Presentation
GTC 2017 Presentation
[S7396 - Zen and the Art of vGPU Selection ] (https://gputechconf2017.smarteventscloud.com/connect/sessionDetail.ww?SESSION_ID=110301)
- Captures basic system information (CPU, memory, BIOS, OS, GPU, frame-buffer size, VBIOS, driver version)
- Collects the following metrics over a user defined period of time and sampling interval
- CPU utilization
- System memory utilization
- GPU utilization (in non-vGPU environments)
- GPU frame-buffer utilization
- Exports metrics to CSV for further analysis
- Saves system and profile data in a GPD file format for later viewing or analysis.
How to measure GPU utilization on a host or VM using nvidia-smi
Currently, GPUProfiler is a VM-level utilization profiling tool. If you wish to collect utilization metrics for a hypervisor host and the host is utilizing an NVIDIA capabile GRID or Tesla card in conjunction with the NVIDIA vGPU Manager, then you may use the nvidia-smi command to collect GPU specific metrics.
Here is an example query that I have used to collect utilization data in CSV format.