Install DCGM#
Confirm that the target platform is supported, satisfy the applicable requirements, configure the NVIDIA package repository, and then use the package procedure for the installed Linux distribution.
Supported Platforms#
Hardware and Environments#
DCGM supports the following products and environments:
All NVIDIA Kepler™ (K80) and newer NVIDIA datacenter (previously, NVIDIA Tesla®) GPUs
NVIDIA® NVSwitch™ on NVIDIA DGX™ A100, NVIDIA HGX™ A100, and newer systems
All NVIDIA Maxwell™ and newer non-datacenter GPUs, including NVIDIA® GeForce® and NVIDIA® Quadro® GPUs
CUDA® 7.5 and later and NVIDIA Driver R450 and later
Bare-metal systems and virtual machines with full GPU passthrough
On non-datacenter GPUs, some DCGM functionality is unavailable. The following table summarizes category-level availability. For the module organization and feature-specific documentation, see Functionality by module.
Feature Availability by GPU Class#
Feature area |
Datacenter GPUs |
Non-datacenter GPUs |
Qualification |
|---|---|---|---|
Field watches and GPU telemetry |
Available |
Available |
Individual fields remain hardware- and driver-dependent. |
Configuration management |
Available |
Available |
Individual settings require corresponding GPU and driver support. |
Passive health monitoring |
Available |
Available |
Monitored subsystems depend on available fields and hardware. |
Process and job statistics |
Available |
Available |
Particular statistics can be unavailable when their source fields are unsupported. |
Topology and link state |
Available |
Available |
Reported PCIe, NVLink, and fabric details depend on system topology. |
Host-engine introspection |
Available |
Available |
Describes host-engine resource use rather than a GPU capability. |
Policy notifications |
Available |
Not supported |
Policy registration and notification are restricted to datacenter GPUs. |
Single-node diagnostics |
All levels supported for the applicable product |
Level 1; higher levels only where explicitly supported |
Plugin, SKU, driver, privilege, and installation requirements still apply. |
Available means that the feature area is exposed for the GPU class. It
does not guarantee that every field, setting, or diagnostic is supported on
every GPU.
Linux Distributions#
Linux Distribution |
x86_64 |
aarch64 |
|---|---|---|
Amazon Linux 2023 |
✓ |
✓ |
Azure Linux 3.0 |
✓ |
✓ |
Debian 12 |
✓ |
✓ |
Debian 13 |
✓ |
✓ |
Fedora 43 |
✓ |
✓ |
RHEL 8.y/Rocky Linux 8.y |
✓ |
✓ |
RHEL 9.y/Rocky Linux 9.y |
✓ |
✓ |
RHEL 10.y/Rocky Linux 10.y |
✓ |
✓ |
SLES/OpenSUSE 15.y |
✓ |
✓ |
SLES/OpenSUSE 16.y |
✓ |
✓ |
Ubuntu 22.04 LTS |
✓ |
✓ |
Ubuntu 24.04 LTS |
✓ |
✓ |
Ubuntu 26.04 LTS |
✓ |
✓ |
Requirements#
The system-resource and NVIDIA software requirements apply when DCGM is run. They are not prerequisites for installing the development package.
System Resources#
These requirements apply to bare-metal hosts, virtual machines, and containers.
Resource |
Requirement |
|---|---|
Minimum System Memory (Host RAM) |
>= 16GB |
Minimum CPU Cores |
>= Number of GPUs |
NVIDIA Software#
Install a supported NVIDIA Datacenter Driver. DCGM is tested with NVIDIA Datacenter Drivers; other driver types can omit functionality. The NVIDIA driver documentation describes the available branches and support timelines.
On systems with NVSwitch™ hardware, also install:
Fabric Manager
NVSwitch™ Configuration & Query (NSCQ) for Hopper and earlier GPUs
NVSwitch™ Device Monitoring (NVSDM) for Blackwell and later GPUs
Fabric Manager, NSCQ, and NVSDM package major versions must match the NVIDIA
driver major version. For example, driver version 565 uses
libnvidia-nscq-565 and libnvsdm-565. Use nvidia-smi to identify the
installed driver version.
See the Fabric Manager installation instructions, the NSCQ instructions in the HGX Software Guide, and the NVSDM installation instructions.
Package Repository and Privileges#
Configure the system package manager to use the NVIDIA repository for the installed Linux distribution. If the system uses a local CUDA repository package, update that package before installing DCGM. See the CUDA Installation Guide for Linux for repository setup instructions.
Package installation and system-service changes require root privileges. The
examples use sudo to elevate only the command that requires them.
Commands are written for a Bash-compatible shell. A leading $ is the
prompt, not part of the command; backslashes continue a command on the next
line.
Package Installation#
Package Relationships#
Package |
Contents and relationships |
|---|---|
|
CUDA-independent runtime components. Both the CUDA runtime package and the development package require the same version of this package. |
|
CUDA-major-specific runtime components. This package requires
|
|
The subset of DCGM functionality that is not included in the DCGM open-source project. The relevant packages are installed as recommendations. |
|
Optional multi-node diagnostic components, available for CUDA 12 and later. |
|
Headers, linker artifacts, CMake files, and samples. This package
requires |
The runtime-install commands below enable package recommendations. In addition
to the proprietary package family, the recommendation set contains non-DCGM
packages such as the system NUMA library. The alternatives shown below omit
all recommendations.
Select a CUDA Runtime Package#
DCGM’s CUDA-dependent binaries are divided into packages by CUDA user-mode
driver major version. The package suffix identifies the target version; for
example, datacenter-gpu-manager-4-cuda12 targets CUDA 12.
Use nvidia-smi to identify the CUDA version supported by the installed
driver:
$ nvidia-smi -q | grep -E 'Driver Version|CUDA Version'
Driver Version : 575.57.08
CUDA Version : 12.9
Set CUDA_VERSION to the major version shown in the output. For the example
above:
$ CUDA_VERSION=12
Warning
On Maxwell, Pascal, and Volta systems using driver version 580, set
CUDA_VERSION=12. Although that driver supports the CUDA 13.0 user-mode
API, CUDA Toolkit 13.0 does not support those GPU generations.
Stop an Existing DCGM Service#
Stop DCGM before replacing an existing installation:
$ sudo systemctl list-unit-files nvidia-dcgm.service > /dev/null && \
sudo systemctl stop nvidia-dcgm
Install Packages#
Use the section for the installed Linux distribution. Each procedure shows the CUDA-major runtime package, the development package, and the optional multi-node package. Install the packages needed on the system. After installing the runtime package, continue with Start and Verify DCGM.
Amazon Linux 2023#
Install the runtime package for the selected CUDA major version and its recommended packages.
$ CUDA_VERSION=<major version of CUDA user-mode driver> $ sudo dnf install --assumeyes \ --setopt=install_weak_deps=True \ datacenter-gpu-manager-4-cuda${CUDA_VERSION}
To omit all weak dependencies, including recommended packages, replace
--setopt=install_weak_deps=Truewith--setopt=install_weak_deps=False.If needed, install the optional multi-node diagnostic plugin.
$ sudo dnf install --assumeyes datacenter-gpu-manager-4-multinode-cuda${CUDA_VERSION}
If needed, install the development files.
$ sudo dnf install --assumeyes datacenter-gpu-manager-4-dev
Azure Linux 3.0#
Install the runtime package for the selected CUDA major version and its recommended packages.
$ CUDA_VERSION=<major version of CUDA user-mode driver> $ sudo tdnf install --assumeyes \ --setopt=install_weak_deps=True \ datacenter-gpu-manager-4-cuda${CUDA_VERSION}
To omit all weak dependencies, including recommended packages, replace
--setopt=install_weak_deps=Truewith--setopt=install_weak_deps=False.If needed, install the optional multi-node diagnostic plugin.
$ sudo tdnf install --assumeyes datacenter-gpu-manager-4-multinode-cuda${CUDA_VERSION}
If needed, install the development files.
$ sudo tdnf install --assumeyes datacenter-gpu-manager-4-dev
Ubuntu LTS and Debian#
Remove any installations of the
datacenter-gpu-manageranddatacenter-gpu-manager-configpackages$ sudo dpkg --list datacenter-gpu-manager &> /dev/null && \ sudo apt purge --yes datacenter-gpu-manager $ sudo dpkg --list datacenter-gpu-manager-config &> /dev/null && \ sudo apt purge --yes datacenter-gpu-manager-config
Update the package registry cache
$ sudo apt-get update
Install the runtime package for the selected CUDA major version and its recommended packages.
$ CUDA_VERSION=<major version of CUDA user-mode driver> $ sudo apt-get install --yes \ --install-recommends \ datacenter-gpu-manager-4-cuda${CUDA_VERSION}
To omit all recommended packages, replace
--install-recommendswith--no-install-recommends.If needed, install the optional multi-node diagnostic plugin.
$ sudo apt install --yes datacenter-gpu-manager-4-multinode-cuda${CUDA_VERSION}
If needed, install the development files.
$ sudo apt install --yes datacenter-gpu-manager-4-dev
RHEL, Rocky Linux, and Fedora#
Remove any installations of the
datacenter-gpu-manageranddatacenter-gpu-manager-configpackages.$ sudo dnf list --installed datacenter-gpu-manager &> /dev/null && \ sudo dnf remove --assumeyes datacenter-gpu-manager $ sudo dnf list --installed datacenter-gpu-manager-config &> /dev/null && \ sudo dnf remove --assumeyes datacenter-gpu-manager-config
Update the package registry cache.
$ sudo dnf clean expire-cache
Install the runtime package for the selected CUDA major version and its recommended packages.
$ CUDA_VERSION=<major version of CUDA user-mode driver> $ sudo dnf install --assumeyes \ --setopt=install_weak_deps=True \ datacenter-gpu-manager-4-cuda${CUDA_VERSION}
To omit all weak dependencies, including recommended packages, replace
--setopt=install_weak_deps=Truewith--setopt=install_weak_deps=False.If needed, install the optional multi-node diagnostic plugin.
$ sudo dnf install --assumeyes datacenter-gpu-manager-4-multinode-cuda${CUDA_VERSION}
If needed, install the development files.
$ sudo dnf install --assumeyes datacenter-gpu-manager-4-devel
SUSE SLES / OpenSUSE#
Remove any installations of the
datacenter-gpu-manageranddatacenter-gpu-manager-configpackages$ sudo zypper search --installed-only --match-exact datacenter-gpu-manager &> /dev/null && \ sudo zypper --non-interactive remove datacenter-gpu-manager $ sudo zypper search --installed-only --match-exact datacenter-gpu-manager-config && \ sudo zypper --non-interactive remove datacenter-gpu-manager-config
Update the package registry cache
$ sudo zypper refresh
Install the runtime package for the selected CUDA major version and its recommended packages.
$ CUDA_VERSION=<major version of CUDA user-mode driver> $ sudo zypper install --no-confirm \ --recommends \ datacenter-gpu-manager-4-cuda${CUDA_VERSION}
To omit all recommended packages, replace
--recommendswith--no-recommends.If needed, install the optional multi-node diagnostic plugin.
$ sudo zypper install --no-confirm datacenter-gpu-manager-4-multinode-cuda${CUDA_VERSION}
If needed, install the development files.
$ sudo zypper install --no-confirm datacenter-gpu-manager-4-devel
Start and Verify DCGM#
Enable the packaged systemd service at boot and start it now:
$ sudo systemctl enable --now nvidia-dcgm
$ systemctl is-active nvidia-dcgm
active
Use dcgmi to confirm that the host engine discovered the supported GPUs
and NVSwitches in the system:
$ dcgmi discovery -l
8 GPUs found (Active).
...
6 NvSwitches found.
For local service options, environment changes, full unit replacement, and the multi-node diagnostics systemd generator, see Customizing the systemd Service.
Continue with the learning overview to learn how the host engine represents and monitors the system.
Installed Components#
Runtime Components#
The runtime packages provide these principal components:
Component |
Installed item |
Further information |
|---|---|---|
DCGM shared library |
|
|
DCGM modules |
Loadable feature-module libraries |
Modules and dcgmi modules |
Diagnostic plugins |
Single-node diagnostic plugin libraries and supporting executables |
|
NVIDIA Host Engine |
|
|
systemd service |
|
|
Command-line interface |
|
|
Profiling test utility |
|
|
Python bindings |
|
Installed Python modules and examples |
Multi-node diagnostics |
Components supplied by the optional
|
Development Components#
The development package adds the following files to the runtime components
installed by its datacenter-gpu-manager-4-core dependency:
Component |
Installed item |
|---|---|
Public C/C++ headers |
|
Shared-library linker name |
The unversioned |
CMake package files |
|
DCGM stub library |
|
SDK samples |
|
For C/C++ linking behavior and the complete interface reference, see the C/C++ API.