c5de71a424
In state values, we need to be able to distinguish between zero values (e.g. `false`) and unset values (e.g. `nil`). We can alternatively use protobuf `oneOf` and nested map to ensure consistency of fields that are set together, but the golang representation does not represent that well and introducing a mismatch between representations. Thus, I opted not to use it. |
||
---|---|---|
.. | ||
cmd | ||
nvml | ||
device.go | ||
device_test.go | ||
fingerprint.go | ||
fingerprint_test.go | ||
README.md | ||
stats.go | ||
stats_test.go |
This package provides an implementation of nvidia device plugin
Behavior
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. Plugin sends statistics for fingerprinted devices every stats_period
period.
Config
The configuration should be passed via an HCL file that begins with a top level config
stanza:
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 nomadfingerprint_period
(string
:"5s"
): The interval to repeat fingerprint process to identify possible changes.