Introduction to the NVIDIA vGPU Software Management SDK#
The NVIDIA vGPU software Management SDK enables third party applications to monitor and control NVIDIA physical GPUs and virtual GPUs that are running on virtualization hosts. The NVIDIA vGPU software Management SDK supports control and monitoring of GPUs from both the hypervisor host system and from within guest VMs.
NVIDIA vGPU software enables multiple virtual machines (VMs) to have simultaneous, direct access to a single physical GPU, using the same NVIDIA graphics drivers that are deployed on non-virtualized operating systems. For an introduction to NVIDIA vGPU software, see Virtual GPU Software User Guide.
NVIDIA vGPU Software Management Interfaces#
The local management interfaces that are supported within an NVIDIA vGPU software server are shown in Figure 38.
Figure 38 NVIDIA vGPU Software server interfaces for GPU management#
For a summary of the NVIDIA vGPU software server interfaces for GPU management, including the hypervisors and guest operating systems that support each interface, and notes about how each interface can be used, see Table 5.
Interface |
Hypervisor |
Guest OS |
Notes |
|---|---|---|---|
|
Any supported hypervisor |
Windows, 64-bit Linux |
Command line, interactive use |
NVIDIA Management Library (NVML) |
Any supported hypervisor |
Windows, 64-bit Linux |
Integration of NVIDIA GPU management with third-party applications |
NVIDIA Control Panel |
— |
Windows |
Detailed control of graphics settings, basic configuration reporting |
Windows Performance Counters |
— |
Windows |
Performance metrics provided by Windows Performance Counter interfaces |
NVWMI |
— |
Windows |
Detailed configuration and performance metrics provided by Windows WMI interfaces |
Introduction to NVML#
NVIDIA Management Library (NVML) is a C-based API for monitoring and managing various states of NVIDIA GPU devices. NVML is delivered in the NVIDIA vGPU software Management SDK and as a runtime version:
The NVIDIA vGPU software Management SDK is distributed as separate archives for Windows and Linux.
The SDK provides the NVML headers and stub libraries that are required to build third-party NVML applications. It also includes a sample application.
The runtime version of NVML is distributed with the NVIDIA vGPU software host driver.
Each new version of NVML is backwards compatible, so that applications written to a version of the NVML can expect to run unchanged on future releases of the NVIDIA vGPU software drivers and NVML library.
For details about the NVML API, see:
NVML man pages
NVIDIA vGPU Software Management SDK contents#
The SDK consists of the NVML developer package and is distributed as separate archives for Windows and Linux:
Windows:
grid_nvml_sdk_596.86.zipZIP archiveLinux:
grid_nvml_sdk_595.91.07.tgzGZIP-compressed tar archive
The contents of these archives are summarized in the following table.
Content |
Windows Folder |
Linux Directory |
|---|---|---|
SDK Samples And Tools License Agreement |
||
Virtual GPU Software Management SDK User Guide (this document) |
||
NVML API documentation, on Linux as man pages |
|
|
Sample source code and platform-dependent build files:
|
|
|
NVML header file |
|
|
Stub library to allow compilation on platforms without an NVIDIA driver installed |
|
|