nvidia-smi(1) NVSMI nvidia-smi(1) NAME nvidia-smi - NVIDIA System Management Interface program SYNOPSIS nvidia-smi [OPTION1 [ARG1]] [OPTION2 [ARG2]] ... DESCRIPTION nvidia-smi (also NVSMI) provides monitoring and management capabilities for each of NVIDIA's Tesla, Quadro, GRID and GeForce devices from Fermi and higher architecture families. GeForce Titan series devices are supported for most functions with very limited information provided for the remainder of the Geforce brand. NVSMI is a cross platform tool that supports all standard NVIDIA driver-supported Linux distros, as well as 64bit versions of Windows starting with Windows Server 2008 R2. Metrics can be consumed directly by users via stdout, or provided by file via CSV and XML formats for scripting purposes. Note that much of the functionality of NVSMI is provided by the underlying NVML C-based library. See the NVIDIA developer website link below for more information about NVML. NVML-based python bindings are also available. The output of NVSMI is not guaranteed to be backwards compatible. However, both NVML and the Python bindings are backwards compatible, and should be the first choice when writing any tools that must be maintained across NVIDIA driver releases. NVML SDK: https://docs.nvidia.com/deploy/nvml-api/index.html Python bindings: http://pypi.python.org/pypi/nvidia-ml-py/ OPTIONS GENERAL OPTIONS -h, --help Print usage information and exit. --version Print version information and exit. LIST OPTIONS -L, --list-gpus List each of the NVIDIA GPUs in the system, along with their UUIDs. -B, --list-excluded-gpus List each of the excluded NVIDIA GPUs in the system, along with their UUIDs. SUMMARY OPTIONS Show a summary of GPUs connected to the system. -col, --columns Show a summary of GPUs connected to the system in a multi-column format. [any one of] -i, --id=ID Target a specific GPU. -f FILE, --filename=FILE Log to the specified file, rather than to stdout. -l SEC, --loop=SEC Probe until Ctrl+C at specified second interval. QUERY OPTIONS -q, --query Display GPU or Unit info. Displayed info includes all data listed in the (GPU ATTRIBUTES) or (UNIT ATTRIBUTES) sections of this document. Some devices and/or environments don't support all possible information. Any unsupported data is indicated by a "N/A" in the output. By default information for all available GPUs or Units is displayed. Use the -i option to restrict the output to a single GPU or Unit. [plus optionally] -u, --unit Display Unit data instead of GPU data. Unit data is only available for NVIDIA S-class Tesla enclosures. -i, --id=ID Display data for a single specified GPU or Unit. The specified id may be the GPU/Unit's 0-based index in the natural enumeration returned by the driver, the GPU's board serial number, the GPU's UUID, or the GPU's PCI bus ID (as domain:bus:device.function in hex). It is recommended that users desiring consistency use either UUID or PCI bus ID, since device enumeration ordering is not guaranteed to be consistent between reboots and board serial number might be shared between multiple GPUs on the same board. -f FILE, --filename=FILE Redirect query output to the specified file in place of the default stdout. The specified file will be overwritten. -x, --xml-format Produce XML output in place of the default human-readable format. Both GPU and Unit query outputs conform to corresponding DTDs. These are available via the --dtd flag. --dtd Use with -x. Embed the DTD in the XML output. --debug=FILE Produces an encrypted debug log for use in submission of bugs back to NVIDIA. -d TYPE, --display=TYPE Display only selected information: MEMORY, UTILIZATION, ECC, TEMPERATURE, POWER, CLOCK, COMPUTE, PIDS, PERFORMANCE, SUPPORTED_CLOCKS, PAGE_RETIREMENT, ACCOUNTING, ENCODER_STATS, SUPPORTED_GPU_TARGET_TEMP, VOLTAGE, FBC_STATS, ROW_REMAPPER, GSP_FIRMWARE_VERSION, POWER_SMOOTHING, POWER_PROFILES. Flags can be combined with comma e.g. "MEMORY,ECC". Sampling data with max, min and avg is also returned for POWER, UTILIZATION and CLOCK display types. Doesn't work with -u/--unit or -x/--xml-format flags. -l SEC, --loop=SEC Continuously report query data at the specified interval, rather than the default of just once. The application will sleep in-between queries. Note that on Linux ECC error or Xid error events will print out during the sleep period if the -x flag was not specified. Pressing Ctrl+C at any time will abort the loop, which will otherwise run indefinitely. If no argument is specified for the -l form a default interval of 5 seconds is used. -lms ms, --loop-ms=ms Same as -l,--loop but in milliseconds. SELECTIVE QUERY OPTIONS Allows the caller to pass an explicit list of properties to query. [one of] --query-gpu= Information about GPU. Pass comma separated list of properties you want to query. e.g. --query-gpu=pci.bus_id,persistence_mode. Call --help- query-gpu for more info. --query-supported-clocks= List of supported clocks. Call --help-query-supported-clocks for more info. --query-compute-apps= List of currently active compute processes. Call --help-query-compute- apps for more info. --query-accounted-apps= List of accounted compute processes. Call --help-query-accounted-apps for more info. This query is not supported on vGPU host. --query-retired-pages= List of GPU device memory pages that have been retired. Call --help- query-retired-pages for more info. --query-remapped-rows= Information about remapped rows. Call --help-query-remapped-rows for more info. [mandatory] --format= Comma separated list of format options: o csv - comma separated values (MANDATORY) o noheader - skip first line with column headers o nounits - don't print units for numerical values [plus any of] -i, --id=ID Display data for a single specified GPU. The specified id may be the GPU's 0-based index in the natural enumeration returned by the driver, the GPU's board serial number, the GPU's UUID, or the GPU's PCI bus ID (as domain:bus:device.function in hex). It is recommended that users desiring consistency use either UUID or PCI bus ID, since device enumeration ordering is not guaranteed to be consistent between reboots and board serial number might be shared between multiple GPUs on the same board. -f FILE, --filename=FILE Redirect query output to the specified file in place of the default stdout. The specified file will be overwritten. -l SEC, --loop=SEC Continuously report query data at the specified interval, rather than the default of just once. The application will sleep in-between queries. Note that on Linux ECC error or Xid error events will print out during the sleep period if the -x flag was not specified. Pressing Ctrl+C at any time will abort the loop, which will otherwise run indefinitely. If no argument is specified for the -l form a default interval of 5 seconds is used. -lms ms, --loop-ms=ms Same as -l,--loop but in milliseconds. DEVICE MODIFICATION OPTIONS [any one of] -pm, --persistence-mode=MODE Set the persistence mode for the target GPUs. See the (GPU ATTRIBUTES) section for a description of persistence mode. Requires root. Will impact all GPUs unless a single GPU is specified using the -i argument. The effect of this operation is immediate. However, it does not persist across reboots. After each reboot persistence mode will default to "Disabled". Available on Linux only. -e, --ecc-config=CONFIG Set the ECC mode for the target GPUs. See the (GPU ATTRIBUTES) section for a description of ECC mode. Requires root. Will impact all GPUs unless a single GPU is specified using the -i argument. This setting takes effect after the next reboot and is persistent. -p, --reset-ecc-errors=TYPE Reset the ECC error counters for the target GPUs. See the (GPU ATTRIBUTES) section for a description of ECC error counter types. Available arguments are 0\|VOLATILE or 1\|AGGREGATE. Requires root. Will impact all GPUs unless a single GPU is specified using the -i argument. The effect of this operation is immediate. Clearing aggregate counts is not supported on Ampere+ -c, --compute-mode=MODE Set the compute mode for the target GPUs. See the (GPU ATTRIBUTES) section for a description of compute mode. Requires root. Will impact all GPUs unless a single GPU is specified using the -i argument. The effect of this operation is immediate. However, it does not persist across reboots. After each reboot compute mode will reset to "DEFAULT". -dm TYPE, --driver-model=TYPE -fdm TYPE, --force-driver-model=TYPE Enable or disable TCC driver model. For Windows only. Requires administrator privileges. -dm will fail if a display is attached, but -fdm will force the driver model to change. Will impact all GPUs unless a single GPU is specified using the -i argument. A reboot is required for the change to take place. See Driver Model for more information on Windows driver models. An error message indicates that retrieving the field failed. --gom=MODE Set GPU Operation Mode: 0/ALL_ON, 1/COMPUTE, 2/LOW_DP Supported on GK110 M-class and X-class Tesla products from the Kepler family. Not supported on Quadro and Tesla C-class products. LOW_DP and ALL_ON are the only modes supported on GeForce Titan devices. Requires administrator privileges. See GPU Operation Mode for more information about GOM. GOM changes take effect after reboot. The reboot requirement might be removed in the future. Compute only GOMs don't support WDDM (Windows Display Driver Model) -r, --gpu-reset Trigger a reset of one or more GPUs. Can be used to clear GPU HW and SW state in situations that would otherwise require a machine reboot. Typically useful if a double bit ECC error has occurred. Optional -i switch can be used to target one or more specific devices. Without this option, all GPUs are reset. Requires root. There can't be any applications using these devices (e.g. CUDA application, graphics application like X server, monitoring application like other instance of nvidia-smi). There also can't be any compute applications running on any other GPU in the system if individual GPU reset is not feasible. Starting with the NVIDIA Ampere architecture, GPUs with NVLink connections can be individually reset. On Ampere NVSwitch systems, Fabric Manager is required to facilitate reset. On Hopper and later NVSwitch systems, the dependency on Fabric Manager to facilitate reset is removed. If Fabric Manager is not running, or if any of the GPUs being reset are based on an architecture preceding the NVIDIA Ampere architecture, any GPUs with NVLink connections to a GPU being reset must also be reset in the same command. This can be done either by omitting the -i switch, or using the -i switch to specify the GPUs to be reset. If the -i option does not specify a complete set of NVLink GPUs to reset, this command will issue an error identifying the additional GPUs that must be included in the reset command. Specific details are outlined in the tables below: NVSwitch systems: GPU Family | Fabric Manager running | Fabric Manager not running ------------|------------------------------|------------------------------ Pre-Ampere | All PEER connected GPUs must | All PEER connected GPUs must | be reset in same command. | be reset in same command Ampere+ | Each GPU can be reset | All PEER connected GPUs must | individually | be reset in same command Direct connected NVLink systems: (FM is not supported, as no NVSwitch HW is present) GPU Family | Capabilities ------------|------------------------------------------------------- Pre-Ampere | All PEER connected GPUs must be reset in same command Ampere+ | Each GPU can be reset individually GPU reset is not guaranteed to work in all cases. It is not recommended for production environments at this time. In some situations there may be HW components on the board that fail to revert back to an initial state following the reset request. This is more likely to be seen on Fermi-generation products vs. Kepler, and more likely to be seen if the reset is being performed on a hung GPU. Following a reset, it is recommended that the health of each reset GPU be verified before further use. If any GPU is not healthy a complete reset should be instigated by power cycling the node. Reset triggered without extra arguments, will be a default Function Level Reset (FLR). To issue a Bus Reset, use -r bus. For certain platforms only Function Level Reset is possible. GPU reset operation will not be supported on MIG enabled vGPU guests. Visit http://developer.nvidia.com/gpu-deployment-kit to download the GDK. -vm, --virt-mode=MODE Switch GPU Virtualization Mode. Sets GPU virtualization mode to 3/VGPU or 4/VSGA. Virtualization mode of a GPU can only be set when it is running on a hypervisor. -lgc, --lock-gpu-clocks=MIN_GPU_CLOCK,MAX_GPU_CLOCK Specifies clocks as a pair (e.g. 1500,1500) that defines closest desired locked GPU clock speed in MHz. Input can also use be a singular desired clock value (e.g. ). Optionally, --mode can be supplied to specify the clock locking modes. Supported on Volta+. Requires root. --mode=0 (Default) This mode is the default clock locking mode and provides the highest possible frequency accuracies supported by the hardware. --mode=1 The clock locking algorithm leverages close loop controllers to achieve frequency accuracies with improved perf per watt for certain class of applications. Due to convergence latency of close loop controllers, the frequency accuracies may be slightly lower than default mode 0. -lmc, --lock-memory-clocks=MIN_MEMORY_CLOCK,MAX_MEMORY_CLOCK Specifies clocks as a pair (e.g. 5100,5100) that defines the range of desired locked Memory clock speed in MHz. Input can also be a singular desired clock value (e.g. ). Requires root. Note: this option does not work on GPUs based on NVIDIA Hopper architectures; to lock memory clocks on those systems use --lock-memory-clocks-deferred instead. -rgc, --reset-gpu-clocks Resets the GPU clocks to the default value. Supported on Volta+. Requires root. -rmc, --reset-memory-clocks Resets the memory clocks to the default value. Supported on Volta+. Requires root. -ac, --applications-clocks=MEM_CLOCK,GRAPHICS_CLOCK This option is deprecated and will be removed in in a future CUDA release. Please use -lmc for locking memory clocks and -lgc for locking graphics clocks. Specifies maximum clocks as a pair (e.g. 2000,800) that defines GPU's speed while running applications on a GPU. Supported on Maxwell-based GeForce and from the Kepler+ family in Tesla/Quadro/Titan devices. Requires root. -rac, --reset-applications-clocks This option is deprecated and will be removed in in a CUDA future release. Resets the applications clocks to the default value. Supported on Maxwell-based GeForce and from the Kepler+ family in Tesla/Quadro/Titan devices. Requires root. -lmcd, --lock-memory-clocks-deferred Specifies the memory clock that defines the closest desired Memory Clock in MHz. The memory clock takes effect the next time the GPU is initialized. This can be guaranteed by unloading and reloading the kernel module. Requires root. -rmcd, --reset-memory-clocks-deferred Resets the memory clock to default value. Driver unload and reload is required for this to take effect. This can be done by unloading and reloading the kernel module. Requires root. -pl, --power-limit=POWER_LIMIT Specifies maximum power limit in watts. Accepts integer and floating point numbers. it takes an optional argument --scope. Only on supported devices from Kepler family. Value needs to be between Min and Max Power Limit as reported by nvidia-smi. Requires root. -sc, --scope=0/GPU, 1/TOTAL_MODULE Specifies the scope of the power limit. Following are the options: 0/GPU: This only changes power limits for the GPU. 1/Module: This changes the power limits for the module containing multiple components. E.g. GPU and CPU. -cc, --cuda-clocks=MODE Overrides or restores default CUDA clocks. Available arguments are: 0\|RESTORE_DEFAULT or 1\|OVERRIDE. Requires root. -am, --accounting-mode=MODE Enables or disables GPU Accounting. With GPU Accounting one can keep track of usage of resources throughout lifespan of a single process. Only on supported devices from Kepler family. Requires administrator privileges. Available arguments are 0\|DISABLED or 1\|ENABLED. -caa, --clear-accounted-apps Clears all processes accounted so far. Only on supported devices from Kepler family. Requires administrator privileges. --auto-boost-default=MODE This option is deprecated and will be removed in a future CUDA release. Set the default auto boost policy to 0/DISABLED or 1/ENABLED, enforcing the change only after the last boost client has exited. Only on certain Tesla devices from the Kepler+ family and Maxwell-based GeForce devices. Requires root. --auto-boost-permission=MODE This option is deprecated and will be removed in a future CUDA release. Allow non-admin/root control over auto boost mode. Available arguments are 0\|UNRESTRICTED, 1\|RESTRICTED. Only on certain Tesla devices from the Kepler+ family and Maxwell-based GeForce devices. Requires root. -mig, --multi-instance-gpu=MODE Enables or disables Multi Instance GPU mode. Only supported on devices based on the NVIDIA Ampere architecture. Requires root. Available arguments are 0\|DISABLED or 1\|ENABLED. -gtt, --gpu-target-temp=MODE Set GPU Target Temperature for a GPU in degrees celsius. Target temperature should be within limits supported by GPU. These limits can be retrieved by using query option with SUPPORTED_GPU_TARGET_TEMP. Requires Root. --set-hostname=hostname Set the hostname associated with device. Should be a maximum length of 64 characters (including the terminating NULL character). Requires root. --get-hostname Retrieves the hostname associated with the device. [plus optionally] -i, --id=ID Modify a single specified GPU. The specified id may be the GPU/Unit's 0-based index in the natural enumeration returned by the driver, the GPU's board serial number, the GPU's UUID, or the GPU's PCI bus ID (as domain:bus:device.function in hex). It is recommended that users desiring consistency use either UUID or PCI bus ID, since device enumeration ordering is not guaranteed to be consistent between reboots and board serial number might be shared between multiple GPUs on the same board. -eom, --error-on-warning Return a non-zero error for warnings. UNIT MODIFICATION OPTIONS -t, --toggle-led=STATE Set the LED indicator state on the front and back of the unit to the specified color. See the (UNIT ATTRIBUTES) section for a description of the LED states. Allowed colors are 0\|GREEN and 1\|AMBER. Requires root. [plus optionally] -i, --id=ID Modify a single specified Unit. The specified id is the Unit's 0-based index in the natural enumeration returned by the driver. SHOW DTD OPTIONS --dtd Display Device or Unit DTD. [plus optionally] -f FILE, --filename=FILE Redirect query output to the specified file in place of the default stdout. The specified file will be overwritten. -u, --unit Display Unit DTD instead of device DTD. topo Display topology information about the system. Use "nvidia-smi topo -h" for more information. Linux only. Shows all GPUs NVML is able to detect but CPU and NUMA node affinity information will only be shown for GPUs with Kepler or newer architectures. Note: GPU enumeration is the same as NVML. drain Display and modify the GPU drain states. A drain state is one in which the GPU is no longer accepting new clients, and is used while preparing to power down the GPU. Use "nvidia-smi drain -h" for more information. Linux only. nvlink Display nvlink information. Use "nvidia-smi nvlink -h" for more information. clocks Query and control clocking behavior. Use "nvidia-smi clocks --help" for more information. vgpu Display information on GRID virtual GPUs. Use "nvidia-smi vgpu -h" for more information. mig Provides controls for MIG management. "nvidia-smi mig -h" for more information. boost-slider Provides controls for boost sliders management. "nvidia-smi boost- slider -h" for more information. power-hint Provides queries for power hint. "nvidia-smi power-hint -h" for more information. conf-compute Provides control and queries for confidential compute. "nvidia-smi conf-compute -h" for more information. power-smoothing Provides controls and information for power smoothing. "nvidia-smi power-smoothing -h" for more information. power-profiles Profiles controls and information for workload power profiles. "nvidia- smi power-profiles -h" for more information. encodersessions Display Encoder Sessions information. "nvidia-smi encodersessions -h" for more information. RETURN VALUE Return code reflects whether the operation succeeded or failed and what was the reason of failure. o Return code 0 - Success o Return code 2 - A supplied argument or flag is invalid o Return code 3 - The requested operation is not available on target device o Return code 4 - The current user does not have permission to access this device or perform this operation o Return code 6 - A query to find an object was unsuccessful o Return code 8 - A device's external power cables are not properly attached o Return code 9 - NVIDIA driver is not loaded o Return code 10 - NVIDIA Kernel detected an interrupt issue with a GPU o Return code 12 - NVML Shared Library couldn't be found or loaded o Return code 13 - Local version of NVML doesn't implement this function o Return code 14 - infoROM is corrupted o Return code 15 - The GPU has fallen off the bus or has otherwise become inaccessible o Return code 255 - Other error or internal driver error occurred GPU ATTRIBUTES The following list describes all possible data returned by the -q device query option. Unless otherwise noted all numerical results are base 10 and unitless. Timestamp The current system timestamp at the time nvidia-smi was invoked. Format is "Day-of-week Month Day HH:MM:SS Year". Driver Version The version of the installed NVIDIA display driver. This is an alphanumeric string. CUDA Version The latest CUDA version supported by the driver. This is usually, but not always, the version of the CUDA toolkit installed on the system. This is an alphanumeric string. Attached GPUs The number of NVIDIA GPUs in the system. Product Name The official product name of the GPU. This is an alphanumeric string. For all products. Product Brand The official brand of the GPU. This is an alphanumeric string. For all products. Product Architecture The official architecture name of the GPU. This is an alphanumeric string. For all products. Display Mode This field is deprecated, and will be removed in a future release. Display Attached A flag that indicates whether a physical display (e.g. monitor) is currently connected to any of the GPU's connectors. "Yes" indicates an attached display. "No" indicates otherwise. Display Active A flag that indicates whether a display is initialized on the GPU's (e.g. memory is allocated on the device for display). Display can be active even when no monitor is physically attached. "Enabled" indicates an active display. "Disabled" indicates otherwise. Persistence Mode A flag that indicates whether persistence mode is enabled for the GPU. Value is either "Enabled" or "Disabled". When persistence mode is enabled the NVIDIA driver remains loaded even when no active clients, such as X11 or nvidia-smi, exist. This minimizes the driver load latency associated with running dependent apps, such as CUDA programs. For all CUDA-capable products. Linux only. Addressing Mode A field that indicates which addressing mode is currently active. The value is "ATS" or "HMM" or "None". When the mode is "ATS", system allocated memory like malloc is addressable from the GPU via Address Translation Services. This means there is effectively a single set of page tables used by both the CPU and the GPU. When the mode is "HMM", system allocated memory like malloc is addressable from the GPU via software-based mirroring of the CPU's page tables, on the GPU. When the mode is "None", neither ATS nor HMM is active. Linux only. MIG Mode MIG Mode configuration status Current MIG mode currently in use - NA/Enabled/Disabled Pending Pending configuration of MIG Mode - Enabled/Disabled MIG Device When MIG is enabled, each MIG device has the following attributes displayed: Index Unique identifier for this MIG device within its parent GPU. GPU Instance ID Identifier of the GPU instance that this MIG device belongs to. Compute Instance ID Identifier of the compute instance within the GPU instance. Device Attributes Hardware engines allocated to this MIG device. These are shared among compute instances associated with the same GPU instance. Multiprocessor count Number of SMs (Streaming Multiprocessors) Copy Engine count Number of copy engines Encoder count Number of video encoders Decoder count Number of video decoders OFA count Number of OFAs (Optical Flow Accelerators) JPG count Number of JPEG encoders/decoders ECC Errors ECC error counts for this MIG device. SRAM uncorrectable errors Number of uncorrectable errors detected in any of the SRAMs. Shared FB Memory Usage FB memory allocation and usage of this MIG device. This is shared among the compute instances associated with the same GPU instance. Total Total size of FB memory. Reserved Reserved size of FB memory. Used Used size of FB memory. Free Available size of FB memory. Shared BAR1 Memory BAR1 memory allocation and usage of this MIG device. This is shared among the compute instances associated with the same GPU instance. Total Total size of BAR1 memory. Used Used size of BAR1 memory. Free Available size of BAR1 memory. Accounting Mode A flag that indicates whether accounting mode is enabled for the GPU. Value is either "Enabled" or "Disabled". When accounting is enabled statistics are calculated for each compute process running on the GPU. Statistics can be queried during the lifetime or after termination of the process. The execution time of process is reported as 0 while the process is in running state and updated to actual execution time after the process has terminated. See --help-query-accounted-apps for more info. Accounting Mode Buffer Size Returns the size of the circular buffer that holds list of processes that can be queried for accounting stats. This is the maximum number of processes that accounting information will be stored for before information about oldest processes will get overwritten by information about new processes. Driver Model On Windows, the TCC and WDDM driver models are supported. The driver model can be changed with the (-dm) or (-fdm) flags. The TCC driver model is optimized for compute applications. I.E. kernel launch times will be quicker with TCC. The WDDM driver model is designed for graphics applications and is not recommended for compute applications. Linux does not support multiple driver models, and will always have the value of "N/A". Current The driver model currently in use. Always "N/A" on Linux. Pending The driver model that will be used on the next reboot. Always "N/A" on Linux. Serial Number This number matches the serial number physically printed on each board. It is a globally unique immutable alphanumeric value. GPU UUID This value is the globally unique immutable alphanumeric identifier of the GPU. It does not correspond to any physical label on the board. GPU PDI This value is the Per Device Identifier of the GPU. It is a 64-bit value that provides uniqueness guarantee for the GPU. Minor Number The minor number for the device is such that the NVIDIA device node file for each GPU will have the form /dev/nvidia[minor number]. Available only on Linux platform. VBIOS Version The BIOS of the GPU board. MultiGPU Board Whether or not this GPU is part of a multiGPU board. Board ID The unique board ID assigned by the driver. If two or more GPUs have the same board ID and the above "MultiGPU" field is true then the GPUs are on the same board. Board Part Number The unique part number of the GPU's board GPU Part Number The unique part number of the GPU FRU Part Number Unique FRU part number of the GPU Platform Info Platform Information are compute tray platform specific information. They are GPU's positional index and platform identifying information. Chassis Serial Number Serial Number of the chassis containing this GPU. Slot Number The slot number in the chassis containing this GPU (includes switches). Tray Index The tray index within the compute slots in the chassis containing this GPU (does not include switches). Host ID Index of the node within the slot containing this GPU. Peer Type Platform indicated NVLink-peer type (e.g. switch present or not). Module Id ID of this GPU within the node. GPU Fabric GUID Fabric ID for this GPU. Inforom Version Version numbers for each object in the GPU board's inforom storage. The inforom is a small, persistent store of configuration and state data for the GPU. All inforom version fields are numerical. It can be useful to know these version numbers because some GPU features are only available with inforoms of a certain version or higher. If any of the fields below return Unknown Error additional Inforom verification check is performed and appropriate warning message is displayed. Image Version Global version of the infoROM image. Image version just like VBIOS version uniquely describes the exact version of the infoROM flashed on the board in contrast to infoROM object version which is only an indicator of supported features. OEM Object Version for the OEM configuration data. ECC Object Version for the ECC recording data. Power Management Object Version for the power management data. Inforom checksum validation Inforom checksum validation ("valid", "invalid", "N/A") Only available via --query-gpu inforom.checksum_validation Inforom BBX Object Flush Information about flushing of the blackbox data to the inforom storage. Latest Timestamp The timestamp of the latest flush of the BBX Object during the current run. Latest Duration The duration of the latest flush of the BBX Object during the current run. GPU Operation Mode GOM allows one to reduce power usage and optimize GPU throughput by disabling GPU features. Each GOM is designed to meet specific user needs. In "All On" mode everything is enabled and running at full speed. The "Compute" mode is designed for running only compute tasks. Graphics operations are not allowed. The "Low Double Precision" mode is designed for running graphics applications that don't require high bandwidth double precision. GOM can be changed with the (--gom) flag. Supported on GK110 M-class and X-class Tesla products from the Kepler family. Not supported on Quadro and Tesla C-class products. Low Double Precision and All On modes are the only modes available for supported GeForce Titan products. Current The GOM currently in use. Pending The GOM that will be used on the next reboot. GPU C2C Mode The C2C mode of the GPU. GPU Reset Status Reset status of the GPU. This functionality is deprecated. Reset Required Requested functionality has been deprecated Drain and Reset Recommended Requested functionality has been deprecated GPU Recovery Action Action to take to clear fault that previously happened. It is not intended for determining which fault triggered recovery action. Possible values: None, Reset, Reboot, Drain P2P, Drain and Reset None No recovery action needed Reset Example scenario - Uncontained HBM/SRAM UCE The GPU has encountered a fault that requires a reset to recover. Terminate all GPU processes, reset the GPU using 'nvidia-smi -r', and the GPU can be used again by starting new GPU processes. Reboot Example scenario - UVM fatal error The GPU has encountered a fault may have left the OS in an inconsistent state. Reboot the operating system to restore the OS back to a consistent state. Node reboot required. Application cannot restart without node reboot OS warm reboot is sufficient (no need for AC/DC cycle) Drain P2P Example scenario - N/A The GPU has encountered a fault that requires all peer-to-peer traffic to be quiesced. Terminate all GPU processes that conduct peer-to-peer traffic and disable UVM persistence mode. Disable job scheduling (no new jobs), stop all applications when convenient, if persistence mode is enabled, disable it Once all peer-to-peer traffic are drained, query NVML_FI_DEV_GET_GPU_RECOVERY_ACTION again, which will return one of the other actions. If still DRAIN_P2P, then GPU reset. Drain and Reset Example scenario - Contained HBM UCE Reset Recommended. The GPU has encountered a fault that results the GPU to temporarily operate at a reduced capacity, such as part of its frame buffer memory being offlined, or some of its MIG partitions down. No new work should be scheduled on the GPU, but existing work that didn't get affected are safe to continue until they finish or reach a good checkpoint. Safe to restart application (memory capacity will be reduced due to dynamic page offlining), but need to eventually reset (to get row remap). Asserted only for UCE row remaps. After all existing work have drained, reset the GPU to regain its full capacity. GSP Firmware Version Firmware version of GSP. This is an alphanumeric string. PCI Basic PCI info for the device. Some of this information may change whenever cards are added/removed/moved in a system. For all products. Bus PCI bus number, in hex Device PCI device number, in hex Domain PCI domain number, in hex Base Classcode PCI Base classcode, in hex Sub Classcode PCI Sub classcode, in hex Device Id PCI vendor device id, in hex Sub System Id PCI Sub System id, in hex Bus Id PCI bus id as "domain:bus:device.function", in hex GPU Link information The PCIe link generation and bus width Current The current link generation and width. These may be reduced when the GPU is not in use. Max The maximum link generation and width possible with this GPU and system configuration. For example, if the GPU supports a higher PCIe generation than the system supports then this reports the system PCIe generation. Bridge Chip Information related to Bridge Chip on the device. The bridge chip firmware is only present on certain boards and may display "N/A" for some newer multiGPUs boards. Type The type of bridge chip. Reported as N/A if doesn't exist. Firmware Version The firmware version of the bridge chip. Reported as N/A if doesn't exist. Replays Since Reset The number of PCIe replays since reset. Replay Number Rollovers The number of PCIe replay number rollovers since reset. A replay number rollover occurs after 4 consecutive replays and results in retraining the link. Tx Throughput The GPU-centric transmission throughput across the PCIe bus in MB/s over the past 20ms. Only supported on Maxwell architectures and newer. Rx Throughput The GPU-centric receive throughput across the PCIe bus in MB/s over the past 20ms. Only supported on Maxwell architectures and newer. Atomic Caps The PCIe atomic capabilities of outbound/inbound operations of the GPU. Fan Speed The fan speed value is the percent of the product's maximum noise tolerance fan speed that the device's fan is currently intended to run at. This value may exceed 100% in certain cases. Note: The reported speed is the intended fan speed. If the fan is physically blocked and unable to spin, this output will not match the actual fan speed. Many parts do not report fan speeds because they rely on cooling via fans in the surrounding enclosure. For all discrete products with dedicated fans. Performance State The current performance state for the GPU. States range from P0 (maximum performance) to P12 (minimum performance). Clocks Event Reasons Retrieves information about factors that are reducing the frequency of clocks. If all event reasons are returned as "Not Active" it means that clocks are running as high as possible. Idle This option is deprecated and will be removed in a future CUDA release. Nothing is running on the GPU and the clocks are dropping to Idle state. Application Clocks Setting This option is deprecated and will be removed in a future CUDA release. GPU clocks are limited by applications clocks setting. E.g. can be changed using nvidia-smi --applications-clocks= SW Power Cap SW Power Scaling algorithm is reducing the clocks below requested clocks because the GPU is consuming too much power. E.g. SW power cap limit can be changed with nvidia-smi --power-limit= HW Slowdown This option will be removed a future CUDA release. HW Slowdown is engaged, reducing the core clocks by a factor of 2 or more. It is active if either HW Thermal Slowdown or HW Power Brake are active. HW Thermal Slowdown HW Thermal Slowdowns are reducing the core clocks by a factor of 2 or more due to temperature being too high. HW Power Brake External Power Brake Assertion is triggered (e.g. by the system power supply). Sync Boost This GPU has been added to a Sync boost group with nvidia-smi or DCGM in order to maximize performance per watt. All GPUs will be limited by the frequency which can be achieved by the slowest GPU. Look at the throttle reasons for other GPUs in the system to see why those GPUs are holding this one at lower clocks. SW Thermal Slowdown SW Thermal capping algorithm is reducing clocks below requested clocks because GPU temperature is higher than Max Operating Temp Display Clock Setting This field will be removed in a future CUDA release. GPU clocks are limited by current setting of Display clocks. Only supported on Volta devices. Clock Event Reasons Counters Counters, in microseconds, for the amount of time factors have been reducing the frequency of clocks. SW Power Capping Amount of time SW Power Scaling algorithm has reduced the clocks below requested clocks because the GPU was consuming too much power. Sync Boost Group Amount of time the clock frequency of this GPU was reduced to match the minimum possible clock across the sync boost group. SW Thermal Slowdown Amount of time SW Thermal capping algorithm has reduced clocks below requested clocks because GPU temperature was higher than Max Operating Temp. HW Thermal Slowdown Amount of time HW Thermal Slowdown was engaged, reducing the core clocks by a factor of 2 or more, due to temperature being too high. HW Power Braking Amount of time External Power Brake Assertion was triggered (e.g. by the system power supply). Sparse Operation Mode A flag that indicates whether sparse operation mode is enabled for the GPU. Value is either "Enabled" or "Disabled". Reported as "N/A" if not supported. FB Memory Usage On-board frame buffer memory information. Reported total memory can be affected by ECC state. If ECC does affect the total available memory, memory is decreased by several percent, due to the requisite parity bits. The driver may also reserve a small amount of memory for internal use, even without active work on the GPU. On systems where GPUs are NUMA nodes, the accuracy of FB memory utilization provided by nvidia- smi depends on the memory accounting of the operating system. This is because FB memory is managed by the operating system instead of the NVIDIA GPU driver. Typically, pages allocated from FB memory are not released even after the process terminates to enhance performance. In scenarios where the operating system is under memory pressure, it may resort to utilizing FB memory. Such actions can result in discrepancies in the accuracy of memory reporting. For all products. Total Total size of FB memory. Reserved Reserved size of FB memory. Used Used size of FB memory. Free Available size of FB memory. BAR1 Memory Usage BAR1 is used to map the FB (device memory) so that it can be directly accessed by the CPU or by 3rd party devices (peer-to-peer on the PCIe bus). Total Total size of BAR1 memory. Used Used size of BAR1 memory. Free Available size of BAR1 memory. Compute Mode The compute mode flag indicates whether individual or multiple compute applications may run on the GPU. "Default" means multiple contexts are allowed per device. "Exclusive Process" means only one context is allowed per device, usable from multiple threads at a time. "Prohibited" means no contexts are allowed per device (no compute apps). "EXCLUSIVE_PROCESS" was added in CUDA 4.0. Prior CUDA releases supported only one exclusive mode, which is equivalent to "EXCLUSIVE_THREAD" in CUDA 4.0 and beyond. For all CUDA-capable products. Utilization Utilization rates report how busy each GPU is over time, and can be used to determine how much an application is using the GPUs in the system. Note: On MIG-enabled GPUs, querying the utilization of encoder, decoder, jpeg, ofa, gpu, and memory is not currently supported. Note: During driver initialization when ECC is enabled one can see high GPU and Memory Utilization readings. This is caused by ECC Memory Scrubbing mechanism that is performed during driver initialization. GPU Percent of time over the past sample period during which one or more kernels was executing on the GPU. The sample period may be between 1 second and 1/6 second depending on the product. Memory Percent of time over the past sample period during which global (device) memory was being read or written. The sample period may be between 1 second and 1/6 second depending on the product. Encoder Percent of time over the past sample period during which the GPU's video encoder was being used. The sampling rate is variable and can be obtained directly via the nvmlDeviceGetEncoderUtilization() API Decoder Percent of time over the past sample period during which the GPU's video decoder was being used. The sampling rate is variable and can be obtained directly via the nvmlDeviceGetDecoderUtilization() API JPEG Percent of time over the past sample period during which the GPU's JPEG decoder was being used. The sampling rate is variable and can be obtained directly via the nvmlDeviceGetJpgUtilization() API OFA Percent of time over the past sample period during which the GPU's OFA (Optical Flow Accelerator) was being used. The sampling rate is variable and can be obtained directly via the nvmlDeviceGetOfaUtilization() API Encoder Stats Encoder Stats report the count of active encoder sessions, along with the average Frames Per Second (FPS) and average latency (in microseconds) for all these active sessions on this device. Active Sessions The total number of active encoder sessions on this device. Average FPS The average Frame Per Sencond (FSP) of all active encoder sessions on this device. Average Latency The average latency in microseconds of all active encoder sessions on this device. DRAM Encryption Mode A flag that indicates whether DRAM Encryption support is enabled. May be either "Enabled" or "Disabled". Changes to DRAM Encryption mode require a reboot. Requires Inforom ECC object. Current The DRAM Encryption mode that the GPU is currently operating under. Pending The DRAM Encryption mode that the GPU will operate under after the next reboot. ECC Mode A flag that indicates whether ECC support is enabled. May be either "Enabled" or "Disabled". Changes to ECC mode require a reboot. Requires Inforom ECC object version 1.0 or higher. Current The ECC mode that the GPU is currently operating under. Pending The ECC mode that the GPU will operate under after the next reboot. ECC Errors NVIDIA GPUs can provide error counts for various types of ECC errors. Some ECC errors are either single or double bit, where single bit errors are corrected and double bit errors are uncorrectable. Texture memory errors may be correctable via resend or uncorrectable if the resend fails. These errors are available across two timescales (volatile and aggregate). Single bit ECC errors are automatically corrected by the HW and do not result in data corruption. Double bit errors are detected but not corrected. Please see the ECC documents on the web for information on compute application behavior when double bit errors occur. Volatile error counters track the number of errors detected since the last driver load. Aggregate error counts persist indefinitely and thus act as a lifetime counter. A note about volatile counts: On Windows this is once per boot. On Linux this can be more frequent. On Linux the driver unloads when no active clients exist. Hence, if persistence mode is enabled or there is always a driver client active (e.g. X11), then Linux also sees per-boot behavior. If not, volatile counts are reset each time a compute app is run. Tesla and Quadro products pre-volta can display total ECC error counts, as well as a breakdown of errors based on location on the chip. The locations are described below. Location-based data for aggregate error counts requires Inforom ECC object version 2.0. All other ECC counts require ECC object version 1.0. Device Memory Errors detected in global device memory. Register File Errors detected in register file memory. L1 Cache Errors detected in the L1 cache. L2 Cache Errors detected in the L2 cache. Texture Memory Parity errors detected in texture memory. Total Total errors detected across entire chip. Sum of Device Memory, Register File, L1 Cache, L2 Cache and Texture Memory. On Turing the output is such: SRAM Correctable Number of correctable errors detected in any of the SRAMs SRAM Uncorrectable Number of uncorrectable errors detected in any of the SRAMs DRAM Correctable Number of correctable errors detected in the DRAM DRAM Uncorrectable Number of uncorrectable errors detected in the DRAM On Ampere+ The categorization of SRAM errors has been expanded upon. SRAM errors are now categorized as either parity or SEC-DED (single error correctable/double error detectable) depending on which unit hit the error. A histogram has been added that categorizes what unit hit the SRAM error. Additionally a flag has been added that indicates if the threshold for the specific SRAM has been exceeded. SRAM Uncorrectable Parity Number of uncorrectable errors detected in SRAMs that are parity protected SRAM Uncorrectable SEC-DED Number of uncorrectable errors detected in SRAMs that are SEC-DED protected Aggregate Uncorrectable SRAM Sources Details about the sources of Aggregate uncorrectable SRAM errors SRAM L2 Errors that occurred in the L2 cache SRAM SM Errors that occurred in the SM SRAM Microcontroller Errors that occurred in a microcontroller (PMU/GSP etc...) SRAM PCIE Errors that occrred in any PCIE related unit SRAM Other Errors occuring in anything else not covered above If one of the repair flags is pending, check the GPU Recovery action and take the appropriate steps. Channel Repair Pending Indicates if a Channel repair is pending TPC Repair Pending Indicates if a TPC repair is pending Unrepairable Memory Indicates if there is unrepairable memory Page Retirement NVIDIA GPUs can retire pages of GPU device memory when they become unreliable. This can happen when multiple single bit ECC errors occur for the same page, or on a double bit ECC error. When a page is retired, the NVIDIA driver will hide it such that no driver, or application memory allocations can access it. Double Bit ECC The number of GPU device memory pages that have been retired due to a double bit ECC error. Single Bit ECC The number of GPU device memory pages that have been retired due to multiple single bit ECC errors. Pending Checks if any GPU device memory pages are pending blacklist on the next reboot. Pages that are retired but not yet blacklisted can still be allocated, and may cause further reliability issues. Row Remapper NVIDIA GPUs can remap rows of GPU device memory when they become unreliable. This can happen when a single uncorrectable ECC error or multiple correctable ECC errors occur on the same row. When a row is remapped, the NVIDIA driver will remap the faulty row to a reserved row. All future accesses to the row will access the reserved row instead of the faulty row. This feature is available on Ampere+ Correctable Error The number of rows that have been remapped due to correctable ECC errors. Uncorrectable Error The number of rows that have been remapped due to uncorrectable ECC errors. Pending Indicates whether or not a row is pending remapping. The GPU must be reset for the remapping to go into effect. Remapping Failure Occurred Indicates whether or not a row remapping has failed in the past. Bank Remap Availability Histogram Each memory bank has a fixed number of reserved rows that can be used for row remapping. The histogram will classify the remap availability of each bank into Maximum, High, Partial, Low and None. Maximum availability means that all reserved rows are available for remapping while None means that no reserved rows are available. Correctable row remappings don't count towards the availability histogram since row remappings due to correctable row remappings can be evicted by an uncorrectable row remapping. Temperature Readings from temperature sensors on the board. All readings are in degrees C. Not all products support all reading types. In particular, products in module form factors that rely on case fans or passive cooling do not usually provide temperature readings. See below for restrictions. T.Limit: The T.Limit sensor measures the current margin in degree Celsius to the maximum operating temperature. As such it is not an absolute temperature reading rather a relative measurement. Not all products support T.Limit sensor readings. When supported, nvidia-smi reports the current T.Limit temperature as a signed value that counts down. A T.Limit temperature of 0 C or lower indicates that the GPU may optimize its clock based on thermal conditions. Further, when the T.Limit sensor is supported, available temperature thresholds are also reported relative to T.Limit (see below) instead of absolute measurements. GPU Current Temp Core GPU temperature. For all discrete and S-class products. GPU T.Limit Temp Current margin in degrees Celsius from the maximum GPU operating temperature. GPU Shutdown Temp The temperature at which a GPU will shutdown. GPU Shutdown T.Limit Temp The T.Limit temperature below which a GPU may shutdown. Since shutdown can only triggered by the maximum GPU temperature it is possible for the current T.Limit to be more negative than this threshold. GPU Slowdown Temp The temperature at which a GPU HW will begin optimizing clocks due to thermal conditions, in order to cool. GPU Slowdown T.Limit Temp The T.Limit temperature at or below which GPU HW may optimize its clocks for thermal conditions. Since this clock adjustment can only triggered by the maximum GPU temperature it is possible for the current T.Limit to be more negative than this threshold. GPU Max Operating Temp The temperature at which GPU SW will optimize its clock for thermal conditions. GPU Max Operating T.Limit Temp The T.Limit temperature below which GPU SW will optimize its clock for thermal conditions. Memory Current Temp Current temperature of GPU memory. Only available on supported devices. Memory Max Operating Temp The temperature at which GPU SW will optimize its memory clocks for thermal conditions. Only available on supported devices. GPU Power Readings Power readings help to shed light on the current power usage of the GPU, and the factors that affect that usage. When power management is enabled the GPU limits power draw under load to fit within a predefined power envelope by manipulating the current performance state. See below for limits of availability. Average Power Draw The average power draw for the entire board for the last second, in watts. Only supported on Ampere (except GA100) or newer devices. Instantaneous Power Draw The last measured power draw for the entire board, in watts. Requested Power Limit The power limit requested by software, in watts. Set by software such as nvidia-smi. Power Limit can be adjusted using -pl,--power-limit= switches. Enforced Power Limit The power management algorithm's power ceiling, in watts. Total board power draw is manipulated by the power management algorithm such that it stays under this value. This limit is the minimum of various limits such as the software limit listed above. Default Power Limit The default power management algorithm's power ceiling, in watts. Power Limit will be set back to Default Power Limit after driver unload. Min Power Limit The minimum value in watts that power limit can be set to. Max Power Limit The maximum value in watts that power limit can be set to. Module Power Readings Power readings help to shed light on the current power usage of the Module, and the factors that affect that usage. A module is GPU + supported NVIDIA CPU + other components which consume power. When power management is enabled, the Module limits power draw under load to fit within a predefined power envelope by manipulating the current performance state. Supported on Hopper and newer datacenter products. Average Power Draw The average power draw for the entire module for the last second, in watts. Instantaneous Power Draw The last measured power draw for the entire module, in watts. Requested Power Limit The power limit requested by software, in watts, for the whole module. Set by software such as nvidia-smi. Power Limit can be adjusted using -pl,--power-limit= switches with -s/--scope=1. Enforced Power Limit The power management algorithm's power ceiling, in watts. Total module power draw is manipulated by the power management algorithm such that it stays under this value. This limit is the minimum of various limits such as the software limit listed above. Default Power Limit The default power management algorithm's power ceiling, in watts. Module Power Limit will be set back to Default Power Limit after driver unload. Min Power Limit The minimum value in watts that module power limit can be set to. Max Power Limit The maximum value in watts that module power limit can be set to. GPU Memory Power Readings Information about GPU memory power consumption. Average Power Draw The average power draw for the GPU memory subsystem over the last second, in watts. Instantaneous Power Draw The last measured power draw for the GPU memory subsystem, in watts. Power Smoothing Power Smoothing related definitions and currently set values. This feature allows users to tune power parameters to minimize power fluctuations in large datacenter environments. Enabled Value is "Yes" if the feature is enabled and "No" if the feature is not enabled. Delayed Power Smoothing Supported Value is "Yes" if the Delayed Power Smoothing feature is supported and "No" if the feature is not supported. Privilege Level The current privilege for the user. Value is 0, 1 or 2. Note that the higher the privilege level, the more information the user will have access to. Immediate Ramp Down Values are "Enabled" or "Disabled". Indicates if ramp down hysteresis value will be honored (when enabled) or ignored (when disabled). Current TMP The last read value of the Total Module Power, in watts. Current TMP FLoor The last read value of the Total Module Power floor, in watts. Max % TMP Floor The highest percentage value for which the Percent TMP Floor can be set. Min % TMP Floor The lowest percentage value for which the Percent TMP Floor can be set. HW Lifetime % Remaining As this feature is used, the circuitry which drives the feature wears down. This value gives the percentage of the remaining lifetime of this hardware. Current Primary Power Floor The current value of the primary power floor, in watts. This value is calculated by doing TMP Ceiling * (% TMP FLoor value). Current Secondary Power Floor The current value of the secondary power floor, in watts. This is the power floor that is applied during active workload periods on the GPU when primary floor activation window multiplier is set to a non-zero value. Min Primary Floor Activation Offset This is the minimum primary floor activation offset accepted by the driver specified in watts. This is a static field. Min Primary Floor Activation Point This is the minimum absolute raw value specified in watts that the driver will use for switching between primary and secondary floor. This point is calculated as 'secondary power floor + primary floor activation offset', and then computed value is floored to 'min primary floor activation point' by the driver at run time. This value is used to avoid setting of switch point too low accidentally. Window Multiplier This is the multiplier unit specified in ms for other multipliers in the profile (primary floor activation window multiplier and primary floor target window multiplier). This is a static field. Number of Preset Profiles This value is the total number of Preset Profiles supported. Current Profile Values for the currently acvive power smoothing preset profile. **% TMP Floor** The percentage of the TMP Ceiling, which is used to set the TMP floor, for the currently active preset profile. For example, if max TMP is 1000 W, and the % TMP floor is 50%, then the min TMP value will be 500 W. This value is in the range [Min % TMP Floor, Max % TMP Floor]. Ramp Up Rate The ramp up rate, measured in mW/s, for the currently active preset profile. Ramp Down Rate The ramp down rate, measured in mW/s, for the currently active preset profile. Ramp Down Hysteresis The ramp down hysteresis value, in ms, for the currently active preset profile. Secondary Power Floor The secondary power floor, measured in watts, for the currently active preset profile. This is the power floor that will be applied during active workload periods on the GPU when primary floor activation window multiplier is set to a non-zero value. Primary Floor Activation Window Multiplier The time multiplier for the activation moving average window size for the currently active preset profile. This is the 'X' ms time multiplier for the activation moving average window size. The activation moving average is compared against the (secondary floor + primary floor activation offset value) to determine if the controller should switch from the secondary floor to the primary floor. Setting this to 0 will disable switching to the secondary floor. Primary Floor Target Window Multiplier The time multiplier for the target moving average window size for the currently active preset profile. This is the 'X' ms time multiplier for the target moving average window size. When set to non-zero value, the target moving average power determines the primary floor. When set to 0, driver will use the Floor percentage instead to derive the primary floor. Primary Floor Activation Offset The primary Floor Activation Offset, measured in watts, for the currently active preset profile. If the target moving average falls below the secondary floor plus this offset, the primary floor will be activated. Active Preset Profile Number The number of the active preset profile. Admin Overrides Admin overrides allow users with sufficient permissions to preempt the values of the currently active preset profile. If an admin override is set for one of the fields, then this value will be used instead of any other configured value. **% TMP Floor** The admin override value for % TMP Floor. This value is in the range [Min % TMP Floor, Max % TMP Floor]. Ramp Up Rate The admin override value for ramp up rate, measured in mW/s. Ramp Down Rate The admin override value for ramp down rate, measured in mW/s. Ramp Down Hysteresis The admin override value for ramp down hysteresis value, in ms. Secondary Power Floor The admin override value for secondary power floor, measured in watts. This is the power floor that will be applied during active workload periods on the GPU when primary floor activation window multiplier is set to a non-zero value. Primary Floor Activation Window Multiplier The admin override value for primary time multiplier for the activation moving average window size. This is the 'X' ms time multiplier for the activation moving average window size. The activation moving average is compared against the (secondary floor + primary floor activation offset value) to determine if the controller should switch from the secondary floor to the primary floor. Setting this to 0 will disable switching to the secondary floor. Primary Floor Target Window Multiplier The admin override value for primary time multiplier for the target moving average window size. This is the 'X' ms time multiplier for the target moving average window size. When set to non-zero value, the target moving average power determines the primary floor. When set to 0, driver will use the Floor percentage instead to derive the primary floor. Primary Floor Activation Offset The admin override value for primary Floor Activation Offset, measured in watts. If the target moving average falls below the secondary floor plus this offset, the primary floor will be activated. Workload Power Profiles Pre-tuned GPU profiles help to provide immediate, optimized configurations for Datacenter use cases. This sections includes information about the currently requested on enfornced power profiles. Requested Profiles The list of user requested profiles. Enforced Profiles Since many of the profiles have conflicting goals, some configurations of requested profiles are incompatible. This is the list of the requested profiles which are currently enforced. EDPp Multiplier The EDPp multiplier expressed as a percentage. This feature is meant for system administrators and cannot be configured via NVML or nvidia- smi. Clocks Current frequency at which parts of the GPU are running. All readings are in MHz. Note that it is possible for clocks to report a lower freqency than the lowest frequency that can be set by SW due to HW optimizations in certain scenarios. Graphics Current frequency of graphics (shader) clock. SM Current frequency of SM (Streaming Multiprocessor) clock. Memory Current frequency of memory clock. Video Current frequency of video (encoder + decoder) clocks. Applications Clocks Applications Clocks will be removed in a future CUDA release. Please use -lmc/-lgc for locking memory/graphics clocks and -rmc/-rgc to reset memory/graphcis clocks. User specified frequency at which applications will be running at. Can be changed with [-ac \| --applications-clocks] switches. Graphics User specified frequency of graphics (shader) clock. Memory User specified frequency of memory clock. Default Applications Clocks Default frequency at which applications will be running at. Application clocks can be changed with [-ac \| --applications-clocks] switches. Application clocks can be set to default using [-rac \| --reset- applications-clocks] switches. Graphics Default frequency of applications graphics (shader) clock. Memory Default frequency of applications memory clock. Deferred Clocks Deferred clocks are clocks that will be applied after the next driver load. Memory The Memory Clock value in MHz that takes effect the next time the GPU is initialized. This can be guaranteed by unloading and reloading the kernel module. Max Clocks Maximum frequency at which parts of the GPU are design to run. All readings are in MHz. Current P0 clocks (reported in Clocks section) can differ from max clocks by few MHz. Graphics Maximum frequency of graphics (shader) clock. SM Maximum frequency of SM (Streaming Multiprocessor) clock. Memory Maximum frequency of memory clock. Video Maximum frequency of video (encoder + decoder) clock. Max Customer Boost Clocks Maximum customer boost frequency at which parts of the GPU are designed to run. All readings are in MHz. Graphics Maximum customer boost frequency of graphics (shader) clock. Clock Policy User-specified settings for automated clocking changes such as auto boost. Auto Boost Indicates whether auto boost mode is currently enabled for this GPU (On) or disabled for this GPU (Off). Shows (N/A) if boost is not supported. Auto boost allows dynamic GPU clocking based on power, thermal and utilization. When auto boost is disabled the GPU will attempt to maintain clocks at precisely the Current Application Clocks settings (whenever a CUDA context is active). With auto boost enabled the GPU will still attempt to maintain this floor, but will opportunistically boost to higher clocks when power, thermal and utilization headroom allow. This setting persists for the life of the CUDA context for which it was requested. Apps can request a particular mode either via an NVML call (see NVML SDK) or by setting the CUDA environment variable CUDA_AUTO_BOOST. This feature is deprecated and will be removed in a future CUDA release. Auto Boost Default Indicates the default setting for auto boost mode, either enabled (On) or disabled (Off). Shows (N/A) if boost is not supported. Apps will run in the default mode if they have not explicitly requested a particular mode. Note: Auto Boost settings can only be modified if "Persistence Mode" is enabled, which is NOT by default. This feature is deprecated and will be removed in a future CUDA release. Fabric GPU Fabric information State Indicates the state of the GPU's handshake with the nvidia- fabricmanager (a.k.a. GPU fabric probe) Possible values: Completed, In Progress, Not Started, Not supported Status Status of the GPU fabric probe response from the nvidia-fabricmanager. Possible values: NVML_SUCCESS or one of the failure codes. Clique ID A clique is a set of GPUs that can communicate to each other over NVLink. The GPUs belonging to the same clique share the same clique ID. Clique ID will only be valid for NVLink multi-node systems. Cluster UUID UUID of an NVLink multi-node cluster to which this GPU belongs. Cluster UUID will be zero for NVLink single-node systems. Health Summary - Summary of Fabric Health Bandwidth - is the GPU NVLink bandwidth degraded or not Route Recovery in progress - is NVLink route recovery in progress Route Unhealthy - is NVLink route recovery failed or aborted Access Timeout Recovery - is NVLink access timeout recovery in progress Incorrect Configuration - Incorrect Configuration status Processes List of processes having Compute or Graphics Context on the device. Compute processes are reported on all the fully supported products. Reporting for Graphics processes is limited to the supported products starting with Kepler architecture. Each Entry is of format " " GPU Index Represents NVML Index of the device. GPU Instance Index Represents GPU Instance Index of the MIG device (if enabled). Compute Instance Index Represents Compute Instance Index of the MIG device (if enabled). PID Represents Process ID corresponding to the active Compute or Graphics context. Type Displayed as "C" for Compute Process, "G" for Graphics Process, "M" for MPS ("Multi-Process Service") Compute Process, and "C+G" or "M+C" for the process having both Compute and Graphics or MPS Compute and Compute contexts. Process Name Represents process name for the Compute, MPS Compute, or Graphics process. GPU Memory Usage Amount of memory used by the GPU context, which represents FB memory usage for discrete GPUs or system memory usage for integrated GPUs. Not available on Windows when running in WDDM mode because Windows KMD manages all the memory not NVIDIA driver. Device Monitoring The "nvidia-smi dmon" command-line is used to monitor one or more GPUs (up to 16 devices) plugged into the system. This tool allows the user to see one line of monitoring data per monitoring cycle. The output is in concise format and easy to interpret in interactive mode. The output data per line is limited by the terminal size. It is supported on Tesla, GRID, Quadro and limited GeForce products for Kepler or newer GPUs under bare metal 64 bits Linux. By default, the monitoring data includes Power Usage, Temperature, SM clocks, Memory clocks and Utilization values for SM, Memory, Encoder, Decoder, JPEG and OFA. It can also be configured to report other metrics such as frame buffer memory usage, bar1 memory usage, power/thermal violations and aggregate single/double bit ecc errors. If any of the metric is not supported on the device or any other error in fetching the metric is reported as "-" in the output data. The user can also configure monitoring frequency and the number of monitoring iterations for each run. There is also an option to include date and time at each line. All the supported options are exclusive and can be used together in any order. Note: On MIG- enabled GPUs, querying the utilization of encoder, decoder, jpeg, ofa, gpu, and memory is not currently supported. Usage: 1) Default with no arguments nvidia-smi dmon Monitors default metrics for up to 16 supported devices under natural enumeration (starting with GPU index 0) at a frequency of 1 sec. Runs until terminated with ^C. 2) Select one or more devices nvidia-smi dmon -i Reports default metrics for the devices selected by comma separated device list. The tool picks up to 16 supported devices from the list under natural enumeration (starting with GPU index 0). 3) Select metrics to be displayed nvidia-smi dmon -s can be one or more from the following: p - Power Usage (in Watts) and GPU/Memory Temperature (in C) if supported u - Utilization (SM, Memory, Encoder, Decoder, JPEG and OFA Utilization in %) c - Proc and Mem Clocks (in MHz) v - Power Violations (in %) and Thermal Violations (as a boolean flag) m - Frame Buffer, Bar1 and Confidential Compute protected memory usage (in MB) e - ECC (Number of aggregated single bit, double bit ecc errors) and PCIe Replay errors t - PCIe Rx and Tx Throughput in MB/s (Maxwell and above) 4) Configure monitoring iterations nvidia-smi dmon -c Displays data for specified number of samples and exit. 5) Configure monitoring frequency nvidia-smi dmon -d