mirror of
https://github.com/NVIDIA/nvidia-container-toolkit
synced 2024-11-22 00:08:11 +00:00
Merge branch 'add-cdi-auto-mode' into 'main'
Add auto mode to CDI spec generation See merge request nvidia/container-toolkit/container-toolkit!292
This commit is contained in:
commit
ba50b50a15
@ -36,6 +36,7 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
discoveryModeAuto = "auto"
|
||||
discoveryModeNVML = "nvml"
|
||||
discoveryModeWSL = "wsl"
|
||||
|
||||
@ -96,8 +97,8 @@ func (m command) build() *cli.Command {
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "discovery-mode",
|
||||
Usage: "The mode to use when discovering the available entities. One of [nvml | wsl]",
|
||||
Value: discoveryModeNVML,
|
||||
Usage: "The mode to use when discovering the available entities. One of [auto | nvml | wsl]. I mode is set to 'auto' the mode will be determined based on the system configuration.",
|
||||
Value: discoveryModeAuto,
|
||||
Destination: &cfg.discoveryMode,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
@ -132,6 +133,7 @@ func (m command) validateFlags(r *cli.Context, cfg *config) error {
|
||||
|
||||
cfg.discoveryMode = strings.ToLower(cfg.discoveryMode)
|
||||
switch cfg.discoveryMode {
|
||||
case discoveryModeAuto:
|
||||
case discoveryModeNVML:
|
||||
case discoveryModeWSL:
|
||||
default:
|
||||
|
4
go.mod
4
go.mod
@ -4,7 +4,7 @@ go 1.18
|
||||
|
||||
require (
|
||||
github.com/BurntSushi/toml v1.0.0
|
||||
github.com/NVIDIA/go-nvml v0.11.6-0.0.20220823120812-7e2082095e82
|
||||
github.com/NVIDIA/go-nvml v0.12.0-0
|
||||
github.com/container-orchestrated-devices/container-device-interface v0.5.4-0.20230111111500-5b3b5d81179a
|
||||
github.com/fsnotify/fsnotify v1.5.4
|
||||
github.com/opencontainers/runtime-spec v1.0.3-0.20220825212826-86290f6a00fb
|
||||
@ -12,7 +12,7 @@ require (
|
||||
github.com/sirupsen/logrus v1.9.0
|
||||
github.com/stretchr/testify v1.7.0
|
||||
github.com/urfave/cli/v2 v2.3.0
|
||||
gitlab.com/nvidia/cloud-native/go-nvlib v0.0.0-20230119114711-6fe07bb33342
|
||||
gitlab.com/nvidia/cloud-native/go-nvlib v0.0.0-20230209143738-95328d8c4438
|
||||
golang.org/x/mod v0.5.0
|
||||
golang.org/x/sys v0.0.0-20220927170352-d9d178bc13c6
|
||||
sigs.k8s.io/yaml v1.3.0
|
||||
|
4
go.sum
4
go.sum
@ -3,6 +3,8 @@ github.com/BurntSushi/toml v1.0.0 h1:dtDWrepsVPfW9H/4y7dDgFc2MBUSeJhlaDtK13CxFlU
|
||||
github.com/BurntSushi/toml v1.0.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
|
||||
github.com/NVIDIA/go-nvml v0.11.6-0.0.20220823120812-7e2082095e82 h1:x751Xx1tdxkiA/sdkv2J769n21UbYKzVOpe9S/h1M3k=
|
||||
github.com/NVIDIA/go-nvml v0.11.6-0.0.20220823120812-7e2082095e82/go.mod h1:hy7HYeQy335x6nEss0Ne3PYqleRa6Ct+VKD9RQ4nyFs=
|
||||
github.com/NVIDIA/go-nvml v0.12.0-0 h1:eHYNHbzAsMgWYshf6dEmTY66/GCXnORJFnzm3TNH4mc=
|
||||
github.com/NVIDIA/go-nvml v0.12.0-0/go.mod h1:hy7HYeQy335x6nEss0Ne3PYqleRa6Ct+VKD9RQ4nyFs=
|
||||
github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM=
|
||||
github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ=
|
||||
github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E=
|
||||
@ -88,6 +90,8 @@ github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17
|
||||
github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y=
|
||||
gitlab.com/nvidia/cloud-native/go-nvlib v0.0.0-20230119114711-6fe07bb33342 h1:083n9fJt2dWOpJd/X/q9Xgl5XtQLL22uSFYbzVqJssg=
|
||||
gitlab.com/nvidia/cloud-native/go-nvlib v0.0.0-20230119114711-6fe07bb33342/go.mod h1:GStidGxhaqJhYFW1YpOnLvYCbL2EsM0od7IW4u7+JgU=
|
||||
gitlab.com/nvidia/cloud-native/go-nvlib v0.0.0-20230209143738-95328d8c4438 h1:+qRai7XRl8omFQVCeHcaWzL542Yw64vfmuXG+79ZCIc=
|
||||
gitlab.com/nvidia/cloud-native/go-nvlib v0.0.0-20230209143738-95328d8c4438/go.mod h1:GStidGxhaqJhYFW1YpOnLvYCbL2EsM0od7IW4u7+JgU=
|
||||
golang.org/x/mod v0.5.0 h1:UG21uOlmZabA4fW5i7ZX6bjw1xELEGg/ZLgZq9auk/Q=
|
||||
golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
|
||||
golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||
|
@ -19,6 +19,7 @@ package nvcdi
|
||||
import (
|
||||
"github.com/sirupsen/logrus"
|
||||
"gitlab.com/nvidia/cloud-native/go-nvlib/pkg/nvlib/device"
|
||||
"gitlab.com/nvidia/cloud-native/go-nvlib/pkg/nvlib/info"
|
||||
"gitlab.com/nvidia/cloud-native/go-nvlib/pkg/nvml"
|
||||
)
|
||||
|
||||
@ -39,7 +40,7 @@ func New(opts ...Option) Interface {
|
||||
opt(l)
|
||||
}
|
||||
if l.mode == "" {
|
||||
l.mode = "nvml"
|
||||
l.mode = "auto"
|
||||
}
|
||||
if l.logger == nil {
|
||||
l.logger = logrus.StandardLogger()
|
||||
@ -54,7 +55,7 @@ func New(opts ...Option) Interface {
|
||||
l.nvidiaCTKPath = "/usr/bin/nvidia-ctk"
|
||||
}
|
||||
|
||||
switch l.mode {
|
||||
switch l.resolveMode() {
|
||||
case "nvml":
|
||||
if l.nvmllib == nil {
|
||||
l.nvmllib = nvml.New()
|
||||
@ -71,3 +72,24 @@ func New(opts ...Option) Interface {
|
||||
// TODO: We want an error here.
|
||||
return nil
|
||||
}
|
||||
|
||||
// resolveMode resolves the mode for CDI spec generation based on the current system.
|
||||
func (l *nvcdilib) resolveMode() (rmode string) {
|
||||
if l.mode != "auto" {
|
||||
return l.mode
|
||||
}
|
||||
defer func() {
|
||||
l.logger.Infof("Auto-detected mode as %q", rmode)
|
||||
}()
|
||||
|
||||
nvinfo := info.New()
|
||||
|
||||
isWSL, reason := nvinfo.HasDXCore()
|
||||
l.logger.Debugf("Is WSL-based system? %v: %v", isWSL, reason)
|
||||
|
||||
if isWSL {
|
||||
return "wsl"
|
||||
}
|
||||
|
||||
return "nvml"
|
||||
}
|
||||
|
320
vendor/github.com/NVIDIA/go-nvml/pkg/nvml/const.go
generated
vendored
320
vendor/github.com/NVIDIA/go-nvml/pkg/nvml/const.go
generated
vendored
@ -44,11 +44,13 @@ const (
|
||||
// DEVICE_PCI_BUS_ID_FMT as defined in nvml/nvml.h
|
||||
DEVICE_PCI_BUS_ID_FMT = "%08X:%02X:%02X.0"
|
||||
// NVLINK_MAX_LINKS as defined in nvml/nvml.h
|
||||
NVLINK_MAX_LINKS = 12
|
||||
NVLINK_MAX_LINKS = 18
|
||||
// TOPOLOGY_CPU as defined in nvml/nvml.h
|
||||
TOPOLOGY_CPU = 0
|
||||
// MAX_PHYSICAL_BRIDGE as defined in nvml/nvml.h
|
||||
MAX_PHYSICAL_BRIDGE = 128
|
||||
// MAX_THERMAL_SENSORS_PER_GPU as defined in nvml/nvml.h
|
||||
MAX_THERMAL_SENSORS_PER_GPU = 3
|
||||
// FlagDefault as defined in nvml/nvml.h
|
||||
FlagDefault = 0
|
||||
// FlagForce as defined in nvml/nvml.h
|
||||
@ -57,6 +59,8 @@ const (
|
||||
SINGLE_BIT_ECC = 0
|
||||
// DOUBLE_BIT_ECC as defined in nvml/nvml.h
|
||||
DOUBLE_BIT_ECC = 0
|
||||
// MAX_GPU_PERF_PSTATES as defined in nvml/nvml.h
|
||||
MAX_GPU_PERF_PSTATES = 16
|
||||
// GRID_LICENSE_EXPIRY_NOT_AVAILABLE as defined in nvml/nvml.h
|
||||
GRID_LICENSE_EXPIRY_NOT_AVAILABLE = 0
|
||||
// GRID_LICENSE_EXPIRY_INVALID as defined in nvml/nvml.h
|
||||
@ -73,6 +77,18 @@ const (
|
||||
VGPU_NAME_BUFFER_SIZE = 64
|
||||
// GRID_LICENSE_FEATURE_MAX_COUNT as defined in nvml/nvml.h
|
||||
GRID_LICENSE_FEATURE_MAX_COUNT = 3
|
||||
// VGPU_SCHEDULER_POLICY_UNKNOWN as defined in nvml/nvml.h
|
||||
VGPU_SCHEDULER_POLICY_UNKNOWN = 0
|
||||
// VGPU_SCHEDULER_POLICY_BEST_EFFORT as defined in nvml/nvml.h
|
||||
VGPU_SCHEDULER_POLICY_BEST_EFFORT = 1
|
||||
// VGPU_SCHEDULER_POLICY_EQUAL_SHARE as defined in nvml/nvml.h
|
||||
VGPU_SCHEDULER_POLICY_EQUAL_SHARE = 2
|
||||
// VGPU_SCHEDULER_POLICY_FIXED_SHARE as defined in nvml/nvml.h
|
||||
VGPU_SCHEDULER_POLICY_FIXED_SHARE = 3
|
||||
// SUPPORTED_VGPU_SCHEDULER_POLICY_COUNT as defined in nvml/nvml.h
|
||||
SUPPORTED_VGPU_SCHEDULER_POLICY_COUNT = 3
|
||||
// SCHEDULER_SW_MAX_LOG_ENTRIES as defined in nvml/nvml.h
|
||||
SCHEDULER_SW_MAX_LOG_ENTRIES = 200
|
||||
// GRID_LICENSE_STATE_UNKNOWN as defined in nvml/nvml.h
|
||||
GRID_LICENSE_STATE_UNKNOWN = 0
|
||||
// GRID_LICENSE_STATE_UNINITIALIZED as defined in nvml/nvml.h
|
||||
@ -85,6 +101,8 @@ const (
|
||||
GRID_LICENSE_STATE_UNLICENSED = 4
|
||||
// GRID_LICENSE_STATE_LICENSED as defined in nvml/nvml.h
|
||||
GRID_LICENSE_STATE_LICENSED = 5
|
||||
// GSP_FIRMWARE_VERSION_BUF_SIZE as defined in nvml/nvml.h
|
||||
GSP_FIRMWARE_VERSION_BUF_SIZE = 64
|
||||
// DEVICE_ARCH_KEPLER as defined in nvml/nvml.h
|
||||
DEVICE_ARCH_KEPLER = 2
|
||||
// DEVICE_ARCH_MAXWELL as defined in nvml/nvml.h
|
||||
@ -97,6 +115,10 @@ const (
|
||||
DEVICE_ARCH_TURING = 6
|
||||
// DEVICE_ARCH_AMPERE as defined in nvml/nvml.h
|
||||
DEVICE_ARCH_AMPERE = 7
|
||||
// DEVICE_ARCH_ADA as defined in nvml/nvml.h
|
||||
DEVICE_ARCH_ADA = 8
|
||||
// DEVICE_ARCH_HOPPER as defined in nvml/nvml.h
|
||||
DEVICE_ARCH_HOPPER = 9
|
||||
// DEVICE_ARCH_UNKNOWN as defined in nvml/nvml.h
|
||||
DEVICE_ARCH_UNKNOWN = 4294967295
|
||||
// BUS_TYPE_UNKNOWN as defined in nvml/nvml.h
|
||||
@ -109,6 +131,10 @@ const (
|
||||
BUS_TYPE_FPCI = 3
|
||||
// BUS_TYPE_AGP as defined in nvml/nvml.h
|
||||
BUS_TYPE_AGP = 4
|
||||
// FAN_POLICY_TEMPERATURE_CONTINOUS_SW as defined in nvml/nvml.h
|
||||
FAN_POLICY_TEMPERATURE_CONTINOUS_SW = 0
|
||||
// FAN_POLICY_MANUAL as defined in nvml/nvml.h
|
||||
FAN_POLICY_MANUAL = 1
|
||||
// POWER_SOURCE_AC as defined in nvml/nvml.h
|
||||
POWER_SOURCE_AC = 0
|
||||
// POWER_SOURCE_BATTERY as defined in nvml/nvml.h
|
||||
@ -125,10 +151,14 @@ const (
|
||||
PCIE_LINK_MAX_SPEED_16000MBPS = 4
|
||||
// PCIE_LINK_MAX_SPEED_32000MBPS as defined in nvml/nvml.h
|
||||
PCIE_LINK_MAX_SPEED_32000MBPS = 5
|
||||
// PCIE_LINK_MAX_SPEED_64000MBPS as defined in nvml/nvml.h
|
||||
PCIE_LINK_MAX_SPEED_64000MBPS = 6
|
||||
// ADAPTIVE_CLOCKING_INFO_STATUS_DISABLED as defined in nvml/nvml.h
|
||||
ADAPTIVE_CLOCKING_INFO_STATUS_DISABLED = 0
|
||||
// ADAPTIVE_CLOCKING_INFO_STATUS_ENABLED as defined in nvml/nvml.h
|
||||
ADAPTIVE_CLOCKING_INFO_STATUS_ENABLED = 1
|
||||
// MAX_GPU_UTILIZATIONS as defined in nvml/nvml.h
|
||||
MAX_GPU_UTILIZATIONS = 8
|
||||
// FI_DEV_ECC_CURRENT as defined in nvml/nvml.h
|
||||
FI_DEV_ECC_CURRENT = 1
|
||||
// FI_DEV_ECC_PENDING as defined in nvml/nvml.h
|
||||
@ -449,8 +479,26 @@ const (
|
||||
FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L11 = 159
|
||||
// FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_TOTAL as defined in nvml/nvml.h
|
||||
FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_TOTAL = 160
|
||||
// FI_DEV_NVLINK_ERROR_DL_REPLAY as defined in nvml/nvml.h
|
||||
FI_DEV_NVLINK_ERROR_DL_REPLAY = 161
|
||||
// FI_DEV_NVLINK_ERROR_DL_RECOVERY as defined in nvml/nvml.h
|
||||
FI_DEV_NVLINK_ERROR_DL_RECOVERY = 162
|
||||
// FI_DEV_NVLINK_ERROR_DL_CRC as defined in nvml/nvml.h
|
||||
FI_DEV_NVLINK_ERROR_DL_CRC = 163
|
||||
// FI_DEV_NVLINK_GET_SPEED as defined in nvml/nvml.h
|
||||
FI_DEV_NVLINK_GET_SPEED = 164
|
||||
// FI_DEV_NVLINK_GET_STATE as defined in nvml/nvml.h
|
||||
FI_DEV_NVLINK_GET_STATE = 165
|
||||
// FI_DEV_NVLINK_GET_VERSION as defined in nvml/nvml.h
|
||||
FI_DEV_NVLINK_GET_VERSION = 166
|
||||
// FI_DEV_NVLINK_GET_POWER_STATE as defined in nvml/nvml.h
|
||||
FI_DEV_NVLINK_GET_POWER_STATE = 167
|
||||
// FI_DEV_NVLINK_GET_POWER_THRESHOLD as defined in nvml/nvml.h
|
||||
FI_DEV_NVLINK_GET_POWER_THRESHOLD = 168
|
||||
// FI_DEV_PCIE_L0_TO_RECOVERY_COUNTER as defined in nvml/nvml.h
|
||||
FI_DEV_PCIE_L0_TO_RECOVERY_COUNTER = 169
|
||||
// FI_MAX as defined in nvml/nvml.h
|
||||
FI_MAX = 161
|
||||
FI_MAX = 170
|
||||
// EventTypeSingleBitEccError as defined in nvml/nvml.h
|
||||
EventTypeSingleBitEccError = 1
|
||||
// EventTypeDoubleBitEccError as defined in nvml/nvml.h
|
||||
@ -503,6 +551,16 @@ const (
|
||||
NVFBC_SESSION_FLAG_CAPTURE_WITH_WAIT_INFINITE = 8
|
||||
// NVFBC_SESSION_FLAG_CAPTURE_WITH_WAIT_TIMEOUT as defined in nvml/nvml.h
|
||||
NVFBC_SESSION_FLAG_CAPTURE_WITH_WAIT_TIMEOUT = 16
|
||||
// GPU_FABRIC_UUID_LEN as defined in nvml/nvml.h
|
||||
GPU_FABRIC_UUID_LEN = 16
|
||||
// GPU_FABRIC_STATE_NOT_SUPPORTED as defined in nvml/nvml.h
|
||||
GPU_FABRIC_STATE_NOT_SUPPORTED = 0
|
||||
// GPU_FABRIC_STATE_NOT_STARTED as defined in nvml/nvml.h
|
||||
GPU_FABRIC_STATE_NOT_STARTED = 1
|
||||
// GPU_FABRIC_STATE_IN_PROGRESS as defined in nvml/nvml.h
|
||||
GPU_FABRIC_STATE_IN_PROGRESS = 2
|
||||
// GPU_FABRIC_STATE_COMPLETED as defined in nvml/nvml.h
|
||||
GPU_FABRIC_STATE_COMPLETED = 3
|
||||
// INIT_FLAG_NO_GPUS as defined in nvml/nvml.h
|
||||
INIT_FLAG_NO_GPUS = 1
|
||||
// INIT_FLAG_NO_ATTACH as defined in nvml/nvml.h
|
||||
@ -551,8 +609,12 @@ const (
|
||||
GPU_INSTANCE_PROFILE_6_SLICE = 6
|
||||
// GPU_INSTANCE_PROFILE_1_SLICE_REV1 as defined in nvml/nvml.h
|
||||
GPU_INSTANCE_PROFILE_1_SLICE_REV1 = 7
|
||||
// GPU_INSTANCE_PROFILE_2_SLICE_REV1 as defined in nvml/nvml.h
|
||||
GPU_INSTANCE_PROFILE_2_SLICE_REV1 = 8
|
||||
// GPU_INSTANCE_PROFILE_1_SLICE_REV2 as defined in nvml/nvml.h
|
||||
GPU_INSTANCE_PROFILE_1_SLICE_REV2 = 9
|
||||
// GPU_INSTANCE_PROFILE_COUNT as defined in nvml/nvml.h
|
||||
GPU_INSTANCE_PROFILE_COUNT = 8
|
||||
GPU_INSTANCE_PROFILE_COUNT = 10
|
||||
// COMPUTE_INSTANCE_PROFILE_1_SLICE as defined in nvml/nvml.h
|
||||
COMPUTE_INSTANCE_PROFILE_1_SLICE = 0
|
||||
// COMPUTE_INSTANCE_PROFILE_2_SLICE as defined in nvml/nvml.h
|
||||
@ -567,12 +629,32 @@ const (
|
||||
COMPUTE_INSTANCE_PROFILE_8_SLICE = 5
|
||||
// COMPUTE_INSTANCE_PROFILE_6_SLICE as defined in nvml/nvml.h
|
||||
COMPUTE_INSTANCE_PROFILE_6_SLICE = 6
|
||||
// COMPUTE_INSTANCE_PROFILE_1_SLICE_REV1 as defined in nvml/nvml.h
|
||||
COMPUTE_INSTANCE_PROFILE_1_SLICE_REV1 = 7
|
||||
// COMPUTE_INSTANCE_PROFILE_COUNT as defined in nvml/nvml.h
|
||||
COMPUTE_INSTANCE_PROFILE_COUNT = 7
|
||||
COMPUTE_INSTANCE_PROFILE_COUNT = 8
|
||||
// COMPUTE_INSTANCE_ENGINE_PROFILE_SHARED as defined in nvml/nvml.h
|
||||
COMPUTE_INSTANCE_ENGINE_PROFILE_SHARED = 0
|
||||
// COMPUTE_INSTANCE_ENGINE_PROFILE_COUNT as defined in nvml/nvml.h
|
||||
COMPUTE_INSTANCE_ENGINE_PROFILE_COUNT = 1
|
||||
// GPM_METRICS_GET_VERSION as defined in nvml/nvml.h
|
||||
GPM_METRICS_GET_VERSION = 1
|
||||
// GPM_SUPPORT_VERSION as defined in nvml/nvml.h
|
||||
GPM_SUPPORT_VERSION = 1
|
||||
// COUNTER_COLLECTION_UNIT_STREAM_STATE_DISABLE as defined in nvml/nvml.h
|
||||
COUNTER_COLLECTION_UNIT_STREAM_STATE_DISABLE = 0
|
||||
// COUNTER_COLLECTION_UNIT_STREAM_STATE_ENABLE as defined in nvml/nvml.h
|
||||
COUNTER_COLLECTION_UNIT_STREAM_STATE_ENABLE = 1
|
||||
// NVLINK_POWER_STATE_HIGH_SPEED as defined in nvml/nvml.h
|
||||
NVLINK_POWER_STATE_HIGH_SPEED = 0
|
||||
// NVLINK_POWER_STATE_LOW as defined in nvml/nvml.h
|
||||
NVLINK_POWER_STATE_LOW = 1
|
||||
// NVLINK_LOW_POWER_THRESHOLD_MIN as defined in nvml/nvml.h
|
||||
NVLINK_LOW_POWER_THRESHOLD_MIN = 1
|
||||
// NVLINK_LOW_POWER_THRESHOLD_MAX as defined in nvml/nvml.h
|
||||
NVLINK_LOW_POWER_THRESHOLD_MAX = 8191
|
||||
// NVLINK_LOW_POWER_THRESHOLD_RESET as defined in nvml/nvml.h
|
||||
NVLINK_LOW_POWER_THRESHOLD_RESET = 4294967295
|
||||
)
|
||||
|
||||
// BridgeChipType as declared in nvml/nvml.h
|
||||
@ -918,32 +1000,34 @@ type Return int32
|
||||
|
||||
// Return enumeration from nvml/nvml.h
|
||||
const (
|
||||
SUCCESS Return = iota
|
||||
ERROR_UNINITIALIZED Return = 1
|
||||
ERROR_INVALID_ARGUMENT Return = 2
|
||||
ERROR_NOT_SUPPORTED Return = 3
|
||||
ERROR_NO_PERMISSION Return = 4
|
||||
ERROR_ALREADY_INITIALIZED Return = 5
|
||||
ERROR_NOT_FOUND Return = 6
|
||||
ERROR_INSUFFICIENT_SIZE Return = 7
|
||||
ERROR_INSUFFICIENT_POWER Return = 8
|
||||
ERROR_DRIVER_NOT_LOADED Return = 9
|
||||
ERROR_TIMEOUT Return = 10
|
||||
ERROR_IRQ_ISSUE Return = 11
|
||||
ERROR_LIBRARY_NOT_FOUND Return = 12
|
||||
ERROR_FUNCTION_NOT_FOUND Return = 13
|
||||
ERROR_CORRUPTED_INFOROM Return = 14
|
||||
ERROR_GPU_IS_LOST Return = 15
|
||||
ERROR_RESET_REQUIRED Return = 16
|
||||
ERROR_OPERATING_SYSTEM Return = 17
|
||||
ERROR_LIB_RM_VERSION_MISMATCH Return = 18
|
||||
ERROR_IN_USE Return = 19
|
||||
ERROR_MEMORY Return = 20
|
||||
ERROR_NO_DATA Return = 21
|
||||
ERROR_VGPU_ECC_NOT_SUPPORTED Return = 22
|
||||
ERROR_INSUFFICIENT_RESOURCES Return = 23
|
||||
ERROR_FREQ_NOT_SUPPORTED Return = 24
|
||||
ERROR_UNKNOWN Return = 999
|
||||
SUCCESS Return = iota
|
||||
ERROR_UNINITIALIZED Return = 1
|
||||
ERROR_INVALID_ARGUMENT Return = 2
|
||||
ERROR_NOT_SUPPORTED Return = 3
|
||||
ERROR_NO_PERMISSION Return = 4
|
||||
ERROR_ALREADY_INITIALIZED Return = 5
|
||||
ERROR_NOT_FOUND Return = 6
|
||||
ERROR_INSUFFICIENT_SIZE Return = 7
|
||||
ERROR_INSUFFICIENT_POWER Return = 8
|
||||
ERROR_DRIVER_NOT_LOADED Return = 9
|
||||
ERROR_TIMEOUT Return = 10
|
||||
ERROR_IRQ_ISSUE Return = 11
|
||||
ERROR_LIBRARY_NOT_FOUND Return = 12
|
||||
ERROR_FUNCTION_NOT_FOUND Return = 13
|
||||
ERROR_CORRUPTED_INFOROM Return = 14
|
||||
ERROR_GPU_IS_LOST Return = 15
|
||||
ERROR_RESET_REQUIRED Return = 16
|
||||
ERROR_OPERATING_SYSTEM Return = 17
|
||||
ERROR_LIB_RM_VERSION_MISMATCH Return = 18
|
||||
ERROR_IN_USE Return = 19
|
||||
ERROR_MEMORY Return = 20
|
||||
ERROR_NO_DATA Return = 21
|
||||
ERROR_VGPU_ECC_NOT_SUPPORTED Return = 22
|
||||
ERROR_INSUFFICIENT_RESOURCES Return = 23
|
||||
ERROR_FREQ_NOT_SUPPORTED Return = 24
|
||||
ERROR_ARGUMENT_VERSION_MISMATCH Return = 25
|
||||
ERROR_DEPRECATED Return = 26
|
||||
ERROR_UNKNOWN Return = 999
|
||||
)
|
||||
|
||||
// MemoryLocation as declared in nvml/nvml.h
|
||||
@ -983,18 +1067,6 @@ const (
|
||||
RESTRICTED_API_COUNT RestrictedAPI = 2
|
||||
)
|
||||
|
||||
// NvLinkEccLaneErrorCounter as declared in nvml/nvml.h
|
||||
type NvLinkEccLaneErrorCounter int32
|
||||
|
||||
// NvLinkEccLaneErrorCounter enumeration from nvml/nvml.h
|
||||
const (
|
||||
NVLINK_ERROR_DL_ECC_LANE0 NvLinkEccLaneErrorCounter = iota
|
||||
NVLINK_ERROR_DL_ECC_LANE1 NvLinkEccLaneErrorCounter = 1
|
||||
NVLINK_ERROR_DL_ECC_LANE2 NvLinkEccLaneErrorCounter = 2
|
||||
NVLINK_ERROR_DL_ECC_LANE3 NvLinkEccLaneErrorCounter = 3
|
||||
NVLINK_ERROR_DL_ECC_COUNT NvLinkEccLaneErrorCounter = 4
|
||||
)
|
||||
|
||||
// GpuVirtualizationMode as declared in nvml/nvml.h
|
||||
type GpuVirtualizationMode int32
|
||||
|
||||
@ -1034,6 +1106,50 @@ const (
|
||||
VGPU_INSTANCE_GUEST_INFO_STATE_INITIALIZED VgpuGuestInfoState = 1
|
||||
)
|
||||
|
||||
// VgpuCapability as declared in nvml/nvml.h
|
||||
type VgpuCapability int32
|
||||
|
||||
// VgpuCapability enumeration from nvml/nvml.h
|
||||
const (
|
||||
VGPU_CAP_NVLINK_P2P VgpuCapability = iota
|
||||
VGPU_CAP_GPUDIRECT VgpuCapability = 1
|
||||
VGPU_CAP_MULTI_VGPU_EXCLUSIVE VgpuCapability = 2
|
||||
VGPU_CAP_EXCLUSIVE_TYPE VgpuCapability = 3
|
||||
VGPU_CAP_EXCLUSIVE_SIZE VgpuCapability = 4
|
||||
VGPU_CAP_COUNT VgpuCapability = 5
|
||||
)
|
||||
|
||||
// VgpuDriverCapability as declared in nvml/nvml.h
|
||||
type VgpuDriverCapability int32
|
||||
|
||||
// VgpuDriverCapability enumeration from nvml/nvml.h
|
||||
const (
|
||||
VGPU_DRIVER_CAP_HETEROGENEOUS_MULTI_VGPU VgpuDriverCapability = iota
|
||||
VGPU_DRIVER_CAP_COUNT VgpuDriverCapability = 1
|
||||
)
|
||||
|
||||
// DeviceVgpuCapability as declared in nvml/nvml.h
|
||||
type DeviceVgpuCapability int32
|
||||
|
||||
// DeviceVgpuCapability enumeration from nvml/nvml.h
|
||||
const (
|
||||
DEVICE_VGPU_CAP_FRACTIONAL_MULTI_VGPU DeviceVgpuCapability = iota
|
||||
DEVICE_VGPU_CAP_HETEROGENEOUS_TIMESLICE_PROFILES DeviceVgpuCapability = 1
|
||||
DEVICE_VGPU_CAP_HETEROGENEOUS_TIMESLICE_SIZES DeviceVgpuCapability = 2
|
||||
DEVICE_VGPU_CAP_COUNT DeviceVgpuCapability = 3
|
||||
)
|
||||
|
||||
// GpuUtilizationDomainId as declared in nvml/nvml.h
|
||||
type GpuUtilizationDomainId int32
|
||||
|
||||
// GpuUtilizationDomainId enumeration from nvml/nvml.h
|
||||
const (
|
||||
GPU_UTILIZATION_DOMAIN_GPU GpuUtilizationDomainId = iota
|
||||
GPU_UTILIZATION_DOMAIN_FB GpuUtilizationDomainId = 1
|
||||
GPU_UTILIZATION_DOMAIN_VID GpuUtilizationDomainId = 2
|
||||
GPU_UTILIZATION_DOMAIN_BUS GpuUtilizationDomainId = 3
|
||||
)
|
||||
|
||||
// FanState as declared in nvml/nvml.h
|
||||
type FanState int32
|
||||
|
||||
@ -1125,6 +1241,49 @@ const (
|
||||
VGPU_COMPATIBILITY_LIMIT_OTHER VgpuPgpuCompatibilityLimitCode = -2147483648
|
||||
)
|
||||
|
||||
// ThermalTarget as declared in nvml/nvml.h
|
||||
type ThermalTarget int32
|
||||
|
||||
// ThermalTarget enumeration from nvml/nvml.h
|
||||
const (
|
||||
THERMAL_TARGET_NONE ThermalTarget = iota
|
||||
THERMAL_TARGET_GPU ThermalTarget = 1
|
||||
THERMAL_TARGET_MEMORY ThermalTarget = 2
|
||||
THERMAL_TARGET_POWER_SUPPLY ThermalTarget = 4
|
||||
THERMAL_TARGET_BOARD ThermalTarget = 8
|
||||
THERMAL_TARGET_VCD_BOARD ThermalTarget = 9
|
||||
THERMAL_TARGET_VCD_INLET ThermalTarget = 10
|
||||
THERMAL_TARGET_VCD_OUTLET ThermalTarget = 11
|
||||
THERMAL_TARGET_ALL ThermalTarget = 15
|
||||
THERMAL_TARGET_UNKNOWN ThermalTarget = -1
|
||||
)
|
||||
|
||||
// ThermalController as declared in nvml/nvml.h
|
||||
type ThermalController int32
|
||||
|
||||
// ThermalController enumeration from nvml/nvml.h
|
||||
const (
|
||||
THERMAL_CONTROLLER_NONE ThermalController = iota
|
||||
THERMAL_CONTROLLER_GPU_INTERNAL ThermalController = 1
|
||||
THERMAL_CONTROLLER_ADM1032 ThermalController = 2
|
||||
THERMAL_CONTROLLER_ADT7461 ThermalController = 3
|
||||
THERMAL_CONTROLLER_MAX6649 ThermalController = 4
|
||||
THERMAL_CONTROLLER_MAX1617 ThermalController = 5
|
||||
THERMAL_CONTROLLER_LM99 ThermalController = 6
|
||||
THERMAL_CONTROLLER_LM89 ThermalController = 7
|
||||
THERMAL_CONTROLLER_LM64 ThermalController = 8
|
||||
THERMAL_CONTROLLER_G781 ThermalController = 9
|
||||
THERMAL_CONTROLLER_ADT7473 ThermalController = 10
|
||||
THERMAL_CONTROLLER_SBMAX6649 ThermalController = 11
|
||||
THERMAL_CONTROLLER_VBIOSEVT ThermalController = 12
|
||||
THERMAL_CONTROLLER_OS ThermalController = 13
|
||||
THERMAL_CONTROLLER_NVSYSCON_CANOAS ThermalController = 14
|
||||
THERMAL_CONTROLLER_NVSYSCON_E551 ThermalController = 15
|
||||
THERMAL_CONTROLLER_MAX6649R ThermalController = 16
|
||||
THERMAL_CONTROLLER_ADT7473S ThermalController = 17
|
||||
THERMAL_CONTROLLER_UNKNOWN ThermalController = -1
|
||||
)
|
||||
|
||||
// GridLicenseFeatureCode as declared in nvml/nvml.h
|
||||
type GridLicenseFeatureCode int32
|
||||
|
||||
@ -1137,3 +1296,80 @@ const (
|
||||
GRID_LICENSE_FEATURE_CODE_GAMING GridLicenseFeatureCode = 3
|
||||
GRID_LICENSE_FEATURE_CODE_COMPUTE GridLicenseFeatureCode = 4
|
||||
)
|
||||
|
||||
// GpmMetricId as declared in nvml/nvml.h
|
||||
type GpmMetricId int32
|
||||
|
||||
// GpmMetricId enumeration from nvml/nvml.h
|
||||
const (
|
||||
GPM_METRIC_GRAPHICS_UTIL GpmMetricId = 1
|
||||
GPM_METRIC_SM_UTIL GpmMetricId = 2
|
||||
GPM_METRIC_SM_OCCUPANCY GpmMetricId = 3
|
||||
GPM_METRIC_INTEGER_UTIL GpmMetricId = 4
|
||||
GPM_METRIC_ANY_TENSOR_UTIL GpmMetricId = 5
|
||||
GPM_METRIC_DFMA_TENSOR_UTIL GpmMetricId = 6
|
||||
GPM_METRIC_HMMA_TENSOR_UTIL GpmMetricId = 7
|
||||
GPM_METRIC_IMMA_TENSOR_UTIL GpmMetricId = 9
|
||||
GPM_METRIC_DRAM_BW_UTIL GpmMetricId = 10
|
||||
GPM_METRIC_FP64_UTIL GpmMetricId = 11
|
||||
GPM_METRIC_FP32_UTIL GpmMetricId = 12
|
||||
GPM_METRIC_FP16_UTIL GpmMetricId = 13
|
||||
GPM_METRIC_PCIE_TX_PER_SEC GpmMetricId = 20
|
||||
GPM_METRIC_PCIE_RX_PER_SEC GpmMetricId = 21
|
||||
GPM_METRIC_NVDEC_0_UTIL GpmMetricId = 30
|
||||
GPM_METRIC_NVDEC_1_UTIL GpmMetricId = 31
|
||||
GPM_METRIC_NVDEC_2_UTIL GpmMetricId = 32
|
||||
GPM_METRIC_NVDEC_3_UTIL GpmMetricId = 33
|
||||
GPM_METRIC_NVDEC_4_UTIL GpmMetricId = 34
|
||||
GPM_METRIC_NVDEC_5_UTIL GpmMetricId = 35
|
||||
GPM_METRIC_NVDEC_6_UTIL GpmMetricId = 36
|
||||
GPM_METRIC_NVDEC_7_UTIL GpmMetricId = 37
|
||||
GPM_METRIC_NVJPG_0_UTIL GpmMetricId = 40
|
||||
GPM_METRIC_NVJPG_1_UTIL GpmMetricId = 41
|
||||
GPM_METRIC_NVJPG_2_UTIL GpmMetricId = 42
|
||||
GPM_METRIC_NVJPG_3_UTIL GpmMetricId = 43
|
||||
GPM_METRIC_NVJPG_4_UTIL GpmMetricId = 44
|
||||
GPM_METRIC_NVJPG_5_UTIL GpmMetricId = 45
|
||||
GPM_METRIC_NVJPG_6_UTIL GpmMetricId = 46
|
||||
GPM_METRIC_NVJPG_7_UTIL GpmMetricId = 47
|
||||
GPM_METRIC_NVOFA_0_UTIL GpmMetricId = 50
|
||||
GPM_METRIC_NVLINK_TOTAL_RX_PER_SEC GpmMetricId = 60
|
||||
GPM_METRIC_NVLINK_TOTAL_TX_PER_SEC GpmMetricId = 61
|
||||
GPM_METRIC_NVLINK_L0_RX_PER_SEC GpmMetricId = 62
|
||||
GPM_METRIC_NVLINK_L0_TX_PER_SEC GpmMetricId = 63
|
||||
GPM_METRIC_NVLINK_L1_RX_PER_SEC GpmMetricId = 64
|
||||
GPM_METRIC_NVLINK_L1_TX_PER_SEC GpmMetricId = 65
|
||||
GPM_METRIC_NVLINK_L2_RX_PER_SEC GpmMetricId = 66
|
||||
GPM_METRIC_NVLINK_L2_TX_PER_SEC GpmMetricId = 67
|
||||
GPM_METRIC_NVLINK_L3_RX_PER_SEC GpmMetricId = 68
|
||||
GPM_METRIC_NVLINK_L3_TX_PER_SEC GpmMetricId = 69
|
||||
GPM_METRIC_NVLINK_L4_RX_PER_SEC GpmMetricId = 70
|
||||
GPM_METRIC_NVLINK_L4_TX_PER_SEC GpmMetricId = 71
|
||||
GPM_METRIC_NVLINK_L5_RX_PER_SEC GpmMetricId = 72
|
||||
GPM_METRIC_NVLINK_L5_TX_PER_SEC GpmMetricId = 73
|
||||
GPM_METRIC_NVLINK_L6_RX_PER_SEC GpmMetricId = 74
|
||||
GPM_METRIC_NVLINK_L6_TX_PER_SEC GpmMetricId = 75
|
||||
GPM_METRIC_NVLINK_L7_RX_PER_SEC GpmMetricId = 76
|
||||
GPM_METRIC_NVLINK_L7_TX_PER_SEC GpmMetricId = 77
|
||||
GPM_METRIC_NVLINK_L8_RX_PER_SEC GpmMetricId = 78
|
||||
GPM_METRIC_NVLINK_L8_TX_PER_SEC GpmMetricId = 79
|
||||
GPM_METRIC_NVLINK_L9_RX_PER_SEC GpmMetricId = 80
|
||||
GPM_METRIC_NVLINK_L9_TX_PER_SEC GpmMetricId = 81
|
||||
GPM_METRIC_NVLINK_L10_RX_PER_SEC GpmMetricId = 82
|
||||
GPM_METRIC_NVLINK_L10_TX_PER_SEC GpmMetricId = 83
|
||||
GPM_METRIC_NVLINK_L11_RX_PER_SEC GpmMetricId = 84
|
||||
GPM_METRIC_NVLINK_L11_TX_PER_SEC GpmMetricId = 85
|
||||
GPM_METRIC_NVLINK_L12_RX_PER_SEC GpmMetricId = 86
|
||||
GPM_METRIC_NVLINK_L12_TX_PER_SEC GpmMetricId = 87
|
||||
GPM_METRIC_NVLINK_L13_RX_PER_SEC GpmMetricId = 88
|
||||
GPM_METRIC_NVLINK_L13_TX_PER_SEC GpmMetricId = 89
|
||||
GPM_METRIC_NVLINK_L14_RX_PER_SEC GpmMetricId = 90
|
||||
GPM_METRIC_NVLINK_L14_TX_PER_SEC GpmMetricId = 91
|
||||
GPM_METRIC_NVLINK_L15_RX_PER_SEC GpmMetricId = 92
|
||||
GPM_METRIC_NVLINK_L15_TX_PER_SEC GpmMetricId = 93
|
||||
GPM_METRIC_NVLINK_L16_RX_PER_SEC GpmMetricId = 94
|
||||
GPM_METRIC_NVLINK_L16_TX_PER_SEC GpmMetricId = 95
|
||||
GPM_METRIC_NVLINK_L17_RX_PER_SEC GpmMetricId = 96
|
||||
GPM_METRIC_NVLINK_L17_TX_PER_SEC GpmMetricId = 97
|
||||
GPM_METRIC_MAX GpmMetricId = 98
|
||||
)
|
||||
|
363
vendor/github.com/NVIDIA/go-nvml/pkg/nvml/device.go
generated
vendored
363
vendor/github.com/NVIDIA/go-nvml/pkg/nvml/device.go
generated
vendored
@ -38,21 +38,21 @@ func DeviceGetHandleByIndex(Index int) (Device, Return) {
|
||||
// nvml.DeviceGetHandleBySerial()
|
||||
func DeviceGetHandleBySerial(Serial string) (Device, Return) {
|
||||
var Device Device
|
||||
ret := nvmlDeviceGetHandleBySerial(Serial + string(rune(0)), &Device)
|
||||
ret := nvmlDeviceGetHandleBySerial(Serial+string(rune(0)), &Device)
|
||||
return Device, ret
|
||||
}
|
||||
|
||||
// nvml.DeviceGetHandleByUUID()
|
||||
func DeviceGetHandleByUUID(Uuid string) (Device, Return) {
|
||||
var Device Device
|
||||
ret := nvmlDeviceGetHandleByUUID(Uuid + string(rune(0)), &Device)
|
||||
ret := nvmlDeviceGetHandleByUUID(Uuid+string(rune(0)), &Device)
|
||||
return Device, ret
|
||||
}
|
||||
|
||||
// nvml.DeviceGetHandleByPciBusId()
|
||||
func DeviceGetHandleByPciBusId(PciBusId string) (Device, Return) {
|
||||
var Device Device
|
||||
ret := nvmlDeviceGetHandleByPciBusId(PciBusId + string(rune(0)), &Device)
|
||||
ret := nvmlDeviceGetHandleByPciBusId(PciBusId+string(rune(0)), &Device)
|
||||
return Device, ret
|
||||
}
|
||||
|
||||
@ -2286,3 +2286,360 @@ func DeviceGetBusType(Device Device) (BusType, Return) {
|
||||
func (Device Device) GetBusType() (BusType, Return) {
|
||||
return DeviceGetBusType(Device)
|
||||
}
|
||||
|
||||
// nvml.DeviceSetDefaultFanSpeed_v2()
|
||||
func DeviceSetDefaultFanSpeed_v2(Device Device, Fan int) Return {
|
||||
return nvmlDeviceSetDefaultFanSpeed_v2(Device, uint32(Fan))
|
||||
}
|
||||
|
||||
func (Device Device) SetDefaultFanSpeed_v2(Fan int) Return {
|
||||
return DeviceSetDefaultFanSpeed_v2(Device, Fan)
|
||||
}
|
||||
|
||||
// nvml.DeviceGetMinMaxFanSpeed()
|
||||
func DeviceGetMinMaxFanSpeed(Device Device) (int, int, Return) {
|
||||
var MinSpeed, MaxSpeed uint32
|
||||
ret := nvmlDeviceGetMinMaxFanSpeed(Device, &MinSpeed, &MaxSpeed)
|
||||
return int(MinSpeed), int(MaxSpeed), ret
|
||||
}
|
||||
|
||||
func (Device Device) GetMinMaxFanSpeed() (int, int, Return) {
|
||||
return DeviceGetMinMaxFanSpeed(Device)
|
||||
}
|
||||
|
||||
// nvml.DeviceGetThermalSettings()
|
||||
func DeviceGetThermalSettings(Device Device, SensorIndex uint32) (GpuThermalSettings, Return) {
|
||||
var PThermalSettings GpuThermalSettings
|
||||
ret := nvmlDeviceGetThermalSettings(Device, SensorIndex, &PThermalSettings)
|
||||
return PThermalSettings, ret
|
||||
}
|
||||
|
||||
func (Device Device) GetThermalSettings(SensorIndex uint32) (GpuThermalSettings, Return) {
|
||||
return DeviceGetThermalSettings(Device, SensorIndex)
|
||||
}
|
||||
|
||||
// nvml.DeviceGetDefaultEccMode()
|
||||
func DeviceGetDefaultEccMode(Device Device) (EnableState, Return) {
|
||||
var DefaultMode EnableState
|
||||
ret := nvmlDeviceGetDefaultEccMode(Device, &DefaultMode)
|
||||
return DefaultMode, ret
|
||||
}
|
||||
|
||||
func (Device Device) GetDefaultEccMode() (EnableState, Return) {
|
||||
return DeviceGetDefaultEccMode(Device)
|
||||
}
|
||||
|
||||
// nvml.DeviceGetPcieSpeed()
|
||||
func DeviceGetPcieSpeed(Device Device) (int, Return) {
|
||||
var PcieSpeed uint32
|
||||
ret := nvmlDeviceGetPcieSpeed(Device, &PcieSpeed)
|
||||
return int(PcieSpeed), ret
|
||||
}
|
||||
|
||||
func (Device Device) GetPcieSpeed() (int, Return) {
|
||||
return DeviceGetPcieSpeed(Device)
|
||||
}
|
||||
|
||||
// nvml.DeviceGetGspFirmwareVersion()
|
||||
func DeviceGetGspFirmwareVersion(Device Device) (string, Return) {
|
||||
Version := make([]byte, GSP_FIRMWARE_VERSION_BUF_SIZE)
|
||||
ret := nvmlDeviceGetGspFirmwareVersion(Device, &Version[0])
|
||||
return string(Version[:clen(Version)]), ret
|
||||
}
|
||||
|
||||
func (Device Device) GetGspFirmwareVersion() (string, Return) {
|
||||
return DeviceGetGspFirmwareVersion(Device)
|
||||
}
|
||||
|
||||
// nvml.DeviceGetGspFirmwareMode()
|
||||
func DeviceGetGspFirmwareMode(Device Device) (bool, bool, Return) {
|
||||
var IsEnabled, DefaultMode uint32
|
||||
ret := nvmlDeviceGetGspFirmwareMode(Device, &IsEnabled, &DefaultMode)
|
||||
return (IsEnabled != 0), (DefaultMode != 0), ret
|
||||
}
|
||||
|
||||
func (Device Device) GetGspFirmwareMode() (bool, bool, Return) {
|
||||
return DeviceGetGspFirmwareMode(Device)
|
||||
}
|
||||
|
||||
// nvml.DeviceGetDynamicPstatesInfo()
|
||||
func DeviceGetDynamicPstatesInfo(Device Device) (GpuDynamicPstatesInfo, Return) {
|
||||
var PDynamicPstatesInfo GpuDynamicPstatesInfo
|
||||
ret := nvmlDeviceGetDynamicPstatesInfo(Device, &PDynamicPstatesInfo)
|
||||
return PDynamicPstatesInfo, ret
|
||||
}
|
||||
|
||||
func (Device Device) GetDynamicPstatesInfo() (GpuDynamicPstatesInfo, Return) {
|
||||
return DeviceGetDynamicPstatesInfo(Device)
|
||||
}
|
||||
|
||||
// nvml.DeviceSetFanSpeed_v2()
|
||||
func DeviceSetFanSpeed_v2(Device Device, Fan int, Speed int) Return {
|
||||
return nvmlDeviceSetFanSpeed_v2(Device, uint32(Fan), uint32(Speed))
|
||||
}
|
||||
|
||||
func (Device Device) SetFanSpeed_v2(Fan int, Speed int) Return {
|
||||
return DeviceSetFanSpeed_v2(Device, Fan, Speed)
|
||||
}
|
||||
|
||||
// nvml.DeviceGetGpcClkVfOffset()
|
||||
func DeviceGetGpcClkVfOffset(Device Device) (int, Return) {
|
||||
var Offset int32
|
||||
ret := nvmlDeviceGetGpcClkVfOffset(Device, &Offset)
|
||||
return int(Offset), ret
|
||||
}
|
||||
|
||||
func (Device Device) GetGpcClkVfOffset() (int, Return) {
|
||||
return DeviceGetGpcClkVfOffset(Device)
|
||||
}
|
||||
|
||||
// nvml.DeviceSetGpcClkVfOffset()
|
||||
func DeviceSetGpcClkVfOffset(Device Device, Offset int) Return {
|
||||
return nvmlDeviceSetGpcClkVfOffset(Device, int32(Offset))
|
||||
}
|
||||
|
||||
func (Device Device) SetGpcClkVfOffset(Offset int) Return {
|
||||
return DeviceSetGpcClkVfOffset(Device, Offset)
|
||||
}
|
||||
|
||||
// nvml.DeviceGetMinMaxClockOfPState()
|
||||
func DeviceGetMinMaxClockOfPState(Device Device, _type ClockType, Pstate Pstates) (uint32, uint32, Return) {
|
||||
var MinClockMHz, MaxClockMHz uint32
|
||||
ret := nvmlDeviceGetMinMaxClockOfPState(Device, _type, Pstate, &MinClockMHz, &MaxClockMHz)
|
||||
return MinClockMHz, MaxClockMHz, ret
|
||||
}
|
||||
|
||||
func (Device Device) GetMinMaxClockOfPState(_type ClockType, Pstate Pstates) (uint32, uint32, Return) {
|
||||
return DeviceGetMinMaxClockOfPState(Device, _type, Pstate)
|
||||
}
|
||||
|
||||
// nvml.DeviceGetSupportedPerformanceStates()
|
||||
func DeviceGetSupportedPerformanceStates(Device Device) ([]Pstates, Return) {
|
||||
Pstates := make([]Pstates, MAX_GPU_PERF_PSTATES)
|
||||
ret := nvmlDeviceGetSupportedPerformanceStates(Device, &Pstates[0], MAX_GPU_PERF_PSTATES)
|
||||
for i := 0; i < MAX_GPU_PERF_PSTATES; i++ {
|
||||
if Pstates[i] == PSTATE_UNKNOWN {
|
||||
return Pstates[0:i], ret
|
||||
}
|
||||
}
|
||||
return Pstates, ret
|
||||
}
|
||||
|
||||
func (Device Device) GetSupportedPerformanceStates() ([]Pstates, Return) {
|
||||
return DeviceGetSupportedPerformanceStates(Device)
|
||||
}
|
||||
|
||||
// nvml.DeviceGetTargetFanSpeed()
|
||||
func DeviceGetTargetFanSpeed(Device Device, Fan int) (int, Return) {
|
||||
var TargetSpeed uint32
|
||||
ret := nvmlDeviceGetTargetFanSpeed(Device, uint32(Fan), &TargetSpeed)
|
||||
return int(TargetSpeed), ret
|
||||
}
|
||||
|
||||
func (Device Device) GetTargetFanSpeed(Fan int) (int, Return) {
|
||||
return DeviceGetTargetFanSpeed(Device, Fan)
|
||||
}
|
||||
|
||||
// nvml.DeviceGetMemClkVfOffset()
|
||||
func DeviceGetMemClkVfOffset(Device Device) (int, Return) {
|
||||
var Offset int32
|
||||
ret := nvmlDeviceGetMemClkVfOffset(Device, &Offset)
|
||||
return int(Offset), ret
|
||||
}
|
||||
|
||||
func (Device Device) GetMemClkVfOffset() (int, Return) {
|
||||
return DeviceGetMemClkVfOffset(Device)
|
||||
}
|
||||
|
||||
// nvml.DeviceSetMemClkVfOffset()
|
||||
func DeviceSetMemClkVfOffset(Device Device, Offset int) Return {
|
||||
return nvmlDeviceSetMemClkVfOffset(Device, int32(Offset))
|
||||
}
|
||||
|
||||
func (Device Device) SetMemClkVfOffset(Offset int) Return {
|
||||
return DeviceSetMemClkVfOffset(Device, Offset)
|
||||
}
|
||||
|
||||
// nvml.DeviceGetGpcClkMinMaxVfOffset()
|
||||
func DeviceGetGpcClkMinMaxVfOffset(Device Device) (int, int, Return) {
|
||||
var MinOffset, MaxOffset int32
|
||||
ret := nvmlDeviceGetGpcClkMinMaxVfOffset(Device, &MinOffset, &MaxOffset)
|
||||
return int(MinOffset), int(MaxOffset), ret
|
||||
}
|
||||
|
||||
func (Device Device) GetGpcClkMinMaxVfOffset() (int, int, Return) {
|
||||
return DeviceGetGpcClkMinMaxVfOffset(Device)
|
||||
}
|
||||
|
||||
// nvml.DeviceGetMemClkMinMaxVfOffset()
|
||||
func DeviceGetMemClkMinMaxVfOffset(Device Device) (int, int, Return) {
|
||||
var MinOffset, MaxOffset int32
|
||||
ret := nvmlDeviceGetMemClkMinMaxVfOffset(Device, &MinOffset, &MaxOffset)
|
||||
return int(MinOffset), int(MaxOffset), ret
|
||||
}
|
||||
|
||||
func (Device Device) GetMemClkMinMaxVfOffset() (int, int, Return) {
|
||||
return DeviceGetMemClkMinMaxVfOffset(Device)
|
||||
}
|
||||
|
||||
// nvml.DeviceGetGpuMaxPcieLinkGeneration()
|
||||
func DeviceGetGpuMaxPcieLinkGeneration(Device Device) (int, Return) {
|
||||
var MaxLinkGenDevice uint32
|
||||
ret := nvmlDeviceGetGpuMaxPcieLinkGeneration(Device, &MaxLinkGenDevice)
|
||||
return int(MaxLinkGenDevice), ret
|
||||
}
|
||||
|
||||
func (Device Device) GetGpuMaxPcieLinkGeneration() (int, Return) {
|
||||
return DeviceGetGpuMaxPcieLinkGeneration(Device)
|
||||
}
|
||||
|
||||
// nvml.DeviceGetFanControlPolicy_v2()
|
||||
func DeviceGetFanControlPolicy_v2(Device Device, Fan int) (FanControlPolicy, Return) {
|
||||
var Policy FanControlPolicy
|
||||
ret := nvmlDeviceGetFanControlPolicy_v2(Device, uint32(Fan), &Policy)
|
||||
return Policy, ret
|
||||
}
|
||||
|
||||
func (Device Device) GetFanControlPolicy_v2(Fan int) (FanControlPolicy, Return) {
|
||||
return DeviceGetFanControlPolicy_v2(Device, Fan)
|
||||
}
|
||||
|
||||
// nvml.DeviceSetFanControlPolicy()
|
||||
func DeviceSetFanControlPolicy(Device Device, Fan int, Policy FanControlPolicy) Return {
|
||||
return nvmlDeviceSetFanControlPolicy(Device, uint32(Fan), Policy)
|
||||
}
|
||||
|
||||
func (Device Device) SetFanControlPolicy(Fan int, Policy FanControlPolicy) Return {
|
||||
return DeviceSetFanControlPolicy(Device, Fan, Policy)
|
||||
}
|
||||
|
||||
// nvml.DeviceClearFieldValues()
|
||||
func DeviceClearFieldValues(Device Device, Values []FieldValue) Return {
|
||||
ValuesCount := len(Values)
|
||||
return nvmlDeviceClearFieldValues(Device, int32(ValuesCount), &Values[0])
|
||||
}
|
||||
|
||||
func (Device Device) ClearFieldValues(Values []FieldValue) Return {
|
||||
return DeviceClearFieldValues(Device, Values)
|
||||
}
|
||||
|
||||
// nvml.DeviceGetVgpuCapabilities()
|
||||
func DeviceGetVgpuCapabilities(Device Device, Capability DeviceVgpuCapability) (bool, Return) {
|
||||
var CapResult uint32
|
||||
ret := nvmlDeviceGetVgpuCapabilities(Device, Capability, &CapResult)
|
||||
return (CapResult != 0), ret
|
||||
}
|
||||
|
||||
func (Device Device) GetVgpuCapabilities(Capability DeviceVgpuCapability) (bool, Return) {
|
||||
return DeviceGetVgpuCapabilities(Device, Capability)
|
||||
}
|
||||
|
||||
// nvml.DeviceGetVgpuSchedulerLog()
|
||||
func DeviceGetVgpuSchedulerLog(Device Device) (VgpuSchedulerLog, Return) {
|
||||
var PSchedulerLog VgpuSchedulerLog
|
||||
ret := nvmlDeviceGetVgpuSchedulerLog(Device, &PSchedulerLog)
|
||||
return PSchedulerLog, ret
|
||||
}
|
||||
|
||||
func (Device Device) GetVgpuSchedulerLog() (VgpuSchedulerLog, Return) {
|
||||
return DeviceGetVgpuSchedulerLog(Device)
|
||||
}
|
||||
|
||||
// nvml.DeviceGetVgpuSchedulerState()
|
||||
func DeviceGetVgpuSchedulerState(Device Device) (VgpuSchedulerGetState, Return) {
|
||||
var PSchedulerState VgpuSchedulerGetState
|
||||
ret := nvmlDeviceGetVgpuSchedulerState(Device, &PSchedulerState)
|
||||
return PSchedulerState, ret
|
||||
}
|
||||
|
||||
func (Device Device) GetVgpuSchedulerState() (VgpuSchedulerGetState, Return) {
|
||||
return DeviceGetVgpuSchedulerState(Device)
|
||||
}
|
||||
|
||||
// nvml.DeviceSetVgpuSchedulerState()
|
||||
func DeviceSetVgpuSchedulerState(Device Device, PSchedulerState *VgpuSchedulerSetState) Return {
|
||||
return nvmlDeviceSetVgpuSchedulerState(Device, PSchedulerState)
|
||||
}
|
||||
|
||||
func (Device Device) SetVgpuSchedulerState(PSchedulerState *VgpuSchedulerSetState) Return {
|
||||
return DeviceSetVgpuSchedulerState(Device, PSchedulerState)
|
||||
}
|
||||
|
||||
// nvml.DeviceGetVgpuSchedulerCapabilities()
|
||||
func DeviceGetVgpuSchedulerCapabilities(Device Device) (VgpuSchedulerCapabilities, Return) {
|
||||
var PCapabilities VgpuSchedulerCapabilities
|
||||
ret := nvmlDeviceGetVgpuSchedulerCapabilities(Device, &PCapabilities)
|
||||
return PCapabilities, ret
|
||||
}
|
||||
|
||||
func (Device Device) GetVgpuSchedulerCapabilities() (VgpuSchedulerCapabilities, Return) {
|
||||
return DeviceGetVgpuSchedulerCapabilities(Device)
|
||||
}
|
||||
|
||||
// nvml.GpuInstanceGetComputeInstancePossiblePlacements()
|
||||
func GpuInstanceGetComputeInstancePossiblePlacements(GpuInstance GpuInstance, ProfileId int) ([]ComputeInstancePlacement, Return) {
|
||||
var Count uint32
|
||||
ret := nvmlGpuInstanceGetComputeInstancePossiblePlacements(GpuInstance, uint32(ProfileId), nil, &Count)
|
||||
if ret != SUCCESS {
|
||||
return nil, ret
|
||||
}
|
||||
if Count == 0 {
|
||||
return []ComputeInstancePlacement{}, ret
|
||||
}
|
||||
PlacementArray := make([]ComputeInstancePlacement, Count)
|
||||
ret = nvmlGpuInstanceGetComputeInstancePossiblePlacements(GpuInstance, uint32(ProfileId), &PlacementArray[0], &Count)
|
||||
return PlacementArray, ret
|
||||
}
|
||||
|
||||
func (GpuInstance GpuInstance) GetComputeInstancePossiblePlacements(ProfileId int) ([]ComputeInstancePlacement, Return) {
|
||||
return GpuInstanceGetComputeInstancePossiblePlacements(GpuInstance, ProfileId)
|
||||
}
|
||||
|
||||
// nvml.GpuInstanceCreateComputeInstanceWithPlacement()
|
||||
func GpuInstanceCreateComputeInstanceWithPlacement(GpuInstance GpuInstance, ProfileId int, Placement *ComputeInstancePlacement, ComputeInstance *ComputeInstance) Return {
|
||||
return nvmlGpuInstanceCreateComputeInstanceWithPlacement(GpuInstance, uint32(ProfileId), Placement, ComputeInstance)
|
||||
}
|
||||
|
||||
func (GpuInstance GpuInstance) CreateComputeInstanceWithPlacement(ProfileId int, Placement *ComputeInstancePlacement, ComputeInstance *ComputeInstance) Return {
|
||||
return GpuInstanceCreateComputeInstanceWithPlacement(GpuInstance, ProfileId, Placement, ComputeInstance)
|
||||
}
|
||||
|
||||
// nvml.DeviceGetGpuFabricInfo()
|
||||
func DeviceGetGpuFabricInfo(Device Device) (GpuFabricInfo, Return) {
|
||||
var GpuFabricInfo GpuFabricInfo
|
||||
ret := nvmlDeviceGetGpuFabricInfo(Device, &GpuFabricInfo)
|
||||
return GpuFabricInfo, ret
|
||||
}
|
||||
|
||||
func (Device Device) GetGpuFabricInfo() (GpuFabricInfo, Return) {
|
||||
return DeviceGetGpuFabricInfo(Device)
|
||||
}
|
||||
|
||||
// nvml.DeviceCcuGetStreamState()
|
||||
func DeviceCcuGetStreamState(Device Device) (int, Return) {
|
||||
var State uint32
|
||||
ret := nvmlDeviceCcuGetStreamState(Device, &State)
|
||||
return int(State), ret
|
||||
}
|
||||
|
||||
func (Device Device) CcuGetStreamState() (int, Return) {
|
||||
return DeviceCcuGetStreamState(Device)
|
||||
}
|
||||
|
||||
// nvml.DeviceCcuSetStreamState()
|
||||
func DeviceCcuSetStreamState(Device Device, State int) Return {
|
||||
return nvmlDeviceCcuSetStreamState(Device, uint32(State))
|
||||
}
|
||||
|
||||
func (Device Device) CcuSetStreamState(State int) Return {
|
||||
return DeviceCcuSetStreamState(Device, State)
|
||||
}
|
||||
|
||||
// nvml.DeviceSetNvLinkDeviceLowPowerThreshold()
|
||||
func DeviceSetNvLinkDeviceLowPowerThreshold(Device Device, Info *NvLinkPowerThres) Return {
|
||||
return nvmlDeviceSetNvLinkDeviceLowPowerThreshold(Device, Info)
|
||||
}
|
||||
|
||||
func (Device Device) SetNvLinkDeviceLowPowerThreshold(Info *NvLinkPowerThres) Return {
|
||||
return DeviceSetNvLinkDeviceLowPowerThreshold(Device, Info)
|
||||
}
|
||||
|
387
vendor/github.com/NVIDIA/go-nvml/pkg/nvml/nvml.go
generated
vendored
387
vendor/github.com/NVIDIA/go-nvml/pkg/nvml/nvml.go
generated
vendored
@ -486,6 +486,15 @@ func nvmlDeviceGetMaxPcieLinkGeneration(Device Device, MaxLinkGen *uint32) Retur
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceGetGpuMaxPcieLinkGeneration function as declared in nvml/nvml.h
|
||||
func nvmlDeviceGetGpuMaxPcieLinkGeneration(Device Device, MaxLinkGenDevice *uint32) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cMaxLinkGenDevice, _ := (*C.uint)(unsafe.Pointer(MaxLinkGenDevice)), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceGetGpuMaxPcieLinkGeneration(cDevice, cMaxLinkGenDevice)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceGetMaxPcieLinkWidth function as declared in nvml/nvml.h
|
||||
func nvmlDeviceGetMaxPcieLinkWidth(Device Device, MaxLinkWidth *uint32) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
@ -670,6 +679,55 @@ func nvmlDeviceGetFanSpeed_v2(Device Device, Fan uint32, Speed *uint32) Return {
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceGetTargetFanSpeed function as declared in nvml/nvml.h
|
||||
func nvmlDeviceGetTargetFanSpeed(Device Device, Fan uint32, TargetSpeed *uint32) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cFan, _ := (C.uint)(Fan), cgoAllocsUnknown
|
||||
cTargetSpeed, _ := (*C.uint)(unsafe.Pointer(TargetSpeed)), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceGetTargetFanSpeed(cDevice, cFan, cTargetSpeed)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceSetDefaultFanSpeed_v2 function as declared in nvml/nvml.h
|
||||
func nvmlDeviceSetDefaultFanSpeed_v2(Device Device, Fan uint32) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cFan, _ := (C.uint)(Fan), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceSetDefaultFanSpeed_v2(cDevice, cFan)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceGetMinMaxFanSpeed function as declared in nvml/nvml.h
|
||||
func nvmlDeviceGetMinMaxFanSpeed(Device Device, MinSpeed *uint32, MaxSpeed *uint32) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cMinSpeed, _ := (*C.uint)(unsafe.Pointer(MinSpeed)), cgoAllocsUnknown
|
||||
cMaxSpeed, _ := (*C.uint)(unsafe.Pointer(MaxSpeed)), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceGetMinMaxFanSpeed(cDevice, cMinSpeed, cMaxSpeed)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceGetFanControlPolicy_v2 function as declared in nvml/nvml.h
|
||||
func nvmlDeviceGetFanControlPolicy_v2(Device Device, Fan uint32, Policy *FanControlPolicy) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cFan, _ := (C.uint)(Fan), cgoAllocsUnknown
|
||||
cPolicy, _ := (*C.nvmlFanControlPolicy_t)(unsafe.Pointer(Policy)), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceGetFanControlPolicy_v2(cDevice, cFan, cPolicy)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceSetFanControlPolicy function as declared in nvml/nvml.h
|
||||
func nvmlDeviceSetFanControlPolicy(Device Device, Fan uint32, Policy FanControlPolicy) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cFan, _ := (C.uint)(Fan), cgoAllocsUnknown
|
||||
cPolicy, _ := (C.nvmlFanControlPolicy_t)(Policy), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceSetFanControlPolicy(cDevice, cFan, cPolicy)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceGetNumFans function as declared in nvml/nvml.h
|
||||
func nvmlDeviceGetNumFans(Device Device, NumFans *uint32) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
@ -709,6 +767,16 @@ func nvmlDeviceSetTemperatureThreshold(Device Device, ThresholdType TemperatureT
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceGetThermalSettings function as declared in nvml/nvml.h
|
||||
func nvmlDeviceGetThermalSettings(Device Device, SensorIndex uint32, PThermalSettings *GpuThermalSettings) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cSensorIndex, _ := (C.uint)(SensorIndex), cgoAllocsUnknown
|
||||
cPThermalSettings, _ := (*C.nvmlGpuThermalSettings_t)(unsafe.Pointer(PThermalSettings)), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceGetThermalSettings(cDevice, cSensorIndex, cPThermalSettings)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceGetPerformanceState function as declared in nvml/nvml.h
|
||||
func nvmlDeviceGetPerformanceState(Device Device, PState *Pstates) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
@ -866,6 +934,15 @@ func nvmlDeviceGetEccMode(Device Device, Current *EnableState, Pending *EnableSt
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceGetDefaultEccMode function as declared in nvml/nvml.h
|
||||
func nvmlDeviceGetDefaultEccMode(Device Device, DefaultMode *EnableState) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cDefaultMode, _ := (*C.nvmlEnableState_t)(unsafe.Pointer(DefaultMode)), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceGetDefaultEccMode(cDevice, cDefaultMode)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceGetBoardId function as declared in nvml/nvml.h
|
||||
func nvmlDeviceGetBoardId(Device Device, BoardId *uint32) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
@ -1153,6 +1230,15 @@ func nvmlDeviceGetPcieLinkMaxSpeed(Device Device, MaxSpeed *uint32) Return {
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceGetPcieSpeed function as declared in nvml/nvml.h
|
||||
func nvmlDeviceGetPcieSpeed(Device Device, PcieSpeed *uint32) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cPcieSpeed, _ := (*C.uint)(unsafe.Pointer(PcieSpeed)), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceGetPcieSpeed(cDevice, cPcieSpeed)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceGetAdaptiveClockInfoStatus function as declared in nvml/nvml.h
|
||||
func nvmlDeviceGetAdaptiveClockInfoStatus(Device Device, AdaptiveClockStatus *uint32) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
@ -1635,6 +1721,16 @@ func nvmlDeviceGetFieldValues(Device Device, ValuesCount int32, Values *FieldVal
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceClearFieldValues function as declared in nvml/nvml.h
|
||||
func nvmlDeviceClearFieldValues(Device Device, ValuesCount int32, Values *FieldValue) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cValuesCount, _ := (C.int)(ValuesCount), cgoAllocsUnknown
|
||||
cValues, _ := (*C.nvmlFieldValue_t)(unsafe.Pointer(Values)), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceClearFieldValues(cDevice, cValuesCount, cValues)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceGetVirtualizationMode function as declared in nvml/nvml.h
|
||||
func nvmlDeviceGetVirtualizationMode(Device Device, PVirtualMode *GpuVirtualizationMode) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
@ -1682,6 +1778,44 @@ func nvmlDeviceGetProcessUtilization(Device Device, Utilization *ProcessUtilizat
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceGetGspFirmwareVersion function as declared in nvml/nvml.h
|
||||
func nvmlDeviceGetGspFirmwareVersion(Device Device, Version *byte) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cVersion, _ := (*C.char)(unsafe.Pointer(Version)), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceGetGspFirmwareVersion(cDevice, cVersion)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceGetGspFirmwareMode function as declared in nvml/nvml.h
|
||||
func nvmlDeviceGetGspFirmwareMode(Device Device, IsEnabled *uint32, DefaultMode *uint32) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cIsEnabled, _ := (*C.uint)(unsafe.Pointer(IsEnabled)), cgoAllocsUnknown
|
||||
cDefaultMode, _ := (*C.uint)(unsafe.Pointer(DefaultMode)), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceGetGspFirmwareMode(cDevice, cIsEnabled, cDefaultMode)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlGetVgpuDriverCapabilities function as declared in nvml/nvml.h
|
||||
func nvmlGetVgpuDriverCapabilities(Capability VgpuDriverCapability, CapResult *uint32) Return {
|
||||
cCapability, _ := (C.nvmlVgpuDriverCapability_t)(Capability), cgoAllocsUnknown
|
||||
cCapResult, _ := (*C.uint)(unsafe.Pointer(CapResult)), cgoAllocsUnknown
|
||||
__ret := C.nvmlGetVgpuDriverCapabilities(cCapability, cCapResult)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceGetVgpuCapabilities function as declared in nvml/nvml.h
|
||||
func nvmlDeviceGetVgpuCapabilities(Device Device, Capability DeviceVgpuCapability, CapResult *uint32) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cCapability, _ := (C.nvmlDeviceVgpuCapability_t)(Capability), cgoAllocsUnknown
|
||||
cCapResult, _ := (*C.uint)(unsafe.Pointer(CapResult)), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceGetVgpuCapabilities(cDevice, cCapability, cCapResult)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceGetSupportedVgpus function as declared in nvml/nvml.h
|
||||
func nvmlDeviceGetSupportedVgpus(Device Device, VgpuCount *uint32, VgpuTypeIds *VgpuTypeId) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
@ -1971,6 +2105,16 @@ func nvmlVgpuInstanceGetGpuPciId(VgpuInstance VgpuInstance, VgpuPciId *byte, Len
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlVgpuTypeGetCapabilities function as declared in nvml/nvml.h
|
||||
func nvmlVgpuTypeGetCapabilities(VgpuTypeId VgpuTypeId, Capability VgpuCapability, CapResult *uint32) Return {
|
||||
cVgpuTypeId, _ := (C.nvmlVgpuTypeId_t)(VgpuTypeId), cgoAllocsUnknown
|
||||
cCapability, _ := (C.nvmlVgpuCapability_t)(Capability), cgoAllocsUnknown
|
||||
cCapResult, _ := (*C.uint)(unsafe.Pointer(CapResult)), cgoAllocsUnknown
|
||||
__ret := C.nvmlVgpuTypeGetCapabilities(cVgpuTypeId, cCapability, cCapResult)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlVgpuInstanceGetMetadata function as declared in nvml/nvml.h
|
||||
func nvmlVgpuInstanceGetMetadata(VgpuInstance VgpuInstance, nvmlVgpuMetadata *nvmlVgpuMetadata, BufferSize *uint32) Return {
|
||||
cVgpuInstance, _ := (C.nvmlVgpuInstance_t)(VgpuInstance), cgoAllocsUnknown
|
||||
@ -2011,6 +2155,42 @@ func nvmlDeviceGetPgpuMetadataString(Device Device, PgpuMetadata *byte, BufferSi
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceGetVgpuSchedulerLog function as declared in nvml/nvml.h
|
||||
func nvmlDeviceGetVgpuSchedulerLog(Device Device, PSchedulerLog *VgpuSchedulerLog) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cPSchedulerLog, _ := (*C.nvmlVgpuSchedulerLog_t)(unsafe.Pointer(PSchedulerLog)), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceGetVgpuSchedulerLog(cDevice, cPSchedulerLog)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceGetVgpuSchedulerState function as declared in nvml/nvml.h
|
||||
func nvmlDeviceGetVgpuSchedulerState(Device Device, PSchedulerState *VgpuSchedulerGetState) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cPSchedulerState, _ := (*C.nvmlVgpuSchedulerGetState_t)(unsafe.Pointer(PSchedulerState)), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceGetVgpuSchedulerState(cDevice, cPSchedulerState)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceSetVgpuSchedulerState function as declared in nvml/nvml.h
|
||||
func nvmlDeviceSetVgpuSchedulerState(Device Device, PSchedulerState *VgpuSchedulerSetState) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cPSchedulerState, _ := (*C.nvmlVgpuSchedulerSetState_t)(unsafe.Pointer(PSchedulerState)), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceSetVgpuSchedulerState(cDevice, cPSchedulerState)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceGetVgpuSchedulerCapabilities function as declared in nvml/nvml.h
|
||||
func nvmlDeviceGetVgpuSchedulerCapabilities(Device Device, PCapabilities *VgpuSchedulerCapabilities) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cPCapabilities, _ := (*C.nvmlVgpuSchedulerCapabilities_t)(unsafe.Pointer(PCapabilities)), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceGetVgpuSchedulerCapabilities(cDevice, cPCapabilities)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlGetVgpuVersion function as declared in nvml/nvml.h
|
||||
func nvmlGetVgpuVersion(Supported *VgpuVersion, Current *VgpuVersion) Return {
|
||||
cSupported, _ := (*C.nvmlVgpuVersion_t)(unsafe.Pointer(Supported)), cgoAllocsUnknown
|
||||
@ -2266,6 +2446,17 @@ func nvmlGpuInstanceGetComputeInstanceRemainingCapacity(GpuInstance GpuInstance,
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlGpuInstanceGetComputeInstancePossiblePlacements function as declared in nvml/nvml.h
|
||||
func nvmlGpuInstanceGetComputeInstancePossiblePlacements(GpuInstance GpuInstance, ProfileId uint32, Placements *ComputeInstancePlacement, Count *uint32) Return {
|
||||
cGpuInstance, _ := *(*C.nvmlGpuInstance_t)(unsafe.Pointer(&GpuInstance)), cgoAllocsUnknown
|
||||
cProfileId, _ := (C.uint)(ProfileId), cgoAllocsUnknown
|
||||
cPlacements, _ := (*C.nvmlComputeInstancePlacement_t)(unsafe.Pointer(Placements)), cgoAllocsUnknown
|
||||
cCount, _ := (*C.uint)(unsafe.Pointer(Count)), cgoAllocsUnknown
|
||||
__ret := C.nvmlGpuInstanceGetComputeInstancePossiblePlacements(cGpuInstance, cProfileId, cPlacements, cCount)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlGpuInstanceCreateComputeInstance function as declared in nvml/nvml.h
|
||||
func nvmlGpuInstanceCreateComputeInstance(GpuInstance GpuInstance, ProfileId uint32, ComputeInstance *ComputeInstance) Return {
|
||||
cGpuInstance, _ := *(*C.nvmlGpuInstance_t)(unsafe.Pointer(&GpuInstance)), cgoAllocsUnknown
|
||||
@ -2276,6 +2467,17 @@ func nvmlGpuInstanceCreateComputeInstance(GpuInstance GpuInstance, ProfileId uin
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlGpuInstanceCreateComputeInstanceWithPlacement function as declared in nvml/nvml.h
|
||||
func nvmlGpuInstanceCreateComputeInstanceWithPlacement(GpuInstance GpuInstance, ProfileId uint32, Placement *ComputeInstancePlacement, ComputeInstance *ComputeInstance) Return {
|
||||
cGpuInstance, _ := *(*C.nvmlGpuInstance_t)(unsafe.Pointer(&GpuInstance)), cgoAllocsUnknown
|
||||
cProfileId, _ := (C.uint)(ProfileId), cgoAllocsUnknown
|
||||
cPlacement, _ := (*C.nvmlComputeInstancePlacement_t)(unsafe.Pointer(Placement)), cgoAllocsUnknown
|
||||
cComputeInstance, _ := (*C.nvmlComputeInstance_t)(unsafe.Pointer(ComputeInstance)), cgoAllocsUnknown
|
||||
__ret := C.nvmlGpuInstanceCreateComputeInstanceWithPlacement(cGpuInstance, cProfileId, cPlacement, cComputeInstance)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlComputeInstanceDestroy function as declared in nvml/nvml.h
|
||||
func nvmlComputeInstanceDestroy(ComputeInstance ComputeInstance) Return {
|
||||
cComputeInstance, _ := *(*C.nvmlComputeInstance_t)(unsafe.Pointer(&ComputeInstance)), cgoAllocsUnknown
|
||||
@ -2378,6 +2580,191 @@ func nvmlDeviceGetBusType(Device Device, _type *BusType) Return {
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceGetDynamicPstatesInfo function as declared in nvml/nvml.h
|
||||
func nvmlDeviceGetDynamicPstatesInfo(Device Device, PDynamicPstatesInfo *GpuDynamicPstatesInfo) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cPDynamicPstatesInfo, _ := (*C.nvmlGpuDynamicPstatesInfo_t)(unsafe.Pointer(PDynamicPstatesInfo)), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceGetDynamicPstatesInfo(cDevice, cPDynamicPstatesInfo)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceSetFanSpeed_v2 function as declared in nvml/nvml.h
|
||||
func nvmlDeviceSetFanSpeed_v2(Device Device, Fan uint32, Speed uint32) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cFan, _ := (C.uint)(Fan), cgoAllocsUnknown
|
||||
cSpeed, _ := (C.uint)(Speed), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceSetFanSpeed_v2(cDevice, cFan, cSpeed)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceGetGpcClkVfOffset function as declared in nvml/nvml.h
|
||||
func nvmlDeviceGetGpcClkVfOffset(Device Device, Offset *int32) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cOffset, _ := (*C.int)(unsafe.Pointer(Offset)), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceGetGpcClkVfOffset(cDevice, cOffset)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceSetGpcClkVfOffset function as declared in nvml/nvml.h
|
||||
func nvmlDeviceSetGpcClkVfOffset(Device Device, Offset int32) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cOffset, _ := (C.int)(Offset), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceSetGpcClkVfOffset(cDevice, cOffset)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceGetMemClkVfOffset function as declared in nvml/nvml.h
|
||||
func nvmlDeviceGetMemClkVfOffset(Device Device, Offset *int32) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cOffset, _ := (*C.int)(unsafe.Pointer(Offset)), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceGetMemClkVfOffset(cDevice, cOffset)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceSetMemClkVfOffset function as declared in nvml/nvml.h
|
||||
func nvmlDeviceSetMemClkVfOffset(Device Device, Offset int32) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cOffset, _ := (C.int)(Offset), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceSetMemClkVfOffset(cDevice, cOffset)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceGetMinMaxClockOfPState function as declared in nvml/nvml.h
|
||||
func nvmlDeviceGetMinMaxClockOfPState(Device Device, _type ClockType, Pstate Pstates, MinClockMHz *uint32, MaxClockMHz *uint32) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
c_type, _ := (C.nvmlClockType_t)(_type), cgoAllocsUnknown
|
||||
cPstate, _ := (C.nvmlPstates_t)(Pstate), cgoAllocsUnknown
|
||||
cMinClockMHz, _ := (*C.uint)(unsafe.Pointer(MinClockMHz)), cgoAllocsUnknown
|
||||
cMaxClockMHz, _ := (*C.uint)(unsafe.Pointer(MaxClockMHz)), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceGetMinMaxClockOfPState(cDevice, c_type, cPstate, cMinClockMHz, cMaxClockMHz)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceGetSupportedPerformanceStates function as declared in nvml/nvml.h
|
||||
func nvmlDeviceGetSupportedPerformanceStates(Device Device, Pstates *Pstates, Size uint32) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cPstates, _ := (*C.nvmlPstates_t)(unsafe.Pointer(Pstates)), cgoAllocsUnknown
|
||||
cSize, _ := (C.uint)(Size), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceGetSupportedPerformanceStates(cDevice, cPstates, cSize)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceGetGpcClkMinMaxVfOffset function as declared in nvml/nvml.h
|
||||
func nvmlDeviceGetGpcClkMinMaxVfOffset(Device Device, MinOffset *int32, MaxOffset *int32) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cMinOffset, _ := (*C.int)(unsafe.Pointer(MinOffset)), cgoAllocsUnknown
|
||||
cMaxOffset, _ := (*C.int)(unsafe.Pointer(MaxOffset)), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceGetGpcClkMinMaxVfOffset(cDevice, cMinOffset, cMaxOffset)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceGetMemClkMinMaxVfOffset function as declared in nvml/nvml.h
|
||||
func nvmlDeviceGetMemClkMinMaxVfOffset(Device Device, MinOffset *int32, MaxOffset *int32) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cMinOffset, _ := (*C.int)(unsafe.Pointer(MinOffset)), cgoAllocsUnknown
|
||||
cMaxOffset, _ := (*C.int)(unsafe.Pointer(MaxOffset)), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceGetMemClkMinMaxVfOffset(cDevice, cMinOffset, cMaxOffset)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceGetGpuFabricInfo function as declared in nvml/nvml.h
|
||||
func nvmlDeviceGetGpuFabricInfo(Device Device, GpuFabricInfo *GpuFabricInfo) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cGpuFabricInfo, _ := (*C.nvmlGpuFabricInfo_t)(unsafe.Pointer(GpuFabricInfo)), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceGetGpuFabricInfo(cDevice, cGpuFabricInfo)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlGpmMetricsGet function as declared in nvml/nvml.h
|
||||
func nvmlGpmMetricsGet(MetricsGet *GpmMetricsGetType) Return {
|
||||
cMetricsGet, _ := (*C.nvmlGpmMetricsGet_t)(unsafe.Pointer(MetricsGet)), cgoAllocsUnknown
|
||||
__ret := C.nvmlGpmMetricsGet(cMetricsGet)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlGpmSampleFree function as declared in nvml/nvml.h
|
||||
func nvmlGpmSampleFree(GpmSample GpmSample) Return {
|
||||
cGpmSample, _ := *(*C.nvmlGpmSample_t)(unsafe.Pointer(&GpmSample)), cgoAllocsUnknown
|
||||
__ret := C.nvmlGpmSampleFree(cGpmSample)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlGpmSampleAlloc function as declared in nvml/nvml.h
|
||||
func nvmlGpmSampleAlloc(GpmSample *GpmSample) Return {
|
||||
cGpmSample, _ := (*C.nvmlGpmSample_t)(unsafe.Pointer(GpmSample)), cgoAllocsUnknown
|
||||
__ret := C.nvmlGpmSampleAlloc(cGpmSample)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlGpmSampleGet function as declared in nvml/nvml.h
|
||||
func nvmlGpmSampleGet(Device Device, GpmSample GpmSample) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cGpmSample, _ := *(*C.nvmlGpmSample_t)(unsafe.Pointer(&GpmSample)), cgoAllocsUnknown
|
||||
__ret := C.nvmlGpmSampleGet(cDevice, cGpmSample)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlGpmMigSampleGet function as declared in nvml/nvml.h
|
||||
func nvmlGpmMigSampleGet(Device Device, GpuInstanceId uint32, GpmSample GpmSample) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cGpuInstanceId, _ := (C.uint)(GpuInstanceId), cgoAllocsUnknown
|
||||
cGpmSample, _ := *(*C.nvmlGpmSample_t)(unsafe.Pointer(&GpmSample)), cgoAllocsUnknown
|
||||
__ret := C.nvmlGpmMigSampleGet(cDevice, cGpuInstanceId, cGpmSample)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlGpmQueryDeviceSupport function as declared in nvml/nvml.h
|
||||
func nvmlGpmQueryDeviceSupport(Device Device, GpmSupport *GpmSupport) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cGpmSupport, _ := (*C.nvmlGpmSupport_t)(unsafe.Pointer(GpmSupport)), cgoAllocsUnknown
|
||||
__ret := C.nvmlGpmQueryDeviceSupport(cDevice, cGpmSupport)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceCcuGetStreamState function as declared in nvml/nvml.h
|
||||
func nvmlDeviceCcuGetStreamState(Device Device, State *uint32) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cState, _ := (*C.uint)(unsafe.Pointer(State)), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceCcuGetStreamState(cDevice, cState)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceCcuSetStreamState function as declared in nvml/nvml.h
|
||||
func nvmlDeviceCcuSetStreamState(Device Device, State uint32) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cState, _ := (C.uint)(State), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceCcuSetStreamState(cDevice, cState)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlDeviceSetNvLinkDeviceLowPowerThreshold function as declared in nvml/nvml.h
|
||||
func nvmlDeviceSetNvLinkDeviceLowPowerThreshold(Device Device, Info *NvLinkPowerThres) Return {
|
||||
cDevice, _ := *(*C.nvmlDevice_t)(unsafe.Pointer(&Device)), cgoAllocsUnknown
|
||||
cInfo, _ := (*C.nvmlNvLinkPowerThres_t)(unsafe.Pointer(Info)), cgoAllocsUnknown
|
||||
__ret := C.nvmlDeviceSetNvLinkDeviceLowPowerThreshold(cDevice, cInfo)
|
||||
__v := (Return)(__ret)
|
||||
return __v
|
||||
}
|
||||
|
||||
// nvmlInit_v1 function as declared in nvml/nvml.h
|
||||
func nvmlInit_v1() Return {
|
||||
__ret := C.nvmlInit()
|
||||
|
1336
vendor/github.com/NVIDIA/go-nvml/pkg/nvml/nvml.h
generated
vendored
1336
vendor/github.com/NVIDIA/go-nvml/pkg/nvml/nvml.h
generated
vendored
File diff suppressed because it is too large
Load Diff
138
vendor/github.com/NVIDIA/go-nvml/pkg/nvml/types_gen.go
generated
vendored
138
vendor/github.com/NVIDIA/go-nvml/pkg/nvml/types_gen.go
generated
vendored
@ -119,6 +119,19 @@ type ViolationTime struct {
|
||||
ViolationTime uint64
|
||||
}
|
||||
|
||||
type GpuThermalSettingsSensor struct {
|
||||
Controller int32
|
||||
DefaultMinTemp int32
|
||||
DefaultMaxTemp int32
|
||||
CurrentTemp int32
|
||||
Target int32
|
||||
}
|
||||
|
||||
type GpuThermalSettings struct {
|
||||
Count uint32
|
||||
Sensor [3]GpuThermalSettingsSensor
|
||||
}
|
||||
|
||||
type ClkMonFaultInfo struct {
|
||||
ClkApiDomain uint32
|
||||
ClkDomainFaultMask uint32
|
||||
@ -154,6 +167,73 @@ type VgpuProcessUtilizationSample struct {
|
||||
DecUtil uint32
|
||||
}
|
||||
|
||||
type VgpuSchedulerParamsVgpuSchedDataWithARR struct {
|
||||
AvgFactor uint32
|
||||
Timeslice uint32
|
||||
}
|
||||
|
||||
type VgpuSchedulerParamsVgpuSchedData struct {
|
||||
Timeslice uint32
|
||||
}
|
||||
|
||||
const sizeofVgpuSchedulerParams = unsafe.Sizeof([8]byte{})
|
||||
|
||||
type VgpuSchedulerParams [sizeofVgpuSchedulerParams]byte
|
||||
|
||||
type VgpuSchedulerLogEntry struct {
|
||||
Timestamp uint64
|
||||
TimeRunTotal uint64
|
||||
TimeRun uint64
|
||||
SwRunlistId uint32
|
||||
TargetTimeSlice uint64
|
||||
CumulativePreemptionTime uint64
|
||||
}
|
||||
|
||||
type VgpuSchedulerLog struct {
|
||||
EngineId uint32
|
||||
SchedulerPolicy uint32
|
||||
IsEnabledARR uint32
|
||||
SchedulerParams [8]byte
|
||||
EntriesCount uint32
|
||||
LogEntries [200]VgpuSchedulerLogEntry
|
||||
}
|
||||
|
||||
type VgpuSchedulerGetState struct {
|
||||
SchedulerPolicy uint32
|
||||
IsEnabledARR uint32
|
||||
SchedulerParams [8]byte
|
||||
}
|
||||
|
||||
type VgpuSchedulerSetParamsVgpuSchedDataWithARR struct {
|
||||
AvgFactor uint32
|
||||
Frequency uint32
|
||||
}
|
||||
|
||||
type VgpuSchedulerSetParamsVgpuSchedData struct {
|
||||
Timeslice uint32
|
||||
}
|
||||
|
||||
const sizeofVgpuSchedulerSetParams = unsafe.Sizeof([8]byte{})
|
||||
|
||||
type VgpuSchedulerSetParams [sizeofVgpuSchedulerSetParams]byte
|
||||
|
||||
type VgpuSchedulerSetState struct {
|
||||
SchedulerPolicy uint32
|
||||
EnableARRMode uint32
|
||||
SchedulerParams [8]byte
|
||||
}
|
||||
|
||||
type VgpuSchedulerCapabilities struct {
|
||||
SupportedSchedulers [3]uint32
|
||||
MaxTimeslice uint32
|
||||
MinTimeslice uint32
|
||||
IsArrModeSupported uint32
|
||||
MaxFrequencyForARR uint32
|
||||
MinFrequencyForARR uint32
|
||||
MaxAvgFactorForARR uint32
|
||||
MinAvgFactorForARR uint32
|
||||
}
|
||||
|
||||
type VgpuLicenseExpiry struct {
|
||||
Year uint32
|
||||
Month uint16
|
||||
@ -210,8 +290,22 @@ type DeviceArchitecture uint32
|
||||
|
||||
type BusType uint32
|
||||
|
||||
type FanControlPolicy uint32
|
||||
|
||||
type PowerSource uint32
|
||||
|
||||
type GpuDynamicPstatesInfoUtilization struct {
|
||||
BIsPresent uint32
|
||||
Percentage uint32
|
||||
IncThreshold uint32
|
||||
DecThreshold uint32
|
||||
}
|
||||
|
||||
type GpuDynamicPstatesInfo struct {
|
||||
Flags uint32
|
||||
Utilization [8]GpuDynamicPstatesInfoUtilization
|
||||
}
|
||||
|
||||
type FieldValue struct {
|
||||
FieldId uint32
|
||||
ScopeId uint32
|
||||
@ -314,6 +408,16 @@ type FBCSessionInfo struct {
|
||||
AverageLatency uint32
|
||||
}
|
||||
|
||||
type GpuFabricState byte
|
||||
|
||||
type GpuFabricInfo struct {
|
||||
ClusterUuid [16]int8
|
||||
Status uint32
|
||||
PartitionId uint32
|
||||
State uint8
|
||||
Pad_cgo_0 [3]byte
|
||||
}
|
||||
|
||||
type AffinityScope uint32
|
||||
|
||||
type VgpuVersion struct {
|
||||
@ -443,3 +547,37 @@ type ComputeInstanceInfo struct {
|
||||
type ComputeInstance struct {
|
||||
Handle *_Ctype_struct_nvmlComputeInstance_st
|
||||
}
|
||||
|
||||
type GpmSample struct {
|
||||
Handle *_Ctype_struct_nvmlGpmSample_st
|
||||
}
|
||||
|
||||
type GpmMetricMetricInfo struct {
|
||||
ShortName *int8
|
||||
LongName *int8
|
||||
Unit *int8
|
||||
}
|
||||
|
||||
type GpmMetric struct {
|
||||
MetricId uint32
|
||||
NvmlReturn uint32
|
||||
Value float64
|
||||
MetricInfo GpmMetricMetricInfo
|
||||
}
|
||||
|
||||
type GpmMetricsGetType struct {
|
||||
Version uint32
|
||||
NumMetrics uint32
|
||||
Sample1 GpmSample
|
||||
Sample2 GpmSample
|
||||
Metrics [98]GpmMetric
|
||||
}
|
||||
|
||||
type GpmSupport struct {
|
||||
Version uint32
|
||||
IsSupportedDevice uint32
|
||||
}
|
||||
|
||||
type NvLinkPowerThres struct {
|
||||
LowPwrThreshold uint32
|
||||
}
|
||||
|
18
vendor/github.com/NVIDIA/go-nvml/pkg/nvml/vgpu.go
generated
vendored
18
vendor/github.com/NVIDIA/go-nvml/pkg/nvml/vgpu.go
generated
vendored
@ -460,3 +460,21 @@ func VgpuInstanceGetMdevUUID(VgpuInstance VgpuInstance) (string, Return) {
|
||||
func (VgpuInstance VgpuInstance) GetMdevUUID() (string, Return) {
|
||||
return VgpuInstanceGetMdevUUID(VgpuInstance)
|
||||
}
|
||||
|
||||
// nvml.VgpuTypeGetCapabilities()
|
||||
func VgpuTypeGetCapabilities(VgpuTypeId VgpuTypeId, Capability VgpuCapability) (bool, Return) {
|
||||
var CapResult uint32
|
||||
ret := nvmlVgpuTypeGetCapabilities(VgpuTypeId, Capability, &CapResult)
|
||||
return (CapResult != 0), ret
|
||||
}
|
||||
|
||||
func (VgpuTypeId VgpuTypeId) GetCapabilities(Capability VgpuCapability) (bool, Return) {
|
||||
return VgpuTypeGetCapabilities(VgpuTypeId, Capability)
|
||||
}
|
||||
|
||||
// nvml.GetVgpuDriverCapabilities()
|
||||
func GetVgpuDriverCapabilities(Capability VgpuDriverCapability) (bool, Return) {
|
||||
var CapResult uint32
|
||||
ret := nvmlGetVgpuDriverCapabilities(Capability, &CapResult)
|
||||
return (CapResult != 0), ret
|
||||
}
|
||||
|
36
vendor/gitlab.com/nvidia/cloud-native/go-nvlib/pkg/nvlib/info/info.go
generated
vendored
36
vendor/gitlab.com/nvidia/cloud-native/go-nvlib/pkg/nvlib/info/info.go
generated
vendored
@ -27,6 +27,7 @@ import (
|
||||
|
||||
// Interface provides the API to the info package
|
||||
type Interface interface {
|
||||
HasDXCore() (bool, string)
|
||||
HasNvml() (bool, string)
|
||||
IsTegraSystem() (bool, string)
|
||||
}
|
||||
@ -37,17 +38,26 @@ type infolib struct {
|
||||
|
||||
var _ Interface = &infolib{}
|
||||
|
||||
// HasDXCore returns true if DXCore is detected on the system.
|
||||
func (i *infolib) HasDXCore() (bool, string) {
|
||||
const (
|
||||
libraryName = "libdxcore.so"
|
||||
)
|
||||
if err := assertHasLibrary(libraryName); err != nil {
|
||||
return false, fmt.Sprintf("could not load DXCore library: %v", err)
|
||||
}
|
||||
|
||||
return true, "found DXCore library"
|
||||
}
|
||||
|
||||
// HasNvml returns true if NVML is detected on the system
|
||||
func (i *infolib) HasNvml() (bool, string) {
|
||||
const (
|
||||
nvmlLibraryName = "libnvidia-ml.so.1"
|
||||
nvmlLibraryLoadFlags = dl.RTLD_LAZY
|
||||
libraryName = "libnvidia-ml.so.1"
|
||||
)
|
||||
lib := dl.New(nvmlLibraryName, nvmlLibraryLoadFlags)
|
||||
if err := lib.Open(); err != nil {
|
||||
return false, fmt.Sprintf("could not load NVML: %v", err)
|
||||
if err := assertHasLibrary(libraryName); err != nil {
|
||||
return false, fmt.Sprintf("could not load NVML library: %v", err)
|
||||
}
|
||||
defer lib.Close()
|
||||
|
||||
return true, "found NVML library"
|
||||
}
|
||||
@ -76,3 +86,17 @@ func (i *infolib) IsTegraSystem() (bool, string) {
|
||||
|
||||
return false, fmt.Sprintf("%v has no 'tegra' prefix", tegraFamilyFile)
|
||||
}
|
||||
|
||||
// assertHasLibrary returns an error if the specified library cannot be loaded
|
||||
func assertHasLibrary(libraryName string) error {
|
||||
const (
|
||||
libraryLoadFlags = dl.RTLD_LAZY
|
||||
)
|
||||
lib := dl.New(libraryName, libraryLoadFlags)
|
||||
if err := lib.Open(); err != nil {
|
||||
return err
|
||||
}
|
||||
defer lib.Close()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
4
vendor/modules.txt
vendored
4
vendor/modules.txt
vendored
@ -2,7 +2,7 @@
|
||||
## explicit; go 1.16
|
||||
github.com/BurntSushi/toml
|
||||
github.com/BurntSushi/toml/internal
|
||||
# github.com/NVIDIA/go-nvml v0.11.6-0.0.20220823120812-7e2082095e82
|
||||
# github.com/NVIDIA/go-nvml v0.12.0-0
|
||||
## explicit; go 1.15
|
||||
github.com/NVIDIA/go-nvml/pkg/dl
|
||||
github.com/NVIDIA/go-nvml/pkg/nvml
|
||||
@ -62,7 +62,7 @@ github.com/syndtr/gocapability/capability
|
||||
github.com/urfave/cli/v2
|
||||
# github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb
|
||||
## explicit
|
||||
# gitlab.com/nvidia/cloud-native/go-nvlib v0.0.0-20230119114711-6fe07bb33342
|
||||
# gitlab.com/nvidia/cloud-native/go-nvlib v0.0.0-20230209143738-95328d8c4438
|
||||
## explicit; go 1.16
|
||||
gitlab.com/nvidia/cloud-native/go-nvlib/pkg/nvlib/device
|
||||
gitlab.com/nvidia/cloud-native/go-nvlib/pkg/nvlib/info
|
||||
|
Loading…
Reference in New Issue
Block a user