No description
  • Go 97.3%
  • HCL 1.4%
  • Makefile 0.7%
  • Shell 0.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
dependabot[bot] 05e83c3689
build(deps): bump github.com/NVIDIA/go-nvml from 0.13.0-1 to 0.13.3-1 (#110)
* build(deps): bump github.com/NVIDIA/go-nvml from 0.13.0-1 to 0.13.3-1

Bumps [github.com/NVIDIA/go-nvml](https://github.com/NVIDIA/go-nvml) from 0.13.0-1 to 0.13.3-1.
- [Release notes](https://github.com/NVIDIA/go-nvml/releases)
- [Commits](https://github.com/NVIDIA/go-nvml/compare/v0.13.0-1...v0.13.3-1)

---
updated-dependencies:
- dependency-name: github.com/NVIDIA/go-nvml
  dependency-version: 0.13.3-1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* nvml: fix buildID for go-nvml PciInfo.BusId [32]int8 change

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Vishnu U <vishnu.u@ibm.com>
2026-07-15 17:39:43 +05:30
.github build releases for arm64 (#86) 2026-01-26 09:11:56 -05:00
.release copyright: update headers (#91) 2026-02-16 16:14:45 -05:00
cmd [COMPLIANCE] Add/Update Copyright Headers (#104) 2026-05-11 08:39:29 -04:00
nvml build(deps): bump github.com/NVIDIA/go-nvml from 0.13.0-1 to 0.13.3-1 (#110) 2026-07-15 17:39:43 +05:30
scripts [COMPLIANCE] Add/Update Copyright Headers (#104) 2026-05-11 08:39:29 -04:00
version [COMPLIANCE] Add/Update Copyright Headers (#104) 2026-05-11 08:39:29 -04:00
.copywrite.hcl build: update Makefile to be more modern 2024-06-28 14:40:19 +00:00
.gitignore crt: initial changes to onboard to CRT 2022-04-28 16:55:19 -05:00
.go-version build: update Go to v1.25.7 (#92) 2026-02-18 17:00:19 -05:00
CHANGELOG.md build: update Go to v1.25.7 (#92) 2026-02-18 17:00:19 -05:00
device.go [COMPLIANCE] Add/Update Copyright Headers (#104) 2026-05-11 08:39:29 -04:00
device_test.go [COMPLIANCE] Add/Update Copyright Headers (#104) 2026-05-11 08:39:29 -04:00
fingerprint.go [COMPLIANCE] Add/Update Copyright Headers (#104) 2026-05-11 08:39:29 -04:00
fingerprint_test.go [COMPLIANCE] Add/Update Copyright Headers (#104) 2026-05-11 08:39:29 -04:00
go.mod build(deps): bump github.com/NVIDIA/go-nvml from 0.13.0-1 to 0.13.3-1 (#110) 2026-07-15 17:39:43 +05:30
go.sum build(deps): bump github.com/NVIDIA/go-nvml from 0.13.0-1 to 0.13.3-1 (#110) 2026-07-15 17:39:43 +05:30
LICENSE [COMPLIANCE] Update MPL 2.0 LICENSE (#10) 2022-10-13 08:32:54 -04:00
Makefile build releases for arm64 (#86) 2026-01-26 09:11:56 -05:00
README.md docs: stats_period configuration was removed long ago 2024-10-01 15:56:22 +00:00
stats.go [COMPLIANCE] Add/Update Copyright Headers (#104) 2026-05-11 08:39:29 -04:00
stats_test.go [COMPLIANCE] Add/Update Copyright Headers (#104) 2026-05-11 08:39:29 -04:00

Nomad Nvidia Device Plugin

This repository provides an implementation of a Nomad device plugin for Nvidia GPUs.

Behavior

The Nvidia device plugin uses NVML bindings to get data regarding available Nvidia devices and will expose them via Fingerprint RPC. GPUs can be excluded from fingerprinting by setting the ignored_gpu_ids field (see below). Plugin sends statistics for fingerprinted devices periodically.

The plugin detects whether the GPU has Multi-Instance GPU (MIG) enabled. When enabled all instances will be fingerprinted as individual GPUs that can be addressed accordingly.

Config

The plugin is configured in the Nomad client's plugin block:

plugin "nvidia" {
  config {
    ignored_gpu_ids    = ["uuid1", "uuid2"]
    fingerprint_period = "5s"
  }
}

The valid configuration options are:

  • ignored_gpu_ids (list(string): []): list of GPU UUIDs strings that should not be exposed to nomad
  • fingerprint_period (string: "1m"): interval to repeat the fingerprint process to identify possible changes.