1#![allow(non_upper_case_globals)]
4#![allow(non_camel_case_types)]
5#![allow(non_snake_case)]
6#![allow(dead_code)]
7use std::os::raw;
8
9pub const NVML_API_VERSION: u32 = 13;
10pub const NVML_API_VERSION_STR: &[u8; 3] = b"13\0";
11pub const NVML_VALUE_NOT_AVAILABLE: i32 = -1;
12pub const NVML_DEVICE_PCI_BUS_ID_BUFFER_SIZE: u32 = 32;
13pub const NVML_DEVICE_PCI_BUS_ID_BUFFER_V2_SIZE: u32 = 16;
14pub const NVML_DEVICE_PCI_BUS_ID_LEGACY_FMT: &[u8; 17] = b"%04X:%02X:%02X.0\0";
15pub const NVML_DEVICE_PCI_BUS_ID_FMT: &[u8; 17] = b"%08X:%02X:%02X.0\0";
16pub const NVML_NVLINK_MAX_LINKS: u32 = 18;
17pub const NVML_MAX_PHYSICAL_BRIDGE: u32 = 128;
18pub const NVML_MAX_THERMAL_SENSORS_PER_GPU: u32 = 3;
19pub const NVML_DEVICE_UUID_ASCII_LEN: u32 = 41;
20pub const NVML_DEVICE_UUID_BINARY_LEN: u32 = 16;
21pub const nvmlFlagDefault: u32 = 0;
22pub const nvmlFlagForce: u32 = 1;
23pub const MAX_CLK_DOMAINS: u32 = 32;
24pub const NVML_MAX_GPU_PERF_PSTATES: u32 = 16;
25pub const NVML_PERF_MODES_BUFFER_SIZE: u32 = 2048;
26pub const NVML_POWER_MIZER_MODE_ADAPTIVE: u32 = 0;
27pub const NVML_POWER_MIZER_MODE_PREFER_MAXIMUM_PERFORMANCE: u32 = 1;
28pub const NVML_POWER_MIZER_MODE_AUTO: u32 = 2;
29pub const NVML_POWER_MIZER_MODE_PREFER_CONSISTENT_PERFORMANCE: u32 = 3;
30pub const NVML_GSP_FIRMWARE_VERSION_BUF_SIZE: u32 = 64;
31pub const NVML_DEVICE_ARCH_KEPLER: u32 = 2;
32pub const NVML_DEVICE_ARCH_MAXWELL: u32 = 3;
33pub const NVML_DEVICE_ARCH_PASCAL: u32 = 4;
34pub const NVML_DEVICE_ARCH_VOLTA: u32 = 5;
35pub const NVML_DEVICE_ARCH_TURING: u32 = 6;
36pub const NVML_DEVICE_ARCH_AMPERE: u32 = 7;
37pub const NVML_DEVICE_ARCH_ADA: u32 = 8;
38pub const NVML_DEVICE_ARCH_HOPPER: u32 = 9;
39pub const NVML_DEVICE_ARCH_BLACKWELL: u32 = 10;
40pub const NVML_DEVICE_ARCH_UNKNOWN: u32 = 4294967295;
41pub const NVML_BUS_TYPE_UNKNOWN: u32 = 0;
42pub const NVML_BUS_TYPE_PCI: u32 = 1;
43pub const NVML_BUS_TYPE_PCIE: u32 = 2;
44pub const NVML_BUS_TYPE_FPCI: u32 = 3;
45pub const NVML_BUS_TYPE_AGP: u32 = 4;
46pub const NVML_FAN_POLICY_TEMPERATURE_CONTINOUS_SW: u32 = 0;
47pub const NVML_FAN_POLICY_MANUAL: u32 = 1;
48pub const NVML_POWER_SOURCE_AC: u32 = 0;
49pub const NVML_POWER_SOURCE_BATTERY: u32 = 1;
50pub const NVML_POWER_SOURCE_UNDERSIZED: u32 = 2;
51pub const NVML_PCIE_LINK_MAX_SPEED_INVALID: u32 = 0;
52pub const NVML_PCIE_LINK_MAX_SPEED_2500MBPS: u32 = 1;
53pub const NVML_PCIE_LINK_MAX_SPEED_5000MBPS: u32 = 2;
54pub const NVML_PCIE_LINK_MAX_SPEED_8000MBPS: u32 = 3;
55pub const NVML_PCIE_LINK_MAX_SPEED_16000MBPS: u32 = 4;
56pub const NVML_PCIE_LINK_MAX_SPEED_32000MBPS: u32 = 5;
57pub const NVML_PCIE_LINK_MAX_SPEED_64000MBPS: u32 = 6;
58pub const NVML_ADAPTIVE_CLOCKING_INFO_STATUS_DISABLED: u32 = 0;
59pub const NVML_ADAPTIVE_CLOCKING_INFO_STATUS_ENABLED: u32 = 1;
60pub const NVML_MAX_GPU_UTILIZATIONS: u32 = 8;
61pub const NVML_PCIE_ATOMICS_CAP_FETCHADD32: u32 = 1;
62pub const NVML_PCIE_ATOMICS_CAP_FETCHADD64: u32 = 2;
63pub const NVML_PCIE_ATOMICS_CAP_SWAP32: u32 = 4;
64pub const NVML_PCIE_ATOMICS_CAP_SWAP64: u32 = 8;
65pub const NVML_PCIE_ATOMICS_CAP_CAS32: u32 = 16;
66pub const NVML_PCIE_ATOMICS_CAP_CAS64: u32 = 32;
67pub const NVML_PCIE_ATOMICS_CAP_CAS128: u32 = 64;
68pub const NVML_PCIE_ATOMICS_OPS_MAX: u32 = 7;
69pub const NVML_POWER_SCOPE_GPU: u32 = 0;
70pub const NVML_POWER_SCOPE_MODULE: u32 = 1;
71pub const NVML_POWER_SCOPE_MEMORY: u32 = 2;
72pub const NVML_GRID_LICENSE_EXPIRY_NOT_AVAILABLE: u32 = 0;
73pub const NVML_GRID_LICENSE_EXPIRY_INVALID: u32 = 1;
74pub const NVML_GRID_LICENSE_EXPIRY_VALID: u32 = 2;
75pub const NVML_GRID_LICENSE_EXPIRY_NOT_APPLICABLE: u32 = 3;
76pub const NVML_GRID_LICENSE_EXPIRY_PERMANENT: u32 = 4;
77pub const NVML_GRID_LICENSE_BUFFER_SIZE: u32 = 128;
78pub const NVML_VGPU_NAME_BUFFER_SIZE: u32 = 64;
79pub const NVML_GRID_LICENSE_FEATURE_MAX_COUNT: u32 = 3;
80pub const INVALID_GPU_INSTANCE_PROFILE_ID: u32 = 4294967295;
81pub const INVALID_GPU_INSTANCE_ID: u32 = 4294967295;
82pub const NVML_INVALID_VGPU_PLACEMENT_ID: u32 = 65535;
83pub const NVML_VGPU_VIRTUALIZATION_CAP_MIGRATION_NO: u32 = 0;
84pub const NVML_VGPU_VIRTUALIZATION_CAP_MIGRATION_YES: u32 = 1;
85pub const NVML_VGPU_PGPU_VIRTUALIZATION_CAP_MIGRATION_NO: u32 = 0;
86pub const NVML_VGPU_PGPU_VIRTUALIZATION_CAP_MIGRATION_YES: u32 = 1;
87pub const NVML_VGPU_PGPU_HETEROGENEOUS_MODE: u32 = 0;
88pub const NVML_VGPU_PGPU_HOMOGENEOUS_MODE: u32 = 1;
89pub const NVML_VGPU_SCHEDULER_POLICY_UNKNOWN: u32 = 0;
90pub const NVML_VGPU_SCHEDULER_POLICY_BEST_EFFORT: u32 = 1;
91pub const NVML_VGPU_SCHEDULER_POLICY_EQUAL_SHARE: u32 = 2;
92pub const NVML_VGPU_SCHEDULER_POLICY_FIXED_SHARE: u32 = 3;
93pub const NVML_SUPPORTED_VGPU_SCHEDULER_POLICY_COUNT: u32 = 3;
94pub const NVML_SCHEDULER_SW_MAX_LOG_ENTRIES: u32 = 200;
95pub const NVML_VGPU_SCHEDULER_ARR_DEFAULT: u32 = 0;
96pub const NVML_VGPU_SCHEDULER_ARR_DISABLE: u32 = 1;
97pub const NVML_VGPU_SCHEDULER_ARR_ENABLE: u32 = 2;
98pub const NVML_VGPU_SCHEDULER_ENGINE_TYPE_GRAPHICS: u32 = 1;
99pub const NVML_GRID_LICENSE_STATE_UNKNOWN: u32 = 0;
100pub const NVML_GRID_LICENSE_STATE_UNINITIALIZED: u32 = 1;
101pub const NVML_GRID_LICENSE_STATE_UNLICENSED_UNRESTRICTED: u32 = 2;
102pub const NVML_GRID_LICENSE_STATE_UNLICENSED_RESTRICTED: u32 = 3;
103pub const NVML_GRID_LICENSE_STATE_UNLICENSED: u32 = 4;
104pub const NVML_GRID_LICENSE_STATE_LICENSED: u32 = 5;
105pub mod field_id {
106 pub const NVML_FI_DEV_ECC_CURRENT: u32 = 1;
107 pub const NVML_FI_DEV_ECC_PENDING: u32 = 2;
108 pub const NVML_FI_DEV_ECC_SBE_VOL_TOTAL: u32 = 3;
109 pub const NVML_FI_DEV_ECC_DBE_VOL_TOTAL: u32 = 4;
110 pub const NVML_FI_DEV_ECC_SBE_AGG_TOTAL: u32 = 5;
111 pub const NVML_FI_DEV_ECC_DBE_AGG_TOTAL: u32 = 6;
112 pub const NVML_FI_DEV_ECC_SBE_VOL_L1: u32 = 7;
113 pub const NVML_FI_DEV_ECC_DBE_VOL_L1: u32 = 8;
114 pub const NVML_FI_DEV_ECC_SBE_VOL_L2: u32 = 9;
115 pub const NVML_FI_DEV_ECC_DBE_VOL_L2: u32 = 10;
116 pub const NVML_FI_DEV_ECC_SBE_VOL_DEV: u32 = 11;
117 pub const NVML_FI_DEV_ECC_DBE_VOL_DEV: u32 = 12;
118 pub const NVML_FI_DEV_ECC_SBE_VOL_REG: u32 = 13;
119 pub const NVML_FI_DEV_ECC_DBE_VOL_REG: u32 = 14;
120 pub const NVML_FI_DEV_ECC_SBE_VOL_TEX: u32 = 15;
121 pub const NVML_FI_DEV_ECC_DBE_VOL_TEX: u32 = 16;
122 pub const NVML_FI_DEV_ECC_DBE_VOL_CBU: u32 = 17;
123 pub const NVML_FI_DEV_ECC_SBE_AGG_L1: u32 = 18;
124 pub const NVML_FI_DEV_ECC_DBE_AGG_L1: u32 = 19;
125 pub const NVML_FI_DEV_ECC_SBE_AGG_L2: u32 = 20;
126 pub const NVML_FI_DEV_ECC_DBE_AGG_L2: u32 = 21;
127 pub const NVML_FI_DEV_ECC_SBE_AGG_DEV: u32 = 22;
128 pub const NVML_FI_DEV_ECC_DBE_AGG_DEV: u32 = 23;
129 pub const NVML_FI_DEV_ECC_SBE_AGG_REG: u32 = 24;
130 pub const NVML_FI_DEV_ECC_DBE_AGG_REG: u32 = 25;
131 pub const NVML_FI_DEV_ECC_SBE_AGG_TEX: u32 = 26;
132 pub const NVML_FI_DEV_ECC_DBE_AGG_TEX: u32 = 27;
133 pub const NVML_FI_DEV_ECC_DBE_AGG_CBU: u32 = 28;
134 pub const NVML_FI_DEV_RETIRED_SBE: u32 = 29;
135 pub const NVML_FI_DEV_RETIRED_DBE: u32 = 30;
136 pub const NVML_FI_DEV_RETIRED_PENDING: u32 = 31;
137 pub const NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L0: u32 = 32;
138 pub const NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L1: u32 = 33;
139 pub const NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L2: u32 = 34;
140 pub const NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L3: u32 = 35;
141 pub const NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L4: u32 = 36;
142 pub const NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L5: u32 = 37;
143 pub const NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_TOTAL: u32 = 38;
144 pub const NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L0: u32 = 39;
145 pub const NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L1: u32 = 40;
146 pub const NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L2: u32 = 41;
147 pub const NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L3: u32 = 42;
148 pub const NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L4: u32 = 43;
149 pub const NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L5: u32 = 44;
150 pub const NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_TOTAL: u32 = 45;
151 pub const NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L0: u32 = 46;
152 pub const NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L1: u32 = 47;
153 pub const NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L2: u32 = 48;
154 pub const NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L3: u32 = 49;
155 pub const NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L4: u32 = 50;
156 pub const NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L5: u32 = 51;
157 pub const NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_TOTAL: u32 = 52;
158 pub const NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L0: u32 = 53;
159 pub const NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L1: u32 = 54;
160 pub const NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L2: u32 = 55;
161 pub const NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L3: u32 = 56;
162 pub const NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L4: u32 = 57;
163 pub const NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L5: u32 = 58;
164 pub const NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_TOTAL: u32 = 59;
165 pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L0: u32 = 60;
166 pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L1: u32 = 61;
167 pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L2: u32 = 62;
168 pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L3: u32 = 63;
169 pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L4: u32 = 64;
170 pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L5: u32 = 65;
171 pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C0_TOTAL: u32 = 66;
172 pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L0: u32 = 67;
173 pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L1: u32 = 68;
174 pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L2: u32 = 69;
175 pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L3: u32 = 70;
176 pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L4: u32 = 71;
177 pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L5: u32 = 72;
178 pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C1_TOTAL: u32 = 73;
179 pub const NVML_FI_DEV_PERF_POLICY_POWER: u32 = 74;
180 pub const NVML_FI_DEV_PERF_POLICY_THERMAL: u32 = 75;
181 pub const NVML_FI_DEV_PERF_POLICY_SYNC_BOOST: u32 = 76;
182 pub const NVML_FI_DEV_PERF_POLICY_BOARD_LIMIT: u32 = 77;
183 pub const NVML_FI_DEV_PERF_POLICY_LOW_UTILIZATION: u32 = 78;
184 pub const NVML_FI_DEV_PERF_POLICY_RELIABILITY: u32 = 79;
185 pub const NVML_FI_DEV_PERF_POLICY_TOTAL_APP_CLOCKS: u32 = 80;
186 pub const NVML_FI_DEV_PERF_POLICY_TOTAL_BASE_CLOCKS: u32 = 81;
187 pub const NVML_FI_DEV_MEMORY_TEMP: u32 = 82;
188 pub const NVML_FI_DEV_TOTAL_ENERGY_CONSUMPTION: u32 = 83;
189 pub const NVML_FI_DEV_NVLINK_SPEED_MBPS_L0: u32 = 84;
190 pub const NVML_FI_DEV_NVLINK_SPEED_MBPS_L1: u32 = 85;
191 pub const NVML_FI_DEV_NVLINK_SPEED_MBPS_L2: u32 = 86;
192 pub const NVML_FI_DEV_NVLINK_SPEED_MBPS_L3: u32 = 87;
193 pub const NVML_FI_DEV_NVLINK_SPEED_MBPS_L4: u32 = 88;
194 pub const NVML_FI_DEV_NVLINK_SPEED_MBPS_L5: u32 = 89;
195 pub const NVML_FI_DEV_NVLINK_SPEED_MBPS_COMMON: u32 = 90;
196 pub const NVML_FI_DEV_NVLINK_LINK_COUNT: u32 = 91;
197 pub const NVML_FI_DEV_RETIRED_PENDING_SBE: u32 = 92;
198 pub const NVML_FI_DEV_RETIRED_PENDING_DBE: u32 = 93;
199 pub const NVML_FI_DEV_PCIE_REPLAY_COUNTER: u32 = 94;
200 pub const NVML_FI_DEV_PCIE_REPLAY_ROLLOVER_COUNTER: u32 = 95;
201 pub const NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L6: u32 = 96;
202 pub const NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L7: u32 = 97;
203 pub const NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L8: u32 = 98;
204 pub const NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L9: u32 = 99;
205 pub const NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L10: u32 = 100;
206 pub const NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L11: u32 = 101;
207 pub const NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L6: u32 = 102;
208 pub const NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L7: u32 = 103;
209 pub const NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L8: u32 = 104;
210 pub const NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L9: u32 = 105;
211 pub const NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L10: u32 = 106;
212 pub const NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L11: u32 = 107;
213 pub const NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L6: u32 = 108;
214 pub const NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L7: u32 = 109;
215 pub const NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L8: u32 = 110;
216 pub const NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L9: u32 = 111;
217 pub const NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L10: u32 = 112;
218 pub const NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L11: u32 = 113;
219 pub const NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L6: u32 = 114;
220 pub const NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L7: u32 = 115;
221 pub const NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L8: u32 = 116;
222 pub const NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L9: u32 = 117;
223 pub const NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L10: u32 = 118;
224 pub const NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L11: u32 = 119;
225 pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L6: u32 = 120;
226 pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L7: u32 = 121;
227 pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L8: u32 = 122;
228 pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L9: u32 = 123;
229 pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L10: u32 = 124;
230 pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L11: u32 = 125;
231 pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L6: u32 = 126;
232 pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L7: u32 = 127;
233 pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L8: u32 = 128;
234 pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L9: u32 = 129;
235 pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L10: u32 = 130;
236 pub const NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L11: u32 = 131;
237 pub const NVML_FI_DEV_NVLINK_SPEED_MBPS_L6: u32 = 132;
238 pub const NVML_FI_DEV_NVLINK_SPEED_MBPS_L7: u32 = 133;
239 pub const NVML_FI_DEV_NVLINK_SPEED_MBPS_L8: u32 = 134;
240 pub const NVML_FI_DEV_NVLINK_SPEED_MBPS_L9: u32 = 135;
241 pub const NVML_FI_DEV_NVLINK_SPEED_MBPS_L10: u32 = 136;
242 pub const NVML_FI_DEV_NVLINK_SPEED_MBPS_L11: u32 = 137;
243 pub const NVML_FI_DEV_NVLINK_THROUGHPUT_DATA_TX: u32 = 138;
244 pub const NVML_FI_DEV_NVLINK_THROUGHPUT_DATA_RX: u32 = 139;
245 pub const NVML_FI_DEV_NVLINK_THROUGHPUT_RAW_TX: u32 = 140;
246 pub const NVML_FI_DEV_NVLINK_THROUGHPUT_RAW_RX: u32 = 141;
247 pub const NVML_FI_DEV_REMAPPED_COR: u32 = 142;
248 pub const NVML_FI_DEV_REMAPPED_UNC: u32 = 143;
249 pub const NVML_FI_DEV_REMAPPED_PENDING: u32 = 144;
250 pub const NVML_FI_DEV_REMAPPED_FAILURE: u32 = 145;
251 pub const NVML_FI_DEV_NVLINK_REMOTE_NVLINK_ID: u32 = 146;
252 pub const NVML_FI_DEV_NVSWITCH_CONNECTED_LINK_COUNT: u32 = 147;
253 pub const NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L0: u32 = 148;
254 pub const NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L1: u32 = 149;
255 pub const NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L2: u32 = 150;
256 pub const NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L3: u32 = 151;
257 pub const NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L4: u32 = 152;
258 pub const NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L5: u32 = 153;
259 pub const NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L6: u32 = 154;
260 pub const NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L7: u32 = 155;
261 pub const NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L8: u32 = 156;
262 pub const NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L9: u32 = 157;
263 pub const NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L10: u32 = 158;
264 pub const NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L11: u32 = 159;
265 pub const NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_TOTAL: u32 = 160;
266 pub const NVML_FI_DEV_NVLINK_ERROR_DL_REPLAY: u32 = 161;
267 pub const NVML_FI_DEV_NVLINK_ERROR_DL_RECOVERY: u32 = 162;
268 pub const NVML_FI_DEV_NVLINK_ERROR_DL_CRC: u32 = 163;
269 pub const NVML_FI_DEV_NVLINK_GET_SPEED: u32 = 164;
270 pub const NVML_FI_DEV_NVLINK_GET_STATE: u32 = 165;
271 pub const NVML_FI_DEV_NVLINK_GET_VERSION: u32 = 166;
272 pub const NVML_FI_DEV_NVLINK_GET_POWER_STATE: u32 = 167;
273 pub const NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD: u32 = 168;
274 pub const NVML_FI_DEV_PCIE_L0_TO_RECOVERY_COUNTER: u32 = 169;
275 pub const NVML_FI_DEV_C2C_LINK_COUNT: u32 = 170;
276 pub const NVML_FI_DEV_C2C_LINK_GET_STATUS: u32 = 171;
277 pub const NVML_FI_DEV_C2C_LINK_GET_MAX_BW: u32 = 172;
278 pub const NVML_FI_DEV_PCIE_COUNT_CORRECTABLE_ERRORS: u32 = 173;
279 pub const NVML_FI_DEV_PCIE_COUNT_NAKS_RECEIVED: u32 = 174;
280 pub const NVML_FI_DEV_PCIE_COUNT_RECEIVER_ERROR: u32 = 175;
281 pub const NVML_FI_DEV_PCIE_COUNT_BAD_TLP: u32 = 176;
282 pub const NVML_FI_DEV_PCIE_COUNT_NAKS_SENT: u32 = 177;
283 pub const NVML_FI_DEV_PCIE_COUNT_BAD_DLLP: u32 = 178;
284 pub const NVML_FI_DEV_PCIE_COUNT_NON_FATAL_ERROR: u32 = 179;
285 pub const NVML_FI_DEV_PCIE_COUNT_FATAL_ERROR: u32 = 180;
286 pub const NVML_FI_DEV_PCIE_COUNT_UNSUPPORTED_REQ: u32 = 181;
287 pub const NVML_FI_DEV_PCIE_COUNT_LCRC_ERROR: u32 = 182;
288 pub const NVML_FI_DEV_PCIE_COUNT_LANE_ERROR: u32 = 183;
289 pub const NVML_FI_DEV_IS_RESETLESS_MIG_SUPPORTED: u32 = 184;
290 pub const NVML_FI_DEV_POWER_AVERAGE: u32 = 185;
291 pub const NVML_FI_DEV_POWER_INSTANT: u32 = 186;
292 pub const NVML_FI_DEV_POWER_MIN_LIMIT: u32 = 187;
293 pub const NVML_FI_DEV_POWER_MAX_LIMIT: u32 = 188;
294 pub const NVML_FI_DEV_POWER_DEFAULT_LIMIT: u32 = 189;
295 pub const NVML_FI_DEV_POWER_CURRENT_LIMIT: u32 = 190;
296 pub const NVML_FI_DEV_ENERGY: u32 = 191;
297 pub const NVML_FI_DEV_POWER_REQUESTED_LIMIT: u32 = 192;
298 pub const NVML_FI_DEV_TEMPERATURE_SHUTDOWN_TLIMIT: u32 = 193;
299 pub const NVML_FI_DEV_TEMPERATURE_SLOWDOWN_TLIMIT: u32 = 194;
300 pub const NVML_FI_DEV_TEMPERATURE_MEM_MAX_TLIMIT: u32 = 195;
301 pub const NVML_FI_DEV_TEMPERATURE_GPU_MAX_TLIMIT: u32 = 196;
302 pub const NVML_FI_DEV_PCIE_COUNT_TX_BYTES: u32 = 197;
303 pub const NVML_FI_DEV_PCIE_COUNT_RX_BYTES: u32 = 198;
304 pub const NVML_FI_DEV_IS_MIG_MODE_INDEPENDENT_MIG_QUERY_CAPABLE: u32 = 199;
305 pub const NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_MAX: u32 = 200;
306 pub const NVML_FI_DEV_NVLINK_COUNT_XMIT_PACKETS: u32 = 201;
307 pub const NVML_FI_DEV_NVLINK_COUNT_XMIT_BYTES: u32 = 202;
308 pub const NVML_FI_DEV_NVLINK_COUNT_RCV_PACKETS: u32 = 203;
309 pub const NVML_FI_DEV_NVLINK_COUNT_RCV_BYTES: u32 = 204;
310 pub const NVML_FI_DEV_NVLINK_COUNT_VL15_DROPPED: u32 = 205;
311 pub const NVML_FI_DEV_NVLINK_COUNT_MALFORMED_PACKET_ERRORS: u32 = 206;
312 pub const NVML_FI_DEV_NVLINK_COUNT_BUFFER_OVERRUN_ERRORS: u32 = 207;
313 pub const NVML_FI_DEV_NVLINK_COUNT_RCV_ERRORS: u32 = 208;
314 pub const NVML_FI_DEV_NVLINK_COUNT_RCV_REMOTE_ERRORS: u32 = 209;
315 pub const NVML_FI_DEV_NVLINK_COUNT_RCV_GENERAL_ERRORS: u32 = 210;
316 pub const NVML_FI_DEV_NVLINK_COUNT_LOCAL_LINK_INTEGRITY_ERRORS: u32 = 211;
317 pub const NVML_FI_DEV_NVLINK_COUNT_XMIT_DISCARDS: u32 = 212;
318 pub const NVML_FI_DEV_NVLINK_COUNT_LINK_RECOVERY_SUCCESSFUL_EVENTS: u32 = 213;
319 pub const NVML_FI_DEV_NVLINK_COUNT_LINK_RECOVERY_FAILED_EVENTS: u32 = 214;
320 pub const NVML_FI_DEV_NVLINK_COUNT_LINK_RECOVERY_EVENTS: u32 = 215;
321 pub const NVML_FI_DEV_NVLINK_COUNT_RAW_BER_LANE0: u32 = 216;
322 pub const NVML_FI_DEV_NVLINK_COUNT_RAW_BER_LANE1: u32 = 217;
323 pub const NVML_FI_DEV_NVLINK_COUNT_RAW_BER: u32 = 218;
324 pub const NVML_FI_DEV_NVLINK_COUNT_EFFECTIVE_ERRORS: u32 = 219;
325 pub const NVML_FI_DEV_NVLINK_COUNT_EFFECTIVE_BER: u32 = 220;
326 pub const NVML_FI_DEV_NVLINK_COUNT_SYMBOL_ERRORS: u32 = 221;
327 pub const NVML_FI_DEV_NVLINK_COUNT_SYMBOL_BER: u32 = 222;
328 pub const NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_MIN: u32 = 223;
329 pub const NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_UNITS: u32 = 224;
330 pub const NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_SUPPORTED: u32 = 225;
331 pub const NVML_FI_DEV_RESET_STATUS: u32 = 226;
332 pub const NVML_FI_DEV_DRAIN_AND_RESET_STATUS: u32 = 227;
333 pub const NVML_FI_DEV_PCIE_OUTBOUND_ATOMICS_MASK: u32 = 228;
334 pub const NVML_FI_DEV_PCIE_INBOUND_ATOMICS_MASK: u32 = 229;
335 pub const NVML_FI_DEV_GET_GPU_RECOVERY_ACTION: u32 = 230;
336 pub const NVML_FI_DEV_C2C_LINK_ERROR_INTR: u32 = 231;
337 pub const NVML_FI_DEV_C2C_LINK_ERROR_REPLAY: u32 = 232;
338 pub const NVML_FI_DEV_C2C_LINK_ERROR_REPLAY_B2B: u32 = 233;
339 pub const NVML_FI_DEV_C2C_LINK_POWER_STATE: u32 = 234;
340 pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_0: u32 = 235;
341 pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_1: u32 = 236;
342 pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_2: u32 = 237;
343 pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_3: u32 = 238;
344 pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_4: u32 = 239;
345 pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_5: u32 = 240;
346 pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_6: u32 = 241;
347 pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_7: u32 = 242;
348 pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_8: u32 = 243;
349 pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_9: u32 = 244;
350 pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_10: u32 = 245;
351 pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_11: u32 = 246;
352 pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_12: u32 = 247;
353 pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_13: u32 = 248;
354 pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_14: u32 = 249;
355 pub const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_15: u32 = 250;
356 pub const NVML_FI_DEV_CLOCKS_EVENT_REASON_SW_POWER_CAP: u32 = 74;
357 pub const NVML_FI_DEV_CLOCKS_EVENT_REASON_SYNC_BOOST: u32 = 76;
358 pub const NVML_FI_DEV_CLOCKS_EVENT_REASON_SW_THERM_SLOWDOWN: u32 = 251;
359 pub const NVML_FI_DEV_CLOCKS_EVENT_REASON_HW_THERM_SLOWDOWN: u32 = 252;
360 pub const NVML_FI_DEV_CLOCKS_EVENT_REASON_HW_POWER_BRAKE_SLOWDOWN: u32 = 253;
361 pub const NVML_FI_DEV_POWER_SYNC_BALANCING_FREQ: u32 = 254;
362 pub const NVML_FI_DEV_POWER_SYNC_BALANCING_AF: u32 = 255;
363 pub const NVML_FI_PWR_SMOOTHING_ENABLED: u32 = 256;
364 pub const NVML_FI_PWR_SMOOTHING_PRIV_LVL: u32 = 257;
365 pub const NVML_FI_PWR_SMOOTHING_IMM_RAMP_DOWN_ENABLED: u32 = 258;
366 pub const NVML_FI_PWR_SMOOTHING_APPLIED_TMP_CEIL: u32 = 259;
367 pub const NVML_FI_PWR_SMOOTHING_APPLIED_TMP_FLOOR: u32 = 260;
368 pub const NVML_FI_PWR_SMOOTHING_MAX_PERCENT_TMP_FLOOR_SETTING: u32 = 261;
369 pub const NVML_FI_PWR_SMOOTHING_MIN_PERCENT_TMP_FLOOR_SETTING: u32 = 262;
370 pub const NVML_FI_PWR_SMOOTHING_HW_CIRCUITRY_PERCENT_LIFETIME_REMAINING: u32 = 263;
371 pub const NVML_FI_PWR_SMOOTHING_MAX_NUM_PRESET_PROFILES: u32 = 264;
372 pub const NVML_FI_PWR_SMOOTHING_PROFILE_PERCENT_TMP_FLOOR: u32 = 265;
373 pub const NVML_FI_PWR_SMOOTHING_PROFILE_RAMP_UP_RATE: u32 = 266;
374 pub const NVML_FI_PWR_SMOOTHING_PROFILE_RAMP_DOWN_RATE: u32 = 267;
375 pub const NVML_FI_PWR_SMOOTHING_PROFILE_RAMP_DOWN_HYST_VAL: u32 = 268;
376 pub const NVML_FI_PWR_SMOOTHING_ACTIVE_PRESET_PROFILE: u32 = 269;
377 pub const NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_PERCENT_TMP_FLOOR: u32 = 270;
378 pub const NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_RAMP_UP_RATE: u32 = 271;
379 pub const NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_RAMP_DOWN_RATE: u32 = 272;
380 pub const NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_RAMP_DOWN_HYST_VAL: u32 = 273;
381 pub const NVML_FI_MAX: u32 = 274;
382}
383pub const NVML_NVLINK_LOW_POWER_THRESHOLD_UNIT_100US: u32 = 0;
384pub const NVML_NVLINK_LOW_POWER_THRESHOLD_UNIT_50US: u32 = 1;
385pub const NVML_NVLINK_POWER_STATE_HIGH_SPEED: u32 = 0;
386pub const NVML_NVLINK_POWER_STATE_LOW: u32 = 1;
387pub const NVML_NVLINK_LOW_POWER_THRESHOLD_MIN: u32 = 1;
388pub const NVML_NVLINK_LOW_POWER_THRESHOLD_MAX: u32 = 8191;
389pub const NVML_NVLINK_LOW_POWER_THRESHOLD_RESET: u32 = 4294967295;
390pub const NVML_NVLINK_LOW_POWER_THRESHOLD_DEFAULT: u32 = 4294967295;
391pub const NVML_C2C_POWER_STATE_FULL_POWER: u32 = 0;
392pub const NVML_C2C_POWER_STATE_LOW_POWER: u32 = 1;
393pub const nvmlEventTypeNone: u32 = 0;
394pub const nvmlEventTypeSingleBitEccError: u32 = 1;
395pub const nvmlEventTypeDoubleBitEccError: u32 = 2;
396pub const nvmlEventTypePState: u32 = 4;
397pub const nvmlEventTypeXidCriticalError: u32 = 8;
398pub const nvmlEventTypeClock: u32 = 16;
399pub const nvmlEventTypePowerSourceChange: u32 = 128;
400pub const nvmlEventMigConfigChange: u32 = 256;
401pub const nvmlEventTypeSingleBitEccErrorStorm: u32 = 512;
402pub const nvmlEventTypeDramRetirementEvent: u32 = 1024;
403pub const nvmlEventTypeDramRetirementFailure: u32 = 2048;
404pub const nvmlEventTypeNonFatalPoisonError: u32 = 4096;
405pub const nvmlEventTypeFatalPoisonError: u32 = 8192;
406pub const nvmlEventTypeGpuUnavailableError: u32 = 16384;
407pub const nvmlEventTypeGpuRecoveryAction: u32 = 32768;
408pub const nvmlEventTypeAll: u32 = 65439;
409pub const nvmlSystemEventTypeGpuDriverUnbind: u32 = 1;
410pub const nvmlSystemEventTypeGpuDriverBind: u32 = 2;
411pub const nvmlSystemEventTypeCount: u32 = 2;
412pub const nvmlClocksEventReasonGpuIdle: u32 = 1;
413pub const nvmlClocksEventReasonApplicationsClocksSetting: u32 = 2;
414pub const nvmlClocksThrottleReasonUserDefinedClocks: u32 = 2;
415pub const nvmlClocksEventReasonSwPowerCap: u32 = 4;
416pub const nvmlClocksThrottleReasonHwSlowdown: u32 = 8;
417pub const nvmlClocksEventReasonSyncBoost: u32 = 16;
418pub const nvmlClocksEventReasonSwThermalSlowdown: u32 = 32;
419pub const nvmlClocksThrottleReasonHwThermalSlowdown: u32 = 64;
420pub const nvmlClocksThrottleReasonHwPowerBrakeSlowdown: u32 = 128;
421pub const nvmlClocksEventReasonDisplayClockSetting: u32 = 256;
422pub const nvmlClocksEventReasonNone: u32 = 0;
423pub const nvmlClocksThrottleReasonGpuIdle: u32 = 1;
424pub const nvmlClocksThrottleReasonApplicationsClocksSetting: u32 = 2;
425pub const nvmlClocksThrottleReasonSyncBoost: u32 = 16;
426pub const nvmlClocksThrottleReasonSwPowerCap: u32 = 4;
427pub const nvmlClocksThrottleReasonSwThermalSlowdown: u32 = 32;
428pub const nvmlClocksThrottleReasonDisplayClockSetting: u32 = 256;
429pub const nvmlClocksThrottleReasonNone: u32 = 0;
430pub const NVML_NVFBC_SESSION_FLAG_DIFFMAP_ENABLED: u32 = 1;
431pub const NVML_NVFBC_SESSION_FLAG_CLASSIFICATIONMAP_ENABLED: u32 = 2;
432pub const NVML_NVFBC_SESSION_FLAG_CAPTURE_WITH_WAIT_NO_WAIT: u32 = 4;
433pub const NVML_NVFBC_SESSION_FLAG_CAPTURE_WITH_WAIT_INFINITE: u32 = 8;
434pub const NVML_NVFBC_SESSION_FLAG_CAPTURE_WITH_WAIT_TIMEOUT: u32 = 16;
435pub const NVML_CC_SYSTEM_CPU_CAPS_NONE: u32 = 0;
436pub const NVML_CC_SYSTEM_CPU_CAPS_AMD_SEV: u32 = 1;
437pub const NVML_CC_SYSTEM_CPU_CAPS_INTEL_TDX: u32 = 2;
438pub const NVML_CC_SYSTEM_CPU_CAPS_AMD_SEV_SNP: u32 = 3;
439pub const NVML_CC_SYSTEM_CPU_CAPS_AMD_SNP_VTOM: u32 = 4;
440pub const NVML_CC_SYSTEM_GPUS_CC_NOT_CAPABLE: u32 = 0;
441pub const NVML_CC_SYSTEM_GPUS_CC_CAPABLE: u32 = 1;
442pub const NVML_CC_SYSTEM_DEVTOOLS_MODE_OFF: u32 = 0;
443pub const NVML_CC_SYSTEM_DEVTOOLS_MODE_ON: u32 = 1;
444pub const NVML_CC_SYSTEM_ENVIRONMENT_UNAVAILABLE: u32 = 0;
445pub const NVML_CC_SYSTEM_ENVIRONMENT_SIM: u32 = 1;
446pub const NVML_CC_SYSTEM_ENVIRONMENT_PROD: u32 = 2;
447pub const NVML_CC_SYSTEM_FEATURE_DISABLED: u32 = 0;
448pub const NVML_CC_SYSTEM_FEATURE_ENABLED: u32 = 1;
449pub const NVML_CC_SYSTEM_MULTIGPU_NONE: u32 = 0;
450pub const NVML_CC_SYSTEM_MULTIGPU_PROTECTED_PCIE: u32 = 1;
451pub const NVML_CC_SYSTEM_MULTIGPU_NVLE: u32 = 2;
452pub const NVML_CC_ACCEPTING_CLIENT_REQUESTS_FALSE: u32 = 0;
453pub const NVML_CC_ACCEPTING_CLIENT_REQUESTS_TRUE: u32 = 1;
454pub const NVML_GPU_CERT_CHAIN_SIZE: u32 = 4096;
455pub const NVML_GPU_ATTESTATION_CERT_CHAIN_SIZE: u32 = 5120;
456pub const NVML_CC_GPU_CEC_NONCE_SIZE: u32 = 32;
457pub const NVML_CC_GPU_ATTESTATION_REPORT_SIZE: u32 = 8192;
458pub const NVML_CC_GPU_CEC_ATTESTATION_REPORT_SIZE: u32 = 4096;
459pub const NVML_CC_CEC_ATTESTATION_REPORT_NOT_PRESENT: u32 = 0;
460pub const NVML_CC_CEC_ATTESTATION_REPORT_PRESENT: u32 = 1;
461pub const NVML_CC_KEY_ROTATION_THRESHOLD_ATTACKER_ADVANTAGE_MIN: u32 = 50;
462pub const NVML_CC_KEY_ROTATION_THRESHOLD_ATTACKER_ADVANTAGE_MAX: u32 = 65;
463pub const NVML_GPU_FABRIC_UUID_LEN: u32 = 16;
464pub const NVML_GPU_FABRIC_STATE_NOT_SUPPORTED: u32 = 0;
465pub const NVML_GPU_FABRIC_STATE_NOT_STARTED: u32 = 1;
466pub const NVML_GPU_FABRIC_STATE_IN_PROGRESS: u32 = 2;
467pub const NVML_GPU_FABRIC_STATE_COMPLETED: u32 = 3;
468pub const NVML_GPU_FABRIC_HEALTH_MASK_DEGRADED_BW_NOT_SUPPORTED: u32 = 0;
469pub const NVML_GPU_FABRIC_HEALTH_MASK_DEGRADED_BW_TRUE: u32 = 1;
470pub const NVML_GPU_FABRIC_HEALTH_MASK_DEGRADED_BW_FALSE: u32 = 2;
471pub const NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_DEGRADED_BW: u32 = 0;
472pub const NVML_GPU_FABRIC_HEALTH_MASK_WIDTH_DEGRADED_BW: u32 = 3;
473pub const NVML_GPU_FABRIC_HEALTH_MASK_ROUTE_RECOVERY_NOT_SUPPORTED: u32 = 0;
474pub const NVML_GPU_FABRIC_HEALTH_MASK_ROUTE_RECOVERY_TRUE: u32 = 1;
475pub const NVML_GPU_FABRIC_HEALTH_MASK_ROUTE_RECOVERY_FALSE: u32 = 2;
476pub const NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_ROUTE_RECOVERY: u32 = 2;
477pub const NVML_GPU_FABRIC_HEALTH_MASK_WIDTH_ROUTE_RECOVERY: u32 = 3;
478pub const NVML_GPU_FABRIC_HEALTH_MASK_ROUTE_UNHEALTHY_NOT_SUPPORTED: u32 = 0;
479pub const NVML_GPU_FABRIC_HEALTH_MASK_ROUTE_UNHEALTHY_TRUE: u32 = 1;
480pub const NVML_GPU_FABRIC_HEALTH_MASK_ROUTE_UNHEALTHY_FALSE: u32 = 2;
481pub const NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_ROUTE_UNHEALTHY: u32 = 4;
482pub const NVML_GPU_FABRIC_HEALTH_MASK_WIDTH_ROUTE_UNHEALTHY: u32 = 3;
483pub const NVML_GPU_FABRIC_HEALTH_MASK_ACCESS_TIMEOUT_RECOVERY_NOT_SUPPORTED: u32 = 0;
484pub const NVML_GPU_FABRIC_HEALTH_MASK_ACCESS_TIMEOUT_RECOVERY_TRUE: u32 = 1;
485pub const NVML_GPU_FABRIC_HEALTH_MASK_ACCESS_TIMEOUT_RECOVERY_FALSE: u32 = 2;
486pub const NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_ACCESS_TIMEOUT_RECOVERY: u32 = 6;
487pub const NVML_GPU_FABRIC_HEALTH_MASK_WIDTH_ACCESS_TIMEOUT_RECOVERY: u32 = 3;
488pub const NVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_NOT_SUPPORTED: u32 = 0;
489pub const NVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_NONE: u32 = 1;
490pub const NVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_INCORRECT_SYSGUID: u32 = 2;
491pub const NVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_INCORRECT_CHASSIS_SN: u32 = 3;
492pub const NVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_NO_PARTITION: u32 = 4;
493pub const NVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_INSUFFICIENT_NVLINKS: u32 = 5;
494pub const NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_INCORRECT_CONFIGURATION: u32 = 8;
495pub const NVML_GPU_FABRIC_HEALTH_MASK_WIDTH_INCORRECT_CONFIGURATION: u32 = 15;
496pub const NVML_GPU_FABRIC_HEALTH_SUMMARY_NOT_SUPPORTED: u32 = 0;
497pub const NVML_GPU_FABRIC_HEALTH_SUMMARY_HEALTHY: u32 = 1;
498pub const NVML_GPU_FABRIC_HEALTH_SUMMARY_UNHEALTHY: u32 = 2;
499pub const NVML_GPU_FABRIC_HEALTH_SUMMARY_LIMITED_CAPACITY: u32 = 3;
500pub const NVML_INIT_FLAG_NO_GPUS: u32 = 1;
501pub const NVML_INIT_FLAG_NO_ATTACH: u32 = 2;
502pub const NVML_DEVICE_INFOROM_VERSION_BUFFER_SIZE: u32 = 16;
503pub const NVML_DEVICE_UUID_BUFFER_SIZE: u32 = 80;
504pub const NVML_DEVICE_UUID_V2_BUFFER_SIZE: u32 = 96;
505pub const NVML_DEVICE_PART_NUMBER_BUFFER_SIZE: u32 = 80;
506pub const NVML_SYSTEM_DRIVER_VERSION_BUFFER_SIZE: u32 = 80;
507pub const NVML_SYSTEM_NVML_VERSION_BUFFER_SIZE: u32 = 80;
508pub const NVML_DEVICE_NAME_BUFFER_SIZE: u32 = 64;
509pub const NVML_DEVICE_NAME_V2_BUFFER_SIZE: u32 = 96;
510pub const NVML_DEVICE_SERIAL_BUFFER_SIZE: u32 = 30;
511pub const NVML_DEVICE_VBIOS_VERSION_BUFFER_SIZE: u32 = 32;
512pub const NVML_AFFINITY_SCOPE_NODE: u32 = 0;
513pub const NVML_AFFINITY_SCOPE_SOCKET: u32 = 1;
514pub const NVML_NVLINK_BER_MANTISSA_SHIFT: u32 = 8;
515pub const NVML_NVLINK_BER_MANTISSA_WIDTH: u32 = 15;
516pub const NVML_NVLINK_BER_EXP_SHIFT: u32 = 0;
517pub const NVML_NVLINK_BER_EXP_WIDTH: u32 = 255;
518pub const NVML_NVLINK_STATE_INACTIVE: u32 = 0;
519pub const NVML_NVLINK_STATE_ACTIVE: u32 = 1;
520pub const NVML_NVLINK_STATE_SLEEP: u32 = 2;
521pub const NVML_NVLINK_TOTAL_SUPPORTED_BW_MODES: u32 = 23;
522pub const NVML_NVLINK_FIRMWARE_UCODE_TYPE_MSE: u32 = 1;
523pub const NVML_NVLINK_FIRMWARE_UCODE_TYPE_NETIR: u32 = 2;
524pub const NVML_NVLINK_FIRMWARE_UCODE_TYPE_NETIR_UPHY: u32 = 3;
525pub const NVML_NVLINK_FIRMWARE_UCODE_TYPE_NETIR_CLN: u32 = 4;
526pub const NVML_NVLINK_FIRMWARE_UCODE_TYPE_NETIR_DLN: u32 = 5;
527pub const NVML_NVLINK_FIRMWARE_VERSION_LENGTH: u32 = 100;
528pub const NVML_PRM_DATA_MAX_SIZE: u32 = 496;
529pub const NVML_DEVICE_MIG_DISABLE: u32 = 0;
530pub const NVML_DEVICE_MIG_ENABLE: u32 = 1;
531pub const NVML_GPU_INSTANCE_PROFILE_1_SLICE: u32 = 0;
532pub const NVML_GPU_INSTANCE_PROFILE_2_SLICE: u32 = 1;
533pub const NVML_GPU_INSTANCE_PROFILE_3_SLICE: u32 = 2;
534pub const NVML_GPU_INSTANCE_PROFILE_4_SLICE: u32 = 3;
535pub const NVML_GPU_INSTANCE_PROFILE_7_SLICE: u32 = 4;
536pub const NVML_GPU_INSTANCE_PROFILE_8_SLICE: u32 = 5;
537pub const NVML_GPU_INSTANCE_PROFILE_6_SLICE: u32 = 6;
538pub const NVML_GPU_INSTANCE_PROFILE_1_SLICE_REV1: u32 = 7;
539pub const NVML_GPU_INSTANCE_PROFILE_2_SLICE_REV1: u32 = 8;
540pub const NVML_GPU_INSTANCE_PROFILE_1_SLICE_REV2: u32 = 9;
541pub const NVML_GPU_INSTANCE_PROFILE_1_SLICE_GFX: u32 = 10;
542pub const NVML_GPU_INSTANCE_PROFILE_2_SLICE_GFX: u32 = 11;
543pub const NVML_GPU_INSTANCE_PROFILE_4_SLICE_GFX: u32 = 12;
544pub const NVML_GPU_INSTANCE_PROFILE_1_SLICE_NO_ME: u32 = 13;
545pub const NVML_GPU_INSTANCE_PROFILE_2_SLICE_NO_ME: u32 = 14;
546pub const NVML_GPU_INSTANCE_PROFILE_1_SLICE_ALL_ME: u32 = 15;
547pub const NVML_GPU_INSTANCE_PROFILE_2_SLICE_ALL_ME: u32 = 16;
548pub const NVML_GPU_INSTANCE_PROFILE_COUNT: u32 = 17;
549pub const NVML_GPU_INSTANCE_PROFILE_CAPS_P2P: u32 = 1;
550pub const NVML_GPU_INTSTANCE_PROFILE_CAPS_P2P: u32 = 1;
551pub const NVML_GPU_INSTANCE_PROFILE_CAPS_GFX: u32 = 2;
552pub const NVML_COMPUTE_INSTANCE_PROFILE_CAPS_GFX: u32 = 1;
553pub const NVML_COMPUTE_INSTANCE_PROFILE_1_SLICE: u32 = 0;
554pub const NVML_COMPUTE_INSTANCE_PROFILE_2_SLICE: u32 = 1;
555pub const NVML_COMPUTE_INSTANCE_PROFILE_3_SLICE: u32 = 2;
556pub const NVML_COMPUTE_INSTANCE_PROFILE_4_SLICE: u32 = 3;
557pub const NVML_COMPUTE_INSTANCE_PROFILE_7_SLICE: u32 = 4;
558pub const NVML_COMPUTE_INSTANCE_PROFILE_8_SLICE: u32 = 5;
559pub const NVML_COMPUTE_INSTANCE_PROFILE_6_SLICE: u32 = 6;
560pub const NVML_COMPUTE_INSTANCE_PROFILE_1_SLICE_REV1: u32 = 7;
561pub const NVML_COMPUTE_INSTANCE_PROFILE_COUNT: u32 = 8;
562pub const NVML_COMPUTE_INSTANCE_ENGINE_PROFILE_SHARED: u32 = 0;
563pub const NVML_COMPUTE_INSTANCE_ENGINE_PROFILE_COUNT: u32 = 1;
564pub const NVML_GPM_METRICS_GET_VERSION: u32 = 1;
565pub const NVML_GPM_SUPPORT_VERSION: u32 = 1;
566pub const NVML_DEV_CAP_EGM: u32 = 1;
567pub const NVML_255_MASK_BITS_PER_ELEM: u32 = 32;
568pub const NVML_255_MASK_NUM_ELEMS: u32 = 8;
569pub const NVML_WORKLOAD_POWER_MAX_PROFILES: u32 = 255;
570pub const NVML_POWER_SMOOTHING_MAX_NUM_PROFILES: u32 = 5;
571pub const NVML_POWER_SMOOTHING_NUM_PROFILE_PARAMS: u32 = 4;
572pub const NVML_POWER_SMOOTHING_ADMIN_OVERRIDE_NOT_SET: u32 = 4294967295;
573pub const NVML_POWER_SMOOTHING_PROFILE_PARAM_PERCENT_TMP_FLOOR: u32 = 0;
574pub const NVML_POWER_SMOOTHING_PROFILE_PARAM_RAMP_UP_RATE: u32 = 1;
575pub const NVML_POWER_SMOOTHING_PROFILE_PARAM_RAMP_DOWN_RATE: u32 = 2;
576pub const NVML_POWER_SMOOTHING_PROFILE_PARAM_RAMP_DOWN_HYSTERESIS: u32 = 3;
577#[repr(C)]
578#[derive(Debug, Copy, Clone)]
579pub struct nvmlDevice_st {
580 _unused: [u8; 0],
581}
582pub type nvmlDevice_t = *mut nvmlDevice_st;
583#[repr(C)]
584#[derive(Debug, Copy, Clone)]
585pub struct nvmlGpuInstance_st {
586 _unused: [u8; 0],
587}
588pub type nvmlGpuInstance_t = *mut nvmlGpuInstance_st;
589#[repr(C)]
590#[derive(Debug, Copy, Clone)]
591pub struct nvmlPciInfoExt_v1_t {
592 pub version: raw::c_uint,
593 pub domain: raw::c_uint,
594 pub bus: raw::c_uint,
595 pub device: raw::c_uint,
596 pub pciDeviceId: raw::c_uint,
597 pub pciSubSystemId: raw::c_uint,
598 pub baseClass: raw::c_uint,
599 pub subClass: raw::c_uint,
600 pub busId: [raw::c_char; 32usize],
601}
602pub type nvmlPciInfoExt_t = nvmlPciInfoExt_v1_t;
603#[repr(C)]
604#[derive(Debug, Copy, Clone)]
605pub struct nvmlPciInfo_st {
606 pub busIdLegacy: [raw::c_char; 16usize],
607 pub domain: raw::c_uint,
608 pub bus: raw::c_uint,
609 pub device: raw::c_uint,
610 pub pciDeviceId: raw::c_uint,
611 pub pciSubSystemId: raw::c_uint,
612 pub busId: [raw::c_char; 32usize],
613}
614pub type nvmlPciInfo_t = nvmlPciInfo_st;
615#[repr(C)]
616#[derive(Debug, Copy, Clone)]
617pub struct nvmlEccErrorCounts_st {
618 pub l1Cache: raw::c_ulonglong,
619 pub l2Cache: raw::c_ulonglong,
620 pub deviceMemory: raw::c_ulonglong,
621 pub registerFile: raw::c_ulonglong,
622}
623pub type nvmlEccErrorCounts_t = nvmlEccErrorCounts_st;
624#[repr(C)]
625#[derive(Debug, Copy, Clone)]
626pub struct nvmlUtilization_st {
627 pub gpu: raw::c_uint,
628 pub memory: raw::c_uint,
629}
630pub type nvmlUtilization_t = nvmlUtilization_st;
631#[repr(C)]
632#[derive(Debug, Copy, Clone)]
633pub struct nvmlMemory_st {
634 pub total: raw::c_ulonglong,
635 pub free: raw::c_ulonglong,
636 pub used: raw::c_ulonglong,
637}
638pub type nvmlMemory_t = nvmlMemory_st;
639#[repr(C)]
640#[derive(Debug, Copy, Clone)]
641pub struct nvmlMemory_v2_st {
642 pub version: raw::c_uint,
643 pub total: raw::c_ulonglong,
644 pub reserved: raw::c_ulonglong,
645 pub free: raw::c_ulonglong,
646 pub used: raw::c_ulonglong,
647}
648pub type nvmlMemory_v2_t = nvmlMemory_v2_st;
649#[repr(C)]
650#[derive(Debug, Copy, Clone)]
651pub struct nvmlBAR1Memory_st {
652 pub bar1Total: raw::c_ulonglong,
653 pub bar1Free: raw::c_ulonglong,
654 pub bar1Used: raw::c_ulonglong,
655}
656pub type nvmlBAR1Memory_t = nvmlBAR1Memory_st;
657#[repr(C)]
658#[derive(Debug, Copy, Clone)]
659pub struct nvmlProcessInfo_v1_st {
660 pub pid: raw::c_uint,
661 pub usedGpuMemory: raw::c_ulonglong,
662}
663pub type nvmlProcessInfo_v1_t = nvmlProcessInfo_v1_st;
664#[repr(C)]
665#[derive(Debug, Copy, Clone)]
666pub struct nvmlProcessInfo_v2_st {
667 pub pid: raw::c_uint,
668 pub usedGpuMemory: raw::c_ulonglong,
669 pub gpuInstanceId: raw::c_uint,
670 pub computeInstanceId: raw::c_uint,
671}
672pub type nvmlProcessInfo_v2_t = nvmlProcessInfo_v2_st;
673pub type nvmlProcessInfo_t = nvmlProcessInfo_v2_st;
674#[repr(C)]
675#[derive(Debug, Copy, Clone)]
676pub struct nvmlProcessDetail_v1_t {
677 pub pid: raw::c_uint,
678 pub usedGpuMemory: raw::c_ulonglong,
679 pub gpuInstanceId: raw::c_uint,
680 pub computeInstanceId: raw::c_uint,
681 pub usedGpuCcProtectedMemory: raw::c_ulonglong,
682}
683#[repr(C)]
684#[derive(Debug, Copy, Clone)]
685pub struct nvmlProcessDetailList_v1_t {
686 pub version: raw::c_uint,
687 pub mode: raw::c_uint,
688 pub numProcArrayEntries: raw::c_uint,
689 pub procArray: *mut nvmlProcessDetail_v1_t,
690}
691pub type nvmlProcessDetailList_t = nvmlProcessDetailList_v1_t;
692#[repr(C)]
693#[derive(Debug, Copy, Clone)]
694pub struct nvmlDeviceAttributes_st {
695 pub multiprocessorCount: raw::c_uint,
696 pub sharedCopyEngineCount: raw::c_uint,
697 pub sharedDecoderCount: raw::c_uint,
698 pub sharedEncoderCount: raw::c_uint,
699 pub sharedJpegCount: raw::c_uint,
700 pub sharedOfaCount: raw::c_uint,
701 pub gpuInstanceSliceCount: raw::c_uint,
702 pub computeInstanceSliceCount: raw::c_uint,
703 pub memorySizeMB: raw::c_ulonglong,
704}
705pub type nvmlDeviceAttributes_t = nvmlDeviceAttributes_st;
706#[repr(C)]
707#[derive(Debug, Copy, Clone)]
708pub struct nvmlC2cModeInfo_v1_t {
709 pub isC2cEnabled: raw::c_uint,
710}
711pub const nvmlDeviceAddressingModeType_t_NVML_DEVICE_ADDRESSING_MODE_NONE:
712 nvmlDeviceAddressingModeType_t = 0;
713pub const nvmlDeviceAddressingModeType_t_NVML_DEVICE_ADDRESSING_MODE_HMM:
714 nvmlDeviceAddressingModeType_t = 1;
715pub const nvmlDeviceAddressingModeType_t_NVML_DEVICE_ADDRESSING_MODE_ATS:
716 nvmlDeviceAddressingModeType_t = 2;
717pub type nvmlDeviceAddressingModeType_t = raw::c_uint;
718#[repr(C)]
719#[derive(Debug, Copy, Clone)]
720pub struct nvmlDeviceAddressingMode_v1_t {
721 pub version: raw::c_uint,
722 pub value: raw::c_uint,
723}
724pub type nvmlDeviceAddressingMode_t = nvmlDeviceAddressingMode_v1_t;
725#[repr(C)]
726#[derive(Debug, Copy, Clone)]
727pub struct nvmlRepairStatus_v1_t {
728 pub version: raw::c_uint,
729 pub bChannelRepairPending: raw::c_uint,
730 pub bTpcRepairPending: raw::c_uint,
731}
732pub type nvmlRepairStatus_t = nvmlRepairStatus_v1_t;
733#[repr(C)]
734#[derive(Debug, Copy, Clone)]
735pub struct nvmlRowRemapperHistogramValues_st {
736 pub max: raw::c_uint,
737 pub high: raw::c_uint,
738 pub partial: raw::c_uint,
739 pub low: raw::c_uint,
740 pub none: raw::c_uint,
741}
742pub type nvmlRowRemapperHistogramValues_t = nvmlRowRemapperHistogramValues_st;
743pub const nvmlBridgeChipType_enum_NVML_BRIDGE_CHIP_PLX: nvmlBridgeChipType_enum = 0;
744pub const nvmlBridgeChipType_enum_NVML_BRIDGE_CHIP_BRO4: nvmlBridgeChipType_enum = 1;
745pub type nvmlBridgeChipType_enum = raw::c_uint;
746pub use self::nvmlBridgeChipType_enum as nvmlBridgeChipType_t;
747pub const nvmlNvLinkUtilizationCountUnits_enum_NVML_NVLINK_COUNTER_UNIT_CYCLES:
748 nvmlNvLinkUtilizationCountUnits_enum = 0;
749pub const nvmlNvLinkUtilizationCountUnits_enum_NVML_NVLINK_COUNTER_UNIT_PACKETS:
750 nvmlNvLinkUtilizationCountUnits_enum = 1;
751pub const nvmlNvLinkUtilizationCountUnits_enum_NVML_NVLINK_COUNTER_UNIT_BYTES:
752 nvmlNvLinkUtilizationCountUnits_enum = 2;
753pub const nvmlNvLinkUtilizationCountUnits_enum_NVML_NVLINK_COUNTER_UNIT_RESERVED:
754 nvmlNvLinkUtilizationCountUnits_enum = 3;
755pub const nvmlNvLinkUtilizationCountUnits_enum_NVML_NVLINK_COUNTER_UNIT_COUNT:
756 nvmlNvLinkUtilizationCountUnits_enum = 4;
757pub type nvmlNvLinkUtilizationCountUnits_enum = raw::c_uint;
758pub use self::nvmlNvLinkUtilizationCountUnits_enum as nvmlNvLinkUtilizationCountUnits_t;
759pub const nvmlNvLinkUtilizationCountPktTypes_enum_NVML_NVLINK_COUNTER_PKTFILTER_NOP:
760 nvmlNvLinkUtilizationCountPktTypes_enum = 1;
761pub const nvmlNvLinkUtilizationCountPktTypes_enum_NVML_NVLINK_COUNTER_PKTFILTER_READ:
762 nvmlNvLinkUtilizationCountPktTypes_enum = 2;
763pub const nvmlNvLinkUtilizationCountPktTypes_enum_NVML_NVLINK_COUNTER_PKTFILTER_WRITE:
764 nvmlNvLinkUtilizationCountPktTypes_enum = 4;
765pub const nvmlNvLinkUtilizationCountPktTypes_enum_NVML_NVLINK_COUNTER_PKTFILTER_RATOM:
766 nvmlNvLinkUtilizationCountPktTypes_enum = 8;
767pub const nvmlNvLinkUtilizationCountPktTypes_enum_NVML_NVLINK_COUNTER_PKTFILTER_NRATOM:
768 nvmlNvLinkUtilizationCountPktTypes_enum = 16;
769pub const nvmlNvLinkUtilizationCountPktTypes_enum_NVML_NVLINK_COUNTER_PKTFILTER_FLUSH:
770 nvmlNvLinkUtilizationCountPktTypes_enum = 32;
771pub const nvmlNvLinkUtilizationCountPktTypes_enum_NVML_NVLINK_COUNTER_PKTFILTER_RESPDATA:
772 nvmlNvLinkUtilizationCountPktTypes_enum = 64;
773pub const nvmlNvLinkUtilizationCountPktTypes_enum_NVML_NVLINK_COUNTER_PKTFILTER_RESPNODATA:
774 nvmlNvLinkUtilizationCountPktTypes_enum = 128;
775pub const nvmlNvLinkUtilizationCountPktTypes_enum_NVML_NVLINK_COUNTER_PKTFILTER_ALL:
776 nvmlNvLinkUtilizationCountPktTypes_enum = 255;
777pub type nvmlNvLinkUtilizationCountPktTypes_enum = raw::c_uint;
778pub use self::nvmlNvLinkUtilizationCountPktTypes_enum as nvmlNvLinkUtilizationCountPktTypes_t;
779#[repr(C)]
780#[derive(Debug, Copy, Clone)]
781pub struct nvmlNvLinkUtilizationControl_st {
782 pub units: nvmlNvLinkUtilizationCountUnits_t,
783 pub pktfilter: nvmlNvLinkUtilizationCountPktTypes_t,
784}
785pub type nvmlNvLinkUtilizationControl_t = nvmlNvLinkUtilizationControl_st;
786pub const nvmlNvLinkCapability_enum_NVML_NVLINK_CAP_P2P_SUPPORTED: nvmlNvLinkCapability_enum = 0;
787pub const nvmlNvLinkCapability_enum_NVML_NVLINK_CAP_SYSMEM_ACCESS: nvmlNvLinkCapability_enum = 1;
788pub const nvmlNvLinkCapability_enum_NVML_NVLINK_CAP_P2P_ATOMICS: nvmlNvLinkCapability_enum = 2;
789pub const nvmlNvLinkCapability_enum_NVML_NVLINK_CAP_SYSMEM_ATOMICS: nvmlNvLinkCapability_enum = 3;
790pub const nvmlNvLinkCapability_enum_NVML_NVLINK_CAP_SLI_BRIDGE: nvmlNvLinkCapability_enum = 4;
791pub const nvmlNvLinkCapability_enum_NVML_NVLINK_CAP_VALID: nvmlNvLinkCapability_enum = 5;
792pub const nvmlNvLinkCapability_enum_NVML_NVLINK_CAP_COUNT: nvmlNvLinkCapability_enum = 6;
793pub type nvmlNvLinkCapability_enum = raw::c_uint;
794pub use self::nvmlNvLinkCapability_enum as nvmlNvLinkCapability_t;
795pub const nvmlNvLinkErrorCounter_enum_NVML_NVLINK_ERROR_DL_REPLAY: nvmlNvLinkErrorCounter_enum = 0;
796pub const nvmlNvLinkErrorCounter_enum_NVML_NVLINK_ERROR_DL_RECOVERY: nvmlNvLinkErrorCounter_enum =
797 1;
798pub const nvmlNvLinkErrorCounter_enum_NVML_NVLINK_ERROR_DL_CRC_FLIT: nvmlNvLinkErrorCounter_enum =
799 2;
800pub const nvmlNvLinkErrorCounter_enum_NVML_NVLINK_ERROR_DL_CRC_DATA: nvmlNvLinkErrorCounter_enum =
801 3;
802pub const nvmlNvLinkErrorCounter_enum_NVML_NVLINK_ERROR_DL_ECC_DATA: nvmlNvLinkErrorCounter_enum =
803 4;
804pub const nvmlNvLinkErrorCounter_enum_NVML_NVLINK_ERROR_COUNT: nvmlNvLinkErrorCounter_enum = 5;
805pub type nvmlNvLinkErrorCounter_enum = raw::c_uint;
806pub use self::nvmlNvLinkErrorCounter_enum as nvmlNvLinkErrorCounter_t;
807pub const nvmlIntNvLinkDeviceType_enum_NVML_NVLINK_DEVICE_TYPE_GPU: nvmlIntNvLinkDeviceType_enum =
808 0;
809pub const nvmlIntNvLinkDeviceType_enum_NVML_NVLINK_DEVICE_TYPE_IBMNPU:
810 nvmlIntNvLinkDeviceType_enum = 1;
811pub const nvmlIntNvLinkDeviceType_enum_NVML_NVLINK_DEVICE_TYPE_SWITCH:
812 nvmlIntNvLinkDeviceType_enum = 2;
813pub const nvmlIntNvLinkDeviceType_enum_NVML_NVLINK_DEVICE_TYPE_UNKNOWN:
814 nvmlIntNvLinkDeviceType_enum = 255;
815pub type nvmlIntNvLinkDeviceType_enum = raw::c_uint;
816pub use self::nvmlIntNvLinkDeviceType_enum as nvmlIntNvLinkDeviceType_t;
817pub const nvmlGpuLevel_enum_NVML_TOPOLOGY_INTERNAL: nvmlGpuLevel_enum = 0;
818pub const nvmlGpuLevel_enum_NVML_TOPOLOGY_SINGLE: nvmlGpuLevel_enum = 10;
819pub const nvmlGpuLevel_enum_NVML_TOPOLOGY_MULTIPLE: nvmlGpuLevel_enum = 20;
820pub const nvmlGpuLevel_enum_NVML_TOPOLOGY_HOSTBRIDGE: nvmlGpuLevel_enum = 30;
821pub const nvmlGpuLevel_enum_NVML_TOPOLOGY_NODE: nvmlGpuLevel_enum = 40;
822pub const nvmlGpuLevel_enum_NVML_TOPOLOGY_SYSTEM: nvmlGpuLevel_enum = 50;
823pub type nvmlGpuLevel_enum = raw::c_uint;
824pub use self::nvmlGpuLevel_enum as nvmlGpuTopologyLevel_t;
825pub const nvmlGpuP2PStatus_enum_NVML_P2P_STATUS_OK: nvmlGpuP2PStatus_enum = 0;
826pub const nvmlGpuP2PStatus_enum_NVML_P2P_STATUS_CHIPSET_NOT_SUPPORED: nvmlGpuP2PStatus_enum = 1;
827pub const nvmlGpuP2PStatus_enum_NVML_P2P_STATUS_CHIPSET_NOT_SUPPORTED: nvmlGpuP2PStatus_enum = 1;
828pub const nvmlGpuP2PStatus_enum_NVML_P2P_STATUS_GPU_NOT_SUPPORTED: nvmlGpuP2PStatus_enum = 2;
829pub const nvmlGpuP2PStatus_enum_NVML_P2P_STATUS_IOH_TOPOLOGY_NOT_SUPPORTED: nvmlGpuP2PStatus_enum =
830 3;
831pub const nvmlGpuP2PStatus_enum_NVML_P2P_STATUS_DISABLED_BY_REGKEY: nvmlGpuP2PStatus_enum = 4;
832pub const nvmlGpuP2PStatus_enum_NVML_P2P_STATUS_NOT_SUPPORTED: nvmlGpuP2PStatus_enum = 5;
833pub const nvmlGpuP2PStatus_enum_NVML_P2P_STATUS_UNKNOWN: nvmlGpuP2PStatus_enum = 6;
834pub type nvmlGpuP2PStatus_enum = raw::c_uint;
835pub use self::nvmlGpuP2PStatus_enum as nvmlGpuP2PStatus_t;
836pub const nvmlGpuP2PCapsIndex_enum_NVML_P2P_CAPS_INDEX_READ: nvmlGpuP2PCapsIndex_enum = 0;
837pub const nvmlGpuP2PCapsIndex_enum_NVML_P2P_CAPS_INDEX_WRITE: nvmlGpuP2PCapsIndex_enum = 1;
838pub const nvmlGpuP2PCapsIndex_enum_NVML_P2P_CAPS_INDEX_NVLINK: nvmlGpuP2PCapsIndex_enum = 2;
839pub const nvmlGpuP2PCapsIndex_enum_NVML_P2P_CAPS_INDEX_ATOMICS: nvmlGpuP2PCapsIndex_enum = 3;
840pub const nvmlGpuP2PCapsIndex_enum_NVML_P2P_CAPS_INDEX_PCI: nvmlGpuP2PCapsIndex_enum = 4;
841pub const nvmlGpuP2PCapsIndex_enum_NVML_P2P_CAPS_INDEX_PROP: nvmlGpuP2PCapsIndex_enum = 4;
842pub const nvmlGpuP2PCapsIndex_enum_NVML_P2P_CAPS_INDEX_UNKNOWN: nvmlGpuP2PCapsIndex_enum = 5;
843pub type nvmlGpuP2PCapsIndex_enum = raw::c_uint;
844pub use self::nvmlGpuP2PCapsIndex_enum as nvmlGpuP2PCapsIndex_t;
845#[repr(C)]
846#[derive(Debug, Copy, Clone)]
847pub struct nvmlBridgeChipInfo_st {
848 pub type_: nvmlBridgeChipType_t,
849 pub fwVersion: raw::c_uint,
850}
851pub type nvmlBridgeChipInfo_t = nvmlBridgeChipInfo_st;
852#[repr(C)]
853#[derive(Debug, Copy, Clone)]
854pub struct nvmlBridgeChipHierarchy_st {
855 pub bridgeCount: raw::c_uchar,
856 pub bridgeChipInfo: [nvmlBridgeChipInfo_t; 128usize],
857}
858pub type nvmlBridgeChipHierarchy_t = nvmlBridgeChipHierarchy_st;
859pub const nvmlSamplingType_enum_NVML_TOTAL_POWER_SAMPLES: nvmlSamplingType_enum = 0;
860pub const nvmlSamplingType_enum_NVML_GPU_UTILIZATION_SAMPLES: nvmlSamplingType_enum = 1;
861pub const nvmlSamplingType_enum_NVML_MEMORY_UTILIZATION_SAMPLES: nvmlSamplingType_enum = 2;
862pub const nvmlSamplingType_enum_NVML_ENC_UTILIZATION_SAMPLES: nvmlSamplingType_enum = 3;
863pub const nvmlSamplingType_enum_NVML_DEC_UTILIZATION_SAMPLES: nvmlSamplingType_enum = 4;
864pub const nvmlSamplingType_enum_NVML_PROCESSOR_CLK_SAMPLES: nvmlSamplingType_enum = 5;
865pub const nvmlSamplingType_enum_NVML_MEMORY_CLK_SAMPLES: nvmlSamplingType_enum = 6;
866pub const nvmlSamplingType_enum_NVML_MODULE_POWER_SAMPLES: nvmlSamplingType_enum = 7;
867pub const nvmlSamplingType_enum_NVML_JPG_UTILIZATION_SAMPLES: nvmlSamplingType_enum = 8;
868pub const nvmlSamplingType_enum_NVML_OFA_UTILIZATION_SAMPLES: nvmlSamplingType_enum = 9;
869pub const nvmlSamplingType_enum_NVML_SAMPLINGTYPE_COUNT: nvmlSamplingType_enum = 10;
870pub type nvmlSamplingType_enum = raw::c_uint;
871pub use self::nvmlSamplingType_enum as nvmlSamplingType_t;
872pub const nvmlPcieUtilCounter_enum_NVML_PCIE_UTIL_TX_BYTES: nvmlPcieUtilCounter_enum = 0;
873pub const nvmlPcieUtilCounter_enum_NVML_PCIE_UTIL_RX_BYTES: nvmlPcieUtilCounter_enum = 1;
874pub const nvmlPcieUtilCounter_enum_NVML_PCIE_UTIL_COUNT: nvmlPcieUtilCounter_enum = 2;
875pub type nvmlPcieUtilCounter_enum = raw::c_uint;
876pub use self::nvmlPcieUtilCounter_enum as nvmlPcieUtilCounter_t;
877pub const nvmlValueType_enum_NVML_VALUE_TYPE_DOUBLE: nvmlValueType_enum = 0;
878pub const nvmlValueType_enum_NVML_VALUE_TYPE_UNSIGNED_INT: nvmlValueType_enum = 1;
879pub const nvmlValueType_enum_NVML_VALUE_TYPE_UNSIGNED_LONG: nvmlValueType_enum = 2;
880pub const nvmlValueType_enum_NVML_VALUE_TYPE_UNSIGNED_LONG_LONG: nvmlValueType_enum = 3;
881pub const nvmlValueType_enum_NVML_VALUE_TYPE_SIGNED_LONG_LONG: nvmlValueType_enum = 4;
882pub const nvmlValueType_enum_NVML_VALUE_TYPE_SIGNED_INT: nvmlValueType_enum = 5;
883pub const nvmlValueType_enum_NVML_VALUE_TYPE_UNSIGNED_SHORT: nvmlValueType_enum = 6;
884pub const nvmlValueType_enum_NVML_VALUE_TYPE_COUNT: nvmlValueType_enum = 7;
885pub type nvmlValueType_enum = raw::c_uint;
886pub use self::nvmlValueType_enum as nvmlValueType_t;
887#[repr(C)]
888#[derive(Copy, Clone)]
889pub union nvmlValue_st {
890 pub dVal: f64,
891 pub siVal: raw::c_int,
892 pub uiVal: raw::c_uint,
893 pub ulVal: raw::c_ulong,
894 pub ullVal: raw::c_ulonglong,
895 pub sllVal: raw::c_longlong,
896 pub usVal: raw::c_ushort,
897}
898pub type nvmlValue_t = nvmlValue_st;
899#[repr(C)]
900#[derive(Copy, Clone)]
901pub struct nvmlSample_st {
902 pub timeStamp: raw::c_ulonglong,
903 pub sampleValue: nvmlValue_t,
904}
905pub type nvmlSample_t = nvmlSample_st;
906pub const nvmlPerfPolicyType_enum_NVML_PERF_POLICY_POWER: nvmlPerfPolicyType_enum = 0;
907pub const nvmlPerfPolicyType_enum_NVML_PERF_POLICY_THERMAL: nvmlPerfPolicyType_enum = 1;
908pub const nvmlPerfPolicyType_enum_NVML_PERF_POLICY_SYNC_BOOST: nvmlPerfPolicyType_enum = 2;
909pub const nvmlPerfPolicyType_enum_NVML_PERF_POLICY_BOARD_LIMIT: nvmlPerfPolicyType_enum = 3;
910pub const nvmlPerfPolicyType_enum_NVML_PERF_POLICY_LOW_UTILIZATION: nvmlPerfPolicyType_enum = 4;
911pub const nvmlPerfPolicyType_enum_NVML_PERF_POLICY_RELIABILITY: nvmlPerfPolicyType_enum = 5;
912pub const nvmlPerfPolicyType_enum_NVML_PERF_POLICY_TOTAL_APP_CLOCKS: nvmlPerfPolicyType_enum = 10;
913pub const nvmlPerfPolicyType_enum_NVML_PERF_POLICY_TOTAL_BASE_CLOCKS: nvmlPerfPolicyType_enum = 11;
914pub const nvmlPerfPolicyType_enum_NVML_PERF_POLICY_COUNT: nvmlPerfPolicyType_enum = 12;
915pub type nvmlPerfPolicyType_enum = raw::c_uint;
916pub use self::nvmlPerfPolicyType_enum as nvmlPerfPolicyType_t;
917#[repr(C)]
918#[derive(Debug, Copy, Clone)]
919pub struct nvmlViolationTime_st {
920 pub referenceTime: raw::c_ulonglong,
921 pub violationTime: raw::c_ulonglong,
922}
923pub type nvmlViolationTime_t = nvmlViolationTime_st;
924pub const nvmlThermalTarget_t_NVML_THERMAL_TARGET_NONE: nvmlThermalTarget_t = 0;
925pub const nvmlThermalTarget_t_NVML_THERMAL_TARGET_GPU: nvmlThermalTarget_t = 1;
926pub const nvmlThermalTarget_t_NVML_THERMAL_TARGET_MEMORY: nvmlThermalTarget_t = 2;
927pub const nvmlThermalTarget_t_NVML_THERMAL_TARGET_POWER_SUPPLY: nvmlThermalTarget_t = 4;
928pub const nvmlThermalTarget_t_NVML_THERMAL_TARGET_BOARD: nvmlThermalTarget_t = 8;
929pub const nvmlThermalTarget_t_NVML_THERMAL_TARGET_VCD_BOARD: nvmlThermalTarget_t = 9;
930pub const nvmlThermalTarget_t_NVML_THERMAL_TARGET_VCD_INLET: nvmlThermalTarget_t = 10;
931pub const nvmlThermalTarget_t_NVML_THERMAL_TARGET_VCD_OUTLET: nvmlThermalTarget_t = 11;
932pub const nvmlThermalTarget_t_NVML_THERMAL_TARGET_ALL: nvmlThermalTarget_t = 15;
933pub const nvmlThermalTarget_t_NVML_THERMAL_TARGET_UNKNOWN: nvmlThermalTarget_t = -1;
934pub type nvmlThermalTarget_t = raw::c_int;
935pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_NONE: nvmlThermalController_t = 0;
936pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_GPU_INTERNAL: nvmlThermalController_t = 1;
937pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_ADM1032: nvmlThermalController_t = 2;
938pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_ADT7461: nvmlThermalController_t = 3;
939pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_MAX6649: nvmlThermalController_t = 4;
940pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_MAX1617: nvmlThermalController_t = 5;
941pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_LM99: nvmlThermalController_t = 6;
942pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_LM89: nvmlThermalController_t = 7;
943pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_LM64: nvmlThermalController_t = 8;
944pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_G781: nvmlThermalController_t = 9;
945pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_ADT7473: nvmlThermalController_t = 10;
946pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_SBMAX6649: nvmlThermalController_t = 11;
947pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_VBIOSEVT: nvmlThermalController_t = 12;
948pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_OS: nvmlThermalController_t = 13;
949pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_NVSYSCON_CANOAS: nvmlThermalController_t =
950 14;
951pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_NVSYSCON_E551: nvmlThermalController_t =
952 15;
953pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_MAX6649R: nvmlThermalController_t = 16;
954pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_ADT7473S: nvmlThermalController_t = 17;
955pub const nvmlThermalController_t_NVML_THERMAL_CONTROLLER_UNKNOWN: nvmlThermalController_t = -1;
956pub type nvmlThermalController_t = raw::c_int;
957#[repr(C)]
958#[derive(Debug, Copy, Clone)]
959pub struct nvmlGpuThermalSettings_t {
960 pub count: raw::c_uint,
961 pub sensor: [nvmlGpuThermalSettings_t__bindgen_ty_1; 3usize],
962}
963#[repr(C)]
964#[derive(Debug, Copy, Clone)]
965pub struct nvmlGpuThermalSettings_t__bindgen_ty_1 {
966 pub controller: nvmlThermalController_t,
967 pub defaultMinTemp: raw::c_int,
968 pub defaultMaxTemp: raw::c_int,
969 pub currentTemp: raw::c_int,
970 pub target: nvmlThermalTarget_t,
971}
972pub const nvmlCoolerControl_enum_NVML_THERMAL_COOLER_SIGNAL_NONE: nvmlCoolerControl_enum = 0;
973pub const nvmlCoolerControl_enum_NVML_THERMAL_COOLER_SIGNAL_TOGGLE: nvmlCoolerControl_enum = 1;
974pub const nvmlCoolerControl_enum_NVML_THERMAL_COOLER_SIGNAL_VARIABLE: nvmlCoolerControl_enum = 2;
975pub const nvmlCoolerControl_enum_NVML_THERMAL_COOLER_SIGNAL_COUNT: nvmlCoolerControl_enum = 3;
976pub type nvmlCoolerControl_enum = raw::c_uint;
977pub use self::nvmlCoolerControl_enum as nvmlCoolerControl_t;
978pub const nvmlCoolerTarget_enum_NVML_THERMAL_COOLER_TARGET_NONE: nvmlCoolerTarget_enum = 1;
979pub const nvmlCoolerTarget_enum_NVML_THERMAL_COOLER_TARGET_GPU: nvmlCoolerTarget_enum = 2;
980pub const nvmlCoolerTarget_enum_NVML_THERMAL_COOLER_TARGET_MEMORY: nvmlCoolerTarget_enum = 4;
981pub const nvmlCoolerTarget_enum_NVML_THERMAL_COOLER_TARGET_POWER_SUPPLY: nvmlCoolerTarget_enum = 8;
982pub const nvmlCoolerTarget_enum_NVML_THERMAL_COOLER_TARGET_GPU_RELATED: nvmlCoolerTarget_enum = 14;
983pub type nvmlCoolerTarget_enum = raw::c_uint;
984pub use self::nvmlCoolerTarget_enum as nvmlCoolerTarget_t;
985#[repr(C)]
986#[derive(Debug, Copy, Clone)]
987pub struct nvmlCoolerInfo_v1_t {
988 pub version: raw::c_uint,
989 pub index: raw::c_uint,
990 pub signalType: nvmlCoolerControl_t,
991 pub target: nvmlCoolerTarget_t,
992}
993pub type nvmlCoolerInfo_t = nvmlCoolerInfo_v1_t;
994pub const nvmlUUIDType_t_NVML_UUID_TYPE_NONE: nvmlUUIDType_t = 0;
995pub const nvmlUUIDType_t_NVML_UUID_TYPE_ASCII: nvmlUUIDType_t = 1;
996pub const nvmlUUIDType_t_NVML_UUID_TYPE_BINARY: nvmlUUIDType_t = 2;
997pub type nvmlUUIDType_t = raw::c_uint;
998#[repr(C)]
999#[derive(Copy, Clone)]
1000pub union nvmlUUIDValue_t {
1001 pub str_: [raw::c_char; 41usize],
1002 pub bytes: [raw::c_uchar; 16usize],
1003}
1004#[repr(C)]
1005#[derive(Copy, Clone)]
1006pub struct nvmlUUID_v1_t {
1007 pub version: raw::c_uint,
1008 pub type_: raw::c_uint,
1009 pub value: nvmlUUIDValue_t,
1010}
1011pub type nvmlUUID_t = nvmlUUID_v1_t;
1012#[repr(C)]
1013#[derive(Debug, Copy, Clone)]
1014pub struct nvmlPdi_v1_t {
1015 pub version: raw::c_uint,
1016 pub value: raw::c_ulonglong,
1017}
1018pub type nvmlPdi_t = nvmlPdi_v1_t;
1019pub const nvmlEnableState_enum_NVML_FEATURE_DISABLED: nvmlEnableState_enum = 0;
1020pub const nvmlEnableState_enum_NVML_FEATURE_ENABLED: nvmlEnableState_enum = 1;
1021pub type nvmlEnableState_enum = raw::c_uint;
1022pub use self::nvmlEnableState_enum as nvmlEnableState_t;
1023#[repr(C)]
1024#[derive(Debug, Copy, Clone)]
1025pub struct nvmlDramEncryptionInfo_v1_t {
1026 pub version: raw::c_uint,
1027 pub encryptionState: nvmlEnableState_t,
1028}
1029pub type nvmlDramEncryptionInfo_t = nvmlDramEncryptionInfo_v1_t;
1030pub const nvmlBrandType_enum_NVML_BRAND_UNKNOWN: nvmlBrandType_enum = 0;
1031pub const nvmlBrandType_enum_NVML_BRAND_QUADRO: nvmlBrandType_enum = 1;
1032pub const nvmlBrandType_enum_NVML_BRAND_TESLA: nvmlBrandType_enum = 2;
1033pub const nvmlBrandType_enum_NVML_BRAND_NVS: nvmlBrandType_enum = 3;
1034pub const nvmlBrandType_enum_NVML_BRAND_GRID: nvmlBrandType_enum = 4;
1035pub const nvmlBrandType_enum_NVML_BRAND_GEFORCE: nvmlBrandType_enum = 5;
1036pub const nvmlBrandType_enum_NVML_BRAND_TITAN: nvmlBrandType_enum = 6;
1037pub const nvmlBrandType_enum_NVML_BRAND_NVIDIA_VAPPS: nvmlBrandType_enum = 7;
1038pub const nvmlBrandType_enum_NVML_BRAND_NVIDIA_VPC: nvmlBrandType_enum = 8;
1039pub const nvmlBrandType_enum_NVML_BRAND_NVIDIA_VCS: nvmlBrandType_enum = 9;
1040pub const nvmlBrandType_enum_NVML_BRAND_NVIDIA_VWS: nvmlBrandType_enum = 10;
1041pub const nvmlBrandType_enum_NVML_BRAND_NVIDIA_CLOUD_GAMING: nvmlBrandType_enum = 11;
1042pub const nvmlBrandType_enum_NVML_BRAND_NVIDIA_VGAMING: nvmlBrandType_enum = 11;
1043pub const nvmlBrandType_enum_NVML_BRAND_QUADRO_RTX: nvmlBrandType_enum = 12;
1044pub const nvmlBrandType_enum_NVML_BRAND_NVIDIA_RTX: nvmlBrandType_enum = 13;
1045pub const nvmlBrandType_enum_NVML_BRAND_NVIDIA: nvmlBrandType_enum = 14;
1046pub const nvmlBrandType_enum_NVML_BRAND_GEFORCE_RTX: nvmlBrandType_enum = 15;
1047pub const nvmlBrandType_enum_NVML_BRAND_TITAN_RTX: nvmlBrandType_enum = 16;
1048pub const nvmlBrandType_enum_NVML_BRAND_COUNT: nvmlBrandType_enum = 18;
1049pub type nvmlBrandType_enum = raw::c_uint;
1050pub use self::nvmlBrandType_enum as nvmlBrandType_t;
1051pub const nvmlTemperatureThresholds_enum_NVML_TEMPERATURE_THRESHOLD_SHUTDOWN:
1052 nvmlTemperatureThresholds_enum = 0;
1053pub const nvmlTemperatureThresholds_enum_NVML_TEMPERATURE_THRESHOLD_SLOWDOWN:
1054 nvmlTemperatureThresholds_enum = 1;
1055pub const nvmlTemperatureThresholds_enum_NVML_TEMPERATURE_THRESHOLD_MEM_MAX:
1056 nvmlTemperatureThresholds_enum = 2;
1057pub const nvmlTemperatureThresholds_enum_NVML_TEMPERATURE_THRESHOLD_GPU_MAX:
1058 nvmlTemperatureThresholds_enum = 3;
1059pub const nvmlTemperatureThresholds_enum_NVML_TEMPERATURE_THRESHOLD_ACOUSTIC_MIN:
1060 nvmlTemperatureThresholds_enum = 4;
1061pub const nvmlTemperatureThresholds_enum_NVML_TEMPERATURE_THRESHOLD_ACOUSTIC_CURR:
1062 nvmlTemperatureThresholds_enum = 5;
1063pub const nvmlTemperatureThresholds_enum_NVML_TEMPERATURE_THRESHOLD_ACOUSTIC_MAX:
1064 nvmlTemperatureThresholds_enum = 6;
1065pub const nvmlTemperatureThresholds_enum_NVML_TEMPERATURE_THRESHOLD_GPS_CURR:
1066 nvmlTemperatureThresholds_enum = 7;
1067pub const nvmlTemperatureThresholds_enum_NVML_TEMPERATURE_THRESHOLD_COUNT:
1068 nvmlTemperatureThresholds_enum = 8;
1069pub type nvmlTemperatureThresholds_enum = raw::c_uint;
1070pub use self::nvmlTemperatureThresholds_enum as nvmlTemperatureThresholds_t;
1071pub const nvmlTemperatureSensors_enum_NVML_TEMPERATURE_GPU: nvmlTemperatureSensors_enum = 0;
1072pub const nvmlTemperatureSensors_enum_NVML_TEMPERATURE_COUNT: nvmlTemperatureSensors_enum = 1;
1073pub type nvmlTemperatureSensors_enum = raw::c_uint;
1074pub use self::nvmlTemperatureSensors_enum as nvmlTemperatureSensors_t;
1075#[repr(C)]
1076#[derive(Debug, Copy, Clone)]
1077pub struct nvmlMarginTemperature_v1_t {
1078 pub version: raw::c_uint,
1079 pub marginTemperature: raw::c_int,
1080}
1081pub type nvmlMarginTemperature_t = nvmlMarginTemperature_v1_t;
1082pub const nvmlComputeMode_enum_NVML_COMPUTEMODE_DEFAULT: nvmlComputeMode_enum = 0;
1083pub const nvmlComputeMode_enum_NVML_COMPUTEMODE_EXCLUSIVE_THREAD: nvmlComputeMode_enum = 1;
1084pub const nvmlComputeMode_enum_NVML_COMPUTEMODE_PROHIBITED: nvmlComputeMode_enum = 2;
1085pub const nvmlComputeMode_enum_NVML_COMPUTEMODE_EXCLUSIVE_PROCESS: nvmlComputeMode_enum = 3;
1086pub const nvmlComputeMode_enum_NVML_COMPUTEMODE_COUNT: nvmlComputeMode_enum = 4;
1087pub type nvmlComputeMode_enum = raw::c_uint;
1088pub use self::nvmlComputeMode_enum as nvmlComputeMode_t;
1089#[repr(C)]
1090#[derive(Debug, Copy, Clone)]
1091pub struct nvmlClkMonFaultInfo_struct {
1092 pub clkApiDomain: raw::c_uint,
1093 pub clkDomainFaultMask: raw::c_uint,
1094}
1095pub type nvmlClkMonFaultInfo_t = nvmlClkMonFaultInfo_struct;
1096#[repr(C)]
1097#[derive(Debug, Copy, Clone)]
1098pub struct nvmlClkMonStatus_status {
1099 pub bGlobalStatus: raw::c_uint,
1100 pub clkMonListSize: raw::c_uint,
1101 pub clkMonList: [nvmlClkMonFaultInfo_t; 32usize],
1102}
1103pub type nvmlClkMonStatus_t = nvmlClkMonStatus_status;
1104pub const nvmlMemoryErrorType_enum_NVML_MEMORY_ERROR_TYPE_CORRECTED: nvmlMemoryErrorType_enum = 0;
1105pub const nvmlMemoryErrorType_enum_NVML_MEMORY_ERROR_TYPE_UNCORRECTED: nvmlMemoryErrorType_enum = 1;
1106pub const nvmlMemoryErrorType_enum_NVML_MEMORY_ERROR_TYPE_COUNT: nvmlMemoryErrorType_enum = 2;
1107pub type nvmlMemoryErrorType_enum = raw::c_uint;
1108pub use self::nvmlMemoryErrorType_enum as nvmlMemoryErrorType_t;
1109pub const nvmlNvlinkVersion_enum_NVML_NVLINK_VERSION_INVALID: nvmlNvlinkVersion_enum = 0;
1110pub const nvmlNvlinkVersion_enum_NVML_NVLINK_VERSION_1_0: nvmlNvlinkVersion_enum = 1;
1111pub const nvmlNvlinkVersion_enum_NVML_NVLINK_VERSION_2_0: nvmlNvlinkVersion_enum = 2;
1112pub const nvmlNvlinkVersion_enum_NVML_NVLINK_VERSION_2_2: nvmlNvlinkVersion_enum = 3;
1113pub const nvmlNvlinkVersion_enum_NVML_NVLINK_VERSION_3_0: nvmlNvlinkVersion_enum = 4;
1114pub const nvmlNvlinkVersion_enum_NVML_NVLINK_VERSION_3_1: nvmlNvlinkVersion_enum = 5;
1115pub const nvmlNvlinkVersion_enum_NVML_NVLINK_VERSION_4_0: nvmlNvlinkVersion_enum = 6;
1116pub const nvmlNvlinkVersion_enum_NVML_NVLINK_VERSION_5_0: nvmlNvlinkVersion_enum = 7;
1117pub type nvmlNvlinkVersion_enum = raw::c_uint;
1118pub use self::nvmlNvlinkVersion_enum as nvmlNvlinkVersion_t;
1119pub const nvmlEccCounterType_enum_NVML_VOLATILE_ECC: nvmlEccCounterType_enum = 0;
1120pub const nvmlEccCounterType_enum_NVML_AGGREGATE_ECC: nvmlEccCounterType_enum = 1;
1121pub const nvmlEccCounterType_enum_NVML_ECC_COUNTER_TYPE_COUNT: nvmlEccCounterType_enum = 2;
1122pub type nvmlEccCounterType_enum = raw::c_uint;
1123pub use self::nvmlEccCounterType_enum as nvmlEccCounterType_t;
1124pub const nvmlClockType_enum_NVML_CLOCK_GRAPHICS: nvmlClockType_enum = 0;
1125pub const nvmlClockType_enum_NVML_CLOCK_SM: nvmlClockType_enum = 1;
1126pub const nvmlClockType_enum_NVML_CLOCK_MEM: nvmlClockType_enum = 2;
1127pub const nvmlClockType_enum_NVML_CLOCK_VIDEO: nvmlClockType_enum = 3;
1128pub const nvmlClockType_enum_NVML_CLOCK_COUNT: nvmlClockType_enum = 4;
1129pub type nvmlClockType_enum = raw::c_uint;
1130pub use self::nvmlClockType_enum as nvmlClockType_t;
1131pub const nvmlClockId_enum_NVML_CLOCK_ID_CURRENT: nvmlClockId_enum = 0;
1132pub const nvmlClockId_enum_NVML_CLOCK_ID_APP_CLOCK_TARGET: nvmlClockId_enum = 1;
1133pub const nvmlClockId_enum_NVML_CLOCK_ID_APP_CLOCK_DEFAULT: nvmlClockId_enum = 2;
1134pub const nvmlClockId_enum_NVML_CLOCK_ID_CUSTOMER_BOOST_MAX: nvmlClockId_enum = 3;
1135pub const nvmlClockId_enum_NVML_CLOCK_ID_COUNT: nvmlClockId_enum = 4;
1136pub type nvmlClockId_enum = raw::c_uint;
1137pub use self::nvmlClockId_enum as nvmlClockId_t;
1138pub const nvmlDriverModel_enum_NVML_DRIVER_WDDM: nvmlDriverModel_enum = 0;
1139pub const nvmlDriverModel_enum_NVML_DRIVER_WDM: nvmlDriverModel_enum = 1;
1140pub const nvmlDriverModel_enum_NVML_DRIVER_MCDM: nvmlDriverModel_enum = 2;
1141pub type nvmlDriverModel_enum = raw::c_uint;
1142pub use self::nvmlDriverModel_enum as nvmlDriverModel_t;
1143pub const nvmlPStates_enum_NVML_PSTATE_0: nvmlPStates_enum = 0;
1144pub const nvmlPStates_enum_NVML_PSTATE_1: nvmlPStates_enum = 1;
1145pub const nvmlPStates_enum_NVML_PSTATE_2: nvmlPStates_enum = 2;
1146pub const nvmlPStates_enum_NVML_PSTATE_3: nvmlPStates_enum = 3;
1147pub const nvmlPStates_enum_NVML_PSTATE_4: nvmlPStates_enum = 4;
1148pub const nvmlPStates_enum_NVML_PSTATE_5: nvmlPStates_enum = 5;
1149pub const nvmlPStates_enum_NVML_PSTATE_6: nvmlPStates_enum = 6;
1150pub const nvmlPStates_enum_NVML_PSTATE_7: nvmlPStates_enum = 7;
1151pub const nvmlPStates_enum_NVML_PSTATE_8: nvmlPStates_enum = 8;
1152pub const nvmlPStates_enum_NVML_PSTATE_9: nvmlPStates_enum = 9;
1153pub const nvmlPStates_enum_NVML_PSTATE_10: nvmlPStates_enum = 10;
1154pub const nvmlPStates_enum_NVML_PSTATE_11: nvmlPStates_enum = 11;
1155pub const nvmlPStates_enum_NVML_PSTATE_12: nvmlPStates_enum = 12;
1156pub const nvmlPStates_enum_NVML_PSTATE_13: nvmlPStates_enum = 13;
1157pub const nvmlPStates_enum_NVML_PSTATE_14: nvmlPStates_enum = 14;
1158pub const nvmlPStates_enum_NVML_PSTATE_15: nvmlPStates_enum = 15;
1159pub const nvmlPStates_enum_NVML_PSTATE_UNKNOWN: nvmlPStates_enum = 32;
1160pub type nvmlPStates_enum = raw::c_uint;
1161pub use self::nvmlPStates_enum as nvmlPstates_t;
1162#[repr(C)]
1163#[derive(Debug, Copy, Clone)]
1164pub struct nvmlClockOffset_v1_t {
1165 pub version: raw::c_uint,
1166 pub type_: nvmlClockType_t,
1167 pub pstate: nvmlPstates_t,
1168 pub clockOffsetMHz: raw::c_int,
1169 pub minClockOffsetMHz: raw::c_int,
1170 pub maxClockOffsetMHz: raw::c_int,
1171}
1172pub type nvmlClockOffset_t = nvmlClockOffset_v1_t;
1173#[repr(C)]
1174#[derive(Debug, Copy, Clone)]
1175pub struct nvmlFanSpeedInfo_v1_t {
1176 pub version: raw::c_uint,
1177 pub fan: raw::c_uint,
1178 pub speed: raw::c_uint,
1179}
1180pub type nvmlFanSpeedInfo_t = nvmlFanSpeedInfo_v1_t;
1181#[repr(C)]
1182#[derive(Debug, Copy, Clone)]
1183pub struct nvmlDevicePerfModes_v1_t {
1184 pub version: raw::c_uint,
1185 pub str_: [raw::c_char; 2048usize],
1186}
1187pub type nvmlDevicePerfModes_t = nvmlDevicePerfModes_v1_t;
1188#[repr(C)]
1189#[derive(Debug, Copy, Clone)]
1190pub struct nvmlDeviceCurrentClockFreqs_v1_t {
1191 pub version: raw::c_uint,
1192 pub str_: [raw::c_char; 2048usize],
1193}
1194pub type nvmlDeviceCurrentClockFreqs_t = nvmlDeviceCurrentClockFreqs_v1_t;
1195#[repr(C)]
1196#[derive(Debug, Copy, Clone)]
1197pub struct nvmlDevicePowerMizerModes_v1_t {
1198 pub currentMode: raw::c_uint,
1199 pub mode: raw::c_uint,
1200 pub supportedPowerMizerModes: raw::c_uint,
1201}
1202pub const nvmlGom_enum_NVML_GOM_ALL_ON: nvmlGom_enum = 0;
1203pub const nvmlGom_enum_NVML_GOM_COMPUTE: nvmlGom_enum = 1;
1204pub const nvmlGom_enum_NVML_GOM_LOW_DP: nvmlGom_enum = 2;
1205pub type nvmlGom_enum = raw::c_uint;
1206pub use self::nvmlGom_enum as nvmlGpuOperationMode_t;
1207pub const nvmlInforomObject_enum_NVML_INFOROM_OEM: nvmlInforomObject_enum = 0;
1208pub const nvmlInforomObject_enum_NVML_INFOROM_ECC: nvmlInforomObject_enum = 1;
1209pub const nvmlInforomObject_enum_NVML_INFOROM_POWER: nvmlInforomObject_enum = 2;
1210pub const nvmlInforomObject_enum_NVML_INFOROM_DEN: nvmlInforomObject_enum = 3;
1211pub const nvmlInforomObject_enum_NVML_INFOROM_COUNT: nvmlInforomObject_enum = 4;
1212pub type nvmlInforomObject_enum = raw::c_uint;
1213pub use self::nvmlInforomObject_enum as nvmlInforomObject_t;
1214pub const nvmlReturn_enum_NVML_SUCCESS: nvmlReturn_enum = 0;
1215pub const nvmlReturn_enum_NVML_ERROR_UNINITIALIZED: nvmlReturn_enum = 1;
1216pub const nvmlReturn_enum_NVML_ERROR_INVALID_ARGUMENT: nvmlReturn_enum = 2;
1217pub const nvmlReturn_enum_NVML_ERROR_NOT_SUPPORTED: nvmlReturn_enum = 3;
1218pub const nvmlReturn_enum_NVML_ERROR_NO_PERMISSION: nvmlReturn_enum = 4;
1219pub const nvmlReturn_enum_NVML_ERROR_ALREADY_INITIALIZED: nvmlReturn_enum = 5;
1220pub const nvmlReturn_enum_NVML_ERROR_NOT_FOUND: nvmlReturn_enum = 6;
1221pub const nvmlReturn_enum_NVML_ERROR_INSUFFICIENT_SIZE: nvmlReturn_enum = 7;
1222pub const nvmlReturn_enum_NVML_ERROR_INSUFFICIENT_POWER: nvmlReturn_enum = 8;
1223pub const nvmlReturn_enum_NVML_ERROR_DRIVER_NOT_LOADED: nvmlReturn_enum = 9;
1224pub const nvmlReturn_enum_NVML_ERROR_TIMEOUT: nvmlReturn_enum = 10;
1225pub const nvmlReturn_enum_NVML_ERROR_IRQ_ISSUE: nvmlReturn_enum = 11;
1226pub const nvmlReturn_enum_NVML_ERROR_LIBRARY_NOT_FOUND: nvmlReturn_enum = 12;
1227pub const nvmlReturn_enum_NVML_ERROR_FUNCTION_NOT_FOUND: nvmlReturn_enum = 13;
1228pub const nvmlReturn_enum_NVML_ERROR_CORRUPTED_INFOROM: nvmlReturn_enum = 14;
1229pub const nvmlReturn_enum_NVML_ERROR_GPU_IS_LOST: nvmlReturn_enum = 15;
1230pub const nvmlReturn_enum_NVML_ERROR_RESET_REQUIRED: nvmlReturn_enum = 16;
1231pub const nvmlReturn_enum_NVML_ERROR_OPERATING_SYSTEM: nvmlReturn_enum = 17;
1232pub const nvmlReturn_enum_NVML_ERROR_LIB_RM_VERSION_MISMATCH: nvmlReturn_enum = 18;
1233pub const nvmlReturn_enum_NVML_ERROR_IN_USE: nvmlReturn_enum = 19;
1234pub const nvmlReturn_enum_NVML_ERROR_MEMORY: nvmlReturn_enum = 20;
1235pub const nvmlReturn_enum_NVML_ERROR_NO_DATA: nvmlReturn_enum = 21;
1236pub const nvmlReturn_enum_NVML_ERROR_VGPU_ECC_NOT_SUPPORTED: nvmlReturn_enum = 22;
1237pub const nvmlReturn_enum_NVML_ERROR_INSUFFICIENT_RESOURCES: nvmlReturn_enum = 23;
1238pub const nvmlReturn_enum_NVML_ERROR_FREQ_NOT_SUPPORTED: nvmlReturn_enum = 24;
1239pub const nvmlReturn_enum_NVML_ERROR_ARGUMENT_VERSION_MISMATCH: nvmlReturn_enum = 25;
1240pub const nvmlReturn_enum_NVML_ERROR_DEPRECATED: nvmlReturn_enum = 26;
1241pub const nvmlReturn_enum_NVML_ERROR_NOT_READY: nvmlReturn_enum = 27;
1242pub const nvmlReturn_enum_NVML_ERROR_GPU_NOT_FOUND: nvmlReturn_enum = 28;
1243pub const nvmlReturn_enum_NVML_ERROR_INVALID_STATE: nvmlReturn_enum = 29;
1244pub const nvmlReturn_enum_NVML_ERROR_RESET_TYPE_NOT_SUPPORTED: nvmlReturn_enum = 30;
1245pub const nvmlReturn_enum_NVML_ERROR_UNKNOWN: nvmlReturn_enum = 999;
1246pub type nvmlReturn_enum = raw::c_uint;
1247pub use self::nvmlReturn_enum as nvmlReturn_t;
1248pub const nvmlMemoryLocation_enum_NVML_MEMORY_LOCATION_L1_CACHE: nvmlMemoryLocation_enum = 0;
1249pub const nvmlMemoryLocation_enum_NVML_MEMORY_LOCATION_L2_CACHE: nvmlMemoryLocation_enum = 1;
1250pub const nvmlMemoryLocation_enum_NVML_MEMORY_LOCATION_DRAM: nvmlMemoryLocation_enum = 2;
1251pub const nvmlMemoryLocation_enum_NVML_MEMORY_LOCATION_DEVICE_MEMORY: nvmlMemoryLocation_enum = 2;
1252pub const nvmlMemoryLocation_enum_NVML_MEMORY_LOCATION_REGISTER_FILE: nvmlMemoryLocation_enum = 3;
1253pub const nvmlMemoryLocation_enum_NVML_MEMORY_LOCATION_TEXTURE_MEMORY: nvmlMemoryLocation_enum = 4;
1254pub const nvmlMemoryLocation_enum_NVML_MEMORY_LOCATION_TEXTURE_SHM: nvmlMemoryLocation_enum = 5;
1255pub const nvmlMemoryLocation_enum_NVML_MEMORY_LOCATION_CBU: nvmlMemoryLocation_enum = 6;
1256pub const nvmlMemoryLocation_enum_NVML_MEMORY_LOCATION_SRAM: nvmlMemoryLocation_enum = 7;
1257pub const nvmlMemoryLocation_enum_NVML_MEMORY_LOCATION_COUNT: nvmlMemoryLocation_enum = 8;
1258pub type nvmlMemoryLocation_enum = raw::c_uint;
1259pub use self::nvmlMemoryLocation_enum as nvmlMemoryLocation_t;
1260pub const nvmlPageRetirementCause_enum_NVML_PAGE_RETIREMENT_CAUSE_MULTIPLE_SINGLE_BIT_ECC_ERRORS:
1261 nvmlPageRetirementCause_enum = 0;
1262pub const nvmlPageRetirementCause_enum_NVML_PAGE_RETIREMENT_CAUSE_DOUBLE_BIT_ECC_ERROR:
1263 nvmlPageRetirementCause_enum = 1;
1264pub const nvmlPageRetirementCause_enum_NVML_PAGE_RETIREMENT_CAUSE_COUNT:
1265 nvmlPageRetirementCause_enum = 2;
1266pub type nvmlPageRetirementCause_enum = raw::c_uint;
1267pub use self::nvmlPageRetirementCause_enum as nvmlPageRetirementCause_t;
1268pub const nvmlRestrictedAPI_enum_NVML_RESTRICTED_API_SET_APPLICATION_CLOCKS:
1269 nvmlRestrictedAPI_enum = 0;
1270pub const nvmlRestrictedAPI_enum_NVML_RESTRICTED_API_SET_AUTO_BOOSTED_CLOCKS:
1271 nvmlRestrictedAPI_enum = 1;
1272pub const nvmlRestrictedAPI_enum_NVML_RESTRICTED_API_COUNT: nvmlRestrictedAPI_enum = 2;
1273pub type nvmlRestrictedAPI_enum = raw::c_uint;
1274pub use self::nvmlRestrictedAPI_enum as nvmlRestrictedAPI_t;
1275#[repr(C)]
1276#[derive(Debug, Copy, Clone)]
1277pub struct nvmlProcessUtilizationSample_st {
1278 pub pid: raw::c_uint,
1279 pub timeStamp: raw::c_ulonglong,
1280 pub smUtil: raw::c_uint,
1281 pub memUtil: raw::c_uint,
1282 pub encUtil: raw::c_uint,
1283 pub decUtil: raw::c_uint,
1284}
1285pub type nvmlProcessUtilizationSample_t = nvmlProcessUtilizationSample_st;
1286#[repr(C)]
1287#[derive(Debug, Copy, Clone)]
1288pub struct nvmlProcessUtilizationInfo_v1_t {
1289 pub timeStamp: raw::c_ulonglong,
1290 pub pid: raw::c_uint,
1291 pub smUtil: raw::c_uint,
1292 pub memUtil: raw::c_uint,
1293 pub encUtil: raw::c_uint,
1294 pub decUtil: raw::c_uint,
1295 pub jpgUtil: raw::c_uint,
1296 pub ofaUtil: raw::c_uint,
1297}
1298#[repr(C)]
1299#[derive(Debug, Copy, Clone)]
1300pub struct nvmlProcessesUtilizationInfo_v1_t {
1301 pub version: raw::c_uint,
1302 pub processSamplesCount: raw::c_uint,
1303 pub lastSeenTimeStamp: raw::c_ulonglong,
1304 pub procUtilArray: *mut nvmlProcessUtilizationInfo_v1_t,
1305}
1306pub type nvmlProcessesUtilizationInfo_t = nvmlProcessesUtilizationInfo_v1_t;
1307#[repr(C)]
1308#[derive(Debug, Copy, Clone)]
1309pub struct nvmlEccSramErrorStatus_v1_t {
1310 pub version: raw::c_uint,
1311 pub aggregateUncParity: raw::c_ulonglong,
1312 pub aggregateUncSecDed: raw::c_ulonglong,
1313 pub aggregateCor: raw::c_ulonglong,
1314 pub volatileUncParity: raw::c_ulonglong,
1315 pub volatileUncSecDed: raw::c_ulonglong,
1316 pub volatileCor: raw::c_ulonglong,
1317 pub aggregateUncBucketL2: raw::c_ulonglong,
1318 pub aggregateUncBucketSm: raw::c_ulonglong,
1319 pub aggregateUncBucketPcie: raw::c_ulonglong,
1320 pub aggregateUncBucketMcu: raw::c_ulonglong,
1321 pub aggregateUncBucketOther: raw::c_ulonglong,
1322 pub bThresholdExceeded: raw::c_uint,
1323}
1324pub type nvmlEccSramErrorStatus_t = nvmlEccSramErrorStatus_v1_t;
1325#[repr(C)]
1326#[derive(Debug, Copy, Clone)]
1327pub struct nvmlPlatformInfo_v1_t {
1328 pub version: raw::c_uint,
1329 pub ibGuid: [raw::c_uchar; 16usize],
1330 pub rackGuid: [raw::c_uchar; 16usize],
1331 pub chassisPhysicalSlotNumber: raw::c_uchar,
1332 pub computeSlotIndex: raw::c_uchar,
1333 pub nodeIndex: raw::c_uchar,
1334 pub peerType: raw::c_uchar,
1335 pub moduleId: raw::c_uchar,
1336}
1337#[repr(C)]
1338#[derive(Debug, Copy, Clone)]
1339pub struct nvmlPlatformInfo_v2_t {
1340 pub version: raw::c_uint,
1341 pub ibGuid: [raw::c_uchar; 16usize],
1342 pub chassisSerialNumber: [raw::c_uchar; 16usize],
1343 pub slotNumber: raw::c_uchar,
1344 pub trayIndex: raw::c_uchar,
1345 pub hostId: raw::c_uchar,
1346 pub peerType: raw::c_uchar,
1347 pub moduleId: raw::c_uchar,
1348}
1349pub type nvmlPlatformInfo_t = nvmlPlatformInfo_v2_t;
1350#[repr(C)]
1351#[derive(Debug, Copy, Clone)]
1352pub struct nvmlEccSramUniqueUncorrectedErrorEntry_v1_t {
1353 pub unit: raw::c_uint,
1354 pub location: raw::c_uint,
1355 pub sublocation: raw::c_uint,
1356 pub extlocation: raw::c_uint,
1357 pub address: raw::c_uint,
1358 pub isParity: raw::c_uint,
1359 pub count: raw::c_uint,
1360}
1361#[repr(C)]
1362#[derive(Debug, Copy, Clone)]
1363pub struct nvmlEccSramUniqueUncorrectedErrorCounts_v1_t {
1364 pub version: raw::c_uint,
1365 pub entryCount: raw::c_uint,
1366 pub entries: *mut nvmlEccSramUniqueUncorrectedErrorEntry_v1_t,
1367}
1368pub type nvmlEccSramUniqueUncorrectedErrorCounts_t = nvmlEccSramUniqueUncorrectedErrorCounts_v1_t;
1369pub type nvmlDeviceArchitecture_t = raw::c_uint;
1370pub type nvmlBusType_t = raw::c_uint;
1371pub type nvmlFanControlPolicy_t = raw::c_uint;
1372pub type nvmlPowerSource_t = raw::c_uint;
1373pub const nvmlGpuUtilizationDomainId_t_NVML_GPU_UTILIZATION_DOMAIN_GPU:
1374 nvmlGpuUtilizationDomainId_t = 0;
1375pub const nvmlGpuUtilizationDomainId_t_NVML_GPU_UTILIZATION_DOMAIN_FB:
1376 nvmlGpuUtilizationDomainId_t = 1;
1377pub const nvmlGpuUtilizationDomainId_t_NVML_GPU_UTILIZATION_DOMAIN_VID:
1378 nvmlGpuUtilizationDomainId_t = 2;
1379pub const nvmlGpuUtilizationDomainId_t_NVML_GPU_UTILIZATION_DOMAIN_BUS:
1380 nvmlGpuUtilizationDomainId_t = 3;
1381pub type nvmlGpuUtilizationDomainId_t = raw::c_uint;
1382#[repr(C)]
1383#[derive(Debug, Copy, Clone)]
1384pub struct nvmlGpuDynamicPstatesInfo_st {
1385 pub flags: raw::c_uint,
1386 pub utilization: [nvmlGpuDynamicPstatesInfo_st__bindgen_ty_1; 8usize],
1387}
1388#[repr(C)]
1389#[derive(Debug, Copy, Clone)]
1390pub struct nvmlGpuDynamicPstatesInfo_st__bindgen_ty_1 {
1391 pub bIsPresent: raw::c_uint,
1392 pub percentage: raw::c_uint,
1393 pub incThreshold: raw::c_uint,
1394 pub decThreshold: raw::c_uint,
1395}
1396pub type nvmlGpuDynamicPstatesInfo_t = nvmlGpuDynamicPstatesInfo_st;
1397pub type nvmlPowerScopeType_t = raw::c_uchar;
1398#[repr(C)]
1399#[derive(Debug, Copy, Clone)]
1400pub struct nvmlPowerValue_v2_t {
1401 pub version: raw::c_uint,
1402 pub powerScope: nvmlPowerScopeType_t,
1403 pub powerValueMw: raw::c_uint,
1404}
1405pub const nvmlGpuVirtualizationMode_NVML_GPU_VIRTUALIZATION_MODE_NONE: nvmlGpuVirtualizationMode =
1406 0;
1407pub const nvmlGpuVirtualizationMode_NVML_GPU_VIRTUALIZATION_MODE_PASSTHROUGH:
1408 nvmlGpuVirtualizationMode = 1;
1409pub const nvmlGpuVirtualizationMode_NVML_GPU_VIRTUALIZATION_MODE_VGPU: nvmlGpuVirtualizationMode =
1410 2;
1411pub const nvmlGpuVirtualizationMode_NVML_GPU_VIRTUALIZATION_MODE_HOST_VGPU:
1412 nvmlGpuVirtualizationMode = 3;
1413pub const nvmlGpuVirtualizationMode_NVML_GPU_VIRTUALIZATION_MODE_HOST_VSGA:
1414 nvmlGpuVirtualizationMode = 4;
1415pub type nvmlGpuVirtualizationMode = raw::c_uint;
1416pub use self::nvmlGpuVirtualizationMode as nvmlGpuVirtualizationMode_t;
1417pub const nvmlHostVgpuMode_enum_NVML_HOST_VGPU_MODE_NON_SRIOV: nvmlHostVgpuMode_enum = 0;
1418pub const nvmlHostVgpuMode_enum_NVML_HOST_VGPU_MODE_SRIOV: nvmlHostVgpuMode_enum = 1;
1419pub type nvmlHostVgpuMode_enum = raw::c_uint;
1420pub use self::nvmlHostVgpuMode_enum as nvmlHostVgpuMode_t;
1421pub const nvmlVgpuVmIdType_NVML_VGPU_VM_ID_DOMAIN_ID: nvmlVgpuVmIdType = 0;
1422pub const nvmlVgpuVmIdType_NVML_VGPU_VM_ID_UUID: nvmlVgpuVmIdType = 1;
1423pub type nvmlVgpuVmIdType = raw::c_uint;
1424pub use self::nvmlVgpuVmIdType as nvmlVgpuVmIdType_t;
1425pub const nvmlVgpuGuestInfoState_enum_NVML_VGPU_INSTANCE_GUEST_INFO_STATE_UNINITIALIZED:
1426 nvmlVgpuGuestInfoState_enum = 0;
1427pub const nvmlVgpuGuestInfoState_enum_NVML_VGPU_INSTANCE_GUEST_INFO_STATE_INITIALIZED:
1428 nvmlVgpuGuestInfoState_enum = 1;
1429pub type nvmlVgpuGuestInfoState_enum = raw::c_uint;
1430pub use self::nvmlVgpuGuestInfoState_enum as nvmlVgpuGuestInfoState_t;
1431pub const nvmlGridLicenseFeatureCode_t_NVML_GRID_LICENSE_FEATURE_CODE_UNKNOWN:
1432 nvmlGridLicenseFeatureCode_t = 0;
1433pub const nvmlGridLicenseFeatureCode_t_NVML_GRID_LICENSE_FEATURE_CODE_VGPU:
1434 nvmlGridLicenseFeatureCode_t = 1;
1435pub const nvmlGridLicenseFeatureCode_t_NVML_GRID_LICENSE_FEATURE_CODE_NVIDIA_RTX:
1436 nvmlGridLicenseFeatureCode_t = 2;
1437pub const nvmlGridLicenseFeatureCode_t_NVML_GRID_LICENSE_FEATURE_CODE_VWORKSTATION:
1438 nvmlGridLicenseFeatureCode_t = 2;
1439pub const nvmlGridLicenseFeatureCode_t_NVML_GRID_LICENSE_FEATURE_CODE_GAMING:
1440 nvmlGridLicenseFeatureCode_t = 3;
1441pub const nvmlGridLicenseFeatureCode_t_NVML_GRID_LICENSE_FEATURE_CODE_COMPUTE:
1442 nvmlGridLicenseFeatureCode_t = 4;
1443pub type nvmlGridLicenseFeatureCode_t = raw::c_uint;
1444pub const nvmlVgpuCapability_enum_NVML_VGPU_CAP_NVLINK_P2P: nvmlVgpuCapability_enum = 0;
1445pub const nvmlVgpuCapability_enum_NVML_VGPU_CAP_GPUDIRECT: nvmlVgpuCapability_enum = 1;
1446pub const nvmlVgpuCapability_enum_NVML_VGPU_CAP_MULTI_VGPU_EXCLUSIVE: nvmlVgpuCapability_enum = 2;
1447pub const nvmlVgpuCapability_enum_NVML_VGPU_CAP_EXCLUSIVE_TYPE: nvmlVgpuCapability_enum = 3;
1448pub const nvmlVgpuCapability_enum_NVML_VGPU_CAP_EXCLUSIVE_SIZE: nvmlVgpuCapability_enum = 4;
1449pub const nvmlVgpuCapability_enum_NVML_VGPU_CAP_COUNT: nvmlVgpuCapability_enum = 5;
1450pub type nvmlVgpuCapability_enum = raw::c_uint;
1451pub use self::nvmlVgpuCapability_enum as nvmlVgpuCapability_t;
1452pub const nvmlVgpuDriverCapability_enum_NVML_VGPU_DRIVER_CAP_HETEROGENEOUS_MULTI_VGPU:
1453 nvmlVgpuDriverCapability_enum = 0;
1454pub const nvmlVgpuDriverCapability_enum_NVML_VGPU_DRIVER_CAP_WARM_UPDATE:
1455 nvmlVgpuDriverCapability_enum = 1;
1456pub const nvmlVgpuDriverCapability_enum_NVML_VGPU_DRIVER_CAP_COUNT: nvmlVgpuDriverCapability_enum =
1457 2;
1458pub type nvmlVgpuDriverCapability_enum = raw::c_uint;
1459pub use self::nvmlVgpuDriverCapability_enum as nvmlVgpuDriverCapability_t;
1460pub const nvmlDeviceVgpuCapability_enum_NVML_DEVICE_VGPU_CAP_FRACTIONAL_MULTI_VGPU:
1461 nvmlDeviceVgpuCapability_enum = 0;
1462pub const nvmlDeviceVgpuCapability_enum_NVML_DEVICE_VGPU_CAP_HETEROGENEOUS_TIMESLICE_PROFILES:
1463 nvmlDeviceVgpuCapability_enum = 1;
1464pub const nvmlDeviceVgpuCapability_enum_NVML_DEVICE_VGPU_CAP_HETEROGENEOUS_TIMESLICE_SIZES:
1465 nvmlDeviceVgpuCapability_enum = 2;
1466pub const nvmlDeviceVgpuCapability_enum_NVML_DEVICE_VGPU_CAP_READ_DEVICE_BUFFER_BW:
1467 nvmlDeviceVgpuCapability_enum = 3;
1468pub const nvmlDeviceVgpuCapability_enum_NVML_DEVICE_VGPU_CAP_WRITE_DEVICE_BUFFER_BW:
1469 nvmlDeviceVgpuCapability_enum = 4;
1470pub const nvmlDeviceVgpuCapability_enum_NVML_DEVICE_VGPU_CAP_DEVICE_STREAMING:
1471 nvmlDeviceVgpuCapability_enum = 5;
1472pub const nvmlDeviceVgpuCapability_enum_NVML_DEVICE_VGPU_CAP_MINI_QUARTER_GPU:
1473 nvmlDeviceVgpuCapability_enum = 6;
1474pub const nvmlDeviceVgpuCapability_enum_NVML_DEVICE_VGPU_CAP_COMPUTE_MEDIA_ENGINE_GPU:
1475 nvmlDeviceVgpuCapability_enum = 7;
1476pub const nvmlDeviceVgpuCapability_enum_NVML_DEVICE_VGPU_CAP_WARM_UPDATE:
1477 nvmlDeviceVgpuCapability_enum = 8;
1478pub const nvmlDeviceVgpuCapability_enum_NVML_DEVICE_VGPU_CAP_HOMOGENEOUS_PLACEMENTS:
1479 nvmlDeviceVgpuCapability_enum = 9;
1480pub const nvmlDeviceVgpuCapability_enum_NVML_DEVICE_VGPU_CAP_MIG_TIMESLICING_SUPPORTED:
1481 nvmlDeviceVgpuCapability_enum = 10;
1482pub const nvmlDeviceVgpuCapability_enum_NVML_DEVICE_VGPU_CAP_MIG_TIMESLICING_ENABLED:
1483 nvmlDeviceVgpuCapability_enum = 11;
1484pub const nvmlDeviceVgpuCapability_enum_NVML_DEVICE_VGPU_CAP_COUNT: nvmlDeviceVgpuCapability_enum =
1485 12;
1486pub type nvmlDeviceVgpuCapability_enum = raw::c_uint;
1487pub use self::nvmlDeviceVgpuCapability_enum as nvmlDeviceVgpuCapability_t;
1488pub type nvmlVgpuTypeId_t = raw::c_uint;
1489pub type nvmlVgpuInstance_t = raw::c_uint;
1490#[repr(C)]
1491#[derive(Debug, Copy, Clone)]
1492pub struct nvmlVgpuHeterogeneousMode_v1_t {
1493 pub version: raw::c_uint,
1494 pub mode: raw::c_uint,
1495}
1496pub type nvmlVgpuHeterogeneousMode_t = nvmlVgpuHeterogeneousMode_v1_t;
1497#[repr(C)]
1498#[derive(Debug, Copy, Clone)]
1499pub struct nvmlVgpuPlacementId_v1_t {
1500 pub version: raw::c_uint,
1501 pub placementId: raw::c_uint,
1502}
1503pub type nvmlVgpuPlacementId_t = nvmlVgpuPlacementId_v1_t;
1504#[repr(C)]
1505#[derive(Debug, Copy, Clone)]
1506pub struct nvmlVgpuPlacementList_v1_t {
1507 pub version: raw::c_uint,
1508 pub placementSize: raw::c_uint,
1509 pub count: raw::c_uint,
1510 pub placementIds: *mut raw::c_uint,
1511}
1512#[repr(C)]
1513#[derive(Debug, Copy, Clone)]
1514pub struct nvmlVgpuPlacementList_v2_t {
1515 pub version: raw::c_uint,
1516 pub placementSize: raw::c_uint,
1517 pub count: raw::c_uint,
1518 pub placementIds: *mut raw::c_uint,
1519 pub mode: raw::c_uint,
1520}
1521pub type nvmlVgpuPlacementList_t = nvmlVgpuPlacementList_v2_t;
1522#[repr(C)]
1523#[derive(Debug, Copy, Clone)]
1524pub struct nvmlVgpuTypeBar1Info_v1_t {
1525 pub version: raw::c_uint,
1526 pub bar1Size: raw::c_ulonglong,
1527}
1528pub type nvmlVgpuTypeBar1Info_t = nvmlVgpuTypeBar1Info_v1_t;
1529#[repr(C)]
1530#[derive(Copy, Clone)]
1531pub struct nvmlVgpuInstanceUtilizationSample_st {
1532 pub vgpuInstance: nvmlVgpuInstance_t,
1533 pub timeStamp: raw::c_ulonglong,
1534 pub smUtil: nvmlValue_t,
1535 pub memUtil: nvmlValue_t,
1536 pub encUtil: nvmlValue_t,
1537 pub decUtil: nvmlValue_t,
1538}
1539pub type nvmlVgpuInstanceUtilizationSample_t = nvmlVgpuInstanceUtilizationSample_st;
1540#[repr(C)]
1541#[derive(Copy, Clone)]
1542pub struct nvmlVgpuInstanceUtilizationInfo_v1_t {
1543 pub timeStamp: raw::c_ulonglong,
1544 pub vgpuInstance: nvmlVgpuInstance_t,
1545 pub smUtil: nvmlValue_t,
1546 pub memUtil: nvmlValue_t,
1547 pub encUtil: nvmlValue_t,
1548 pub decUtil: nvmlValue_t,
1549 pub jpgUtil: nvmlValue_t,
1550 pub ofaUtil: nvmlValue_t,
1551}
1552#[repr(C)]
1553#[derive(Debug, Copy, Clone)]
1554pub struct nvmlVgpuInstancesUtilizationInfo_v1_t {
1555 pub version: raw::c_uint,
1556 pub sampleValType: nvmlValueType_t,
1557 pub vgpuInstanceCount: raw::c_uint,
1558 pub lastSeenTimeStamp: raw::c_ulonglong,
1559 pub vgpuUtilArray: *mut nvmlVgpuInstanceUtilizationInfo_v1_t,
1560}
1561pub type nvmlVgpuInstancesUtilizationInfo_t = nvmlVgpuInstancesUtilizationInfo_v1_t;
1562#[repr(C)]
1563#[derive(Debug, Copy, Clone)]
1564pub struct nvmlVgpuProcessUtilizationSample_st {
1565 pub vgpuInstance: nvmlVgpuInstance_t,
1566 pub pid: raw::c_uint,
1567 pub processName: [raw::c_char; 64usize],
1568 pub timeStamp: raw::c_ulonglong,
1569 pub smUtil: raw::c_uint,
1570 pub memUtil: raw::c_uint,
1571 pub encUtil: raw::c_uint,
1572 pub decUtil: raw::c_uint,
1573}
1574pub type nvmlVgpuProcessUtilizationSample_t = nvmlVgpuProcessUtilizationSample_st;
1575#[repr(C)]
1576#[derive(Debug, Copy, Clone)]
1577pub struct nvmlVgpuProcessUtilizationInfo_v1_t {
1578 pub processName: [raw::c_char; 64usize],
1579 pub timeStamp: raw::c_ulonglong,
1580 pub vgpuInstance: nvmlVgpuInstance_t,
1581 pub pid: raw::c_uint,
1582 pub smUtil: raw::c_uint,
1583 pub memUtil: raw::c_uint,
1584 pub encUtil: raw::c_uint,
1585 pub decUtil: raw::c_uint,
1586 pub jpgUtil: raw::c_uint,
1587 pub ofaUtil: raw::c_uint,
1588}
1589#[repr(C)]
1590#[derive(Debug, Copy, Clone)]
1591pub struct nvmlVgpuProcessesUtilizationInfo_v1_t {
1592 pub version: raw::c_uint,
1593 pub vgpuProcessCount: raw::c_uint,
1594 pub lastSeenTimeStamp: raw::c_ulonglong,
1595 pub vgpuProcUtilArray: *mut nvmlVgpuProcessUtilizationInfo_v1_t,
1596}
1597pub type nvmlVgpuProcessesUtilizationInfo_t = nvmlVgpuProcessesUtilizationInfo_v1_t;
1598#[repr(C)]
1599#[derive(Debug, Copy, Clone)]
1600pub struct nvmlVgpuRuntimeState_v1_t {
1601 pub version: raw::c_uint,
1602 pub size: raw::c_ulonglong,
1603}
1604pub type nvmlVgpuRuntimeState_t = nvmlVgpuRuntimeState_v1_t;
1605#[repr(C)]
1606#[derive(Copy, Clone)]
1607pub union nvmlVgpuSchedulerParams_t {
1608 pub vgpuSchedDataWithARR: nvmlVgpuSchedulerParams_t__bindgen_ty_1,
1609 pub vgpuSchedData: nvmlVgpuSchedulerParams_t__bindgen_ty_2,
1610}
1611#[repr(C)]
1612#[derive(Debug, Copy, Clone)]
1613pub struct nvmlVgpuSchedulerParams_t__bindgen_ty_1 {
1614 pub avgFactor: raw::c_uint,
1615 pub timeslice: raw::c_uint,
1616}
1617#[repr(C)]
1618#[derive(Debug, Copy, Clone)]
1619pub struct nvmlVgpuSchedulerParams_t__bindgen_ty_2 {
1620 pub timeslice: raw::c_uint,
1621}
1622#[repr(C)]
1623#[derive(Debug, Copy, Clone)]
1624pub struct nvmlVgpuSchedulerLogEntries_st {
1625 pub timestamp: raw::c_ulonglong,
1626 pub timeRunTotal: raw::c_ulonglong,
1627 pub timeRun: raw::c_ulonglong,
1628 pub swRunlistId: raw::c_uint,
1629 pub targetTimeSlice: raw::c_ulonglong,
1630 pub cumulativePreemptionTime: raw::c_ulonglong,
1631}
1632pub type nvmlVgpuSchedulerLogEntry_t = nvmlVgpuSchedulerLogEntries_st;
1633#[repr(C)]
1634#[derive(Copy, Clone)]
1635pub struct nvmlVgpuSchedulerLog_st {
1636 pub engineId: raw::c_uint,
1637 pub schedulerPolicy: raw::c_uint,
1638 pub arrMode: raw::c_uint,
1639 pub schedulerParams: nvmlVgpuSchedulerParams_t,
1640 pub entriesCount: raw::c_uint,
1641 pub logEntries: [nvmlVgpuSchedulerLogEntry_t; 200usize],
1642}
1643pub type nvmlVgpuSchedulerLog_t = nvmlVgpuSchedulerLog_st;
1644#[repr(C)]
1645#[derive(Copy, Clone)]
1646pub struct nvmlVgpuSchedulerGetState_st {
1647 pub schedulerPolicy: raw::c_uint,
1648 pub arrMode: raw::c_uint,
1649 pub schedulerParams: nvmlVgpuSchedulerParams_t,
1650}
1651pub type nvmlVgpuSchedulerGetState_t = nvmlVgpuSchedulerGetState_st;
1652#[repr(C)]
1653#[derive(Copy, Clone)]
1654pub union nvmlVgpuSchedulerSetParams_t {
1655 pub vgpuSchedDataWithARR: nvmlVgpuSchedulerSetParams_t__bindgen_ty_1,
1656 pub vgpuSchedData: nvmlVgpuSchedulerSetParams_t__bindgen_ty_2,
1657}
1658#[repr(C)]
1659#[derive(Debug, Copy, Clone)]
1660pub struct nvmlVgpuSchedulerSetParams_t__bindgen_ty_1 {
1661 pub avgFactor: raw::c_uint,
1662 pub frequency: raw::c_uint,
1663}
1664#[repr(C)]
1665#[derive(Debug, Copy, Clone)]
1666pub struct nvmlVgpuSchedulerSetParams_t__bindgen_ty_2 {
1667 pub timeslice: raw::c_uint,
1668}
1669#[repr(C)]
1670#[derive(Copy, Clone)]
1671pub struct nvmlVgpuSchedulerSetState_st {
1672 pub schedulerPolicy: raw::c_uint,
1673 pub enableARRMode: raw::c_uint,
1674 pub schedulerParams: nvmlVgpuSchedulerSetParams_t,
1675}
1676pub type nvmlVgpuSchedulerSetState_t = nvmlVgpuSchedulerSetState_st;
1677#[repr(C)]
1678#[derive(Debug, Copy, Clone)]
1679pub struct nvmlVgpuSchedulerCapabilities_st {
1680 pub supportedSchedulers: [raw::c_uint; 3usize],
1681 pub maxTimeslice: raw::c_uint,
1682 pub minTimeslice: raw::c_uint,
1683 pub isArrModeSupported: raw::c_uint,
1684 pub maxFrequencyForARR: raw::c_uint,
1685 pub minFrequencyForARR: raw::c_uint,
1686 pub maxAvgFactorForARR: raw::c_uint,
1687 pub minAvgFactorForARR: raw::c_uint,
1688}
1689pub type nvmlVgpuSchedulerCapabilities_t = nvmlVgpuSchedulerCapabilities_st;
1690#[repr(C)]
1691#[derive(Debug, Copy, Clone)]
1692pub struct nvmlVgpuLicenseExpiry_st {
1693 pub year: raw::c_uint,
1694 pub month: raw::c_ushort,
1695 pub day: raw::c_ushort,
1696 pub hour: raw::c_ushort,
1697 pub min: raw::c_ushort,
1698 pub sec: raw::c_ushort,
1699 pub status: raw::c_uchar,
1700}
1701pub type nvmlVgpuLicenseExpiry_t = nvmlVgpuLicenseExpiry_st;
1702#[repr(C)]
1703#[derive(Debug, Copy, Clone)]
1704pub struct nvmlVgpuLicenseInfo_st {
1705 pub isLicensed: raw::c_uchar,
1706 pub licenseExpiry: nvmlVgpuLicenseExpiry_t,
1707 pub currentState: raw::c_uint,
1708}
1709pub type nvmlVgpuLicenseInfo_t = nvmlVgpuLicenseInfo_st;
1710#[repr(C)]
1711#[derive(Debug, Copy, Clone)]
1712pub struct nvmlGridLicenseExpiry_st {
1713 pub year: raw::c_uint,
1714 pub month: raw::c_ushort,
1715 pub day: raw::c_ushort,
1716 pub hour: raw::c_ushort,
1717 pub min: raw::c_ushort,
1718 pub sec: raw::c_ushort,
1719 pub status: raw::c_uchar,
1720}
1721pub type nvmlGridLicenseExpiry_t = nvmlGridLicenseExpiry_st;
1722#[repr(C)]
1723#[derive(Debug, Copy, Clone)]
1724pub struct nvmlGridLicensableFeature_st {
1725 pub featureCode: nvmlGridLicenseFeatureCode_t,
1726 pub featureState: raw::c_uint,
1727 pub licenseInfo: [raw::c_char; 128usize],
1728 pub productName: [raw::c_char; 128usize],
1729 pub featureEnabled: raw::c_uint,
1730 pub licenseExpiry: nvmlGridLicenseExpiry_t,
1731}
1732pub type nvmlGridLicensableFeature_t = nvmlGridLicensableFeature_st;
1733#[repr(C)]
1734#[derive(Debug, Copy, Clone)]
1735pub struct nvmlGridLicensableFeatures_st {
1736 pub isGridLicenseSupported: raw::c_int,
1737 pub licensableFeaturesCount: raw::c_uint,
1738 pub gridLicensableFeatures: [nvmlGridLicensableFeature_t; 3usize],
1739}
1740pub type nvmlGridLicensableFeatures_t = nvmlGridLicensableFeatures_st;
1741pub const nvmlDeviceGpuRecoveryAction_s_NVML_GPU_RECOVERY_ACTION_NONE:
1742 nvmlDeviceGpuRecoveryAction_s = 0;
1743pub const nvmlDeviceGpuRecoveryAction_s_NVML_GPU_RECOVERY_ACTION_GPU_RESET:
1744 nvmlDeviceGpuRecoveryAction_s = 1;
1745pub const nvmlDeviceGpuRecoveryAction_s_NVML_GPU_RECOVERY_ACTION_NODE_REBOOT:
1746 nvmlDeviceGpuRecoveryAction_s = 2;
1747pub const nvmlDeviceGpuRecoveryAction_s_NVML_GPU_RECOVERY_ACTION_DRAIN_P2P:
1748 nvmlDeviceGpuRecoveryAction_s = 3;
1749pub const nvmlDeviceGpuRecoveryAction_s_NVML_GPU_RECOVERY_ACTION_DRAIN_AND_RESET:
1750 nvmlDeviceGpuRecoveryAction_s = 4;
1751pub type nvmlDeviceGpuRecoveryAction_s = raw::c_uint;
1752pub use self::nvmlDeviceGpuRecoveryAction_s as nvmlDeviceGpuRecoveryAction_t;
1753#[repr(C)]
1754#[derive(Debug, Copy, Clone)]
1755pub struct nvmlVgpuTypeIdInfo_v1_t {
1756 pub version: raw::c_uint,
1757 pub vgpuCount: raw::c_uint,
1758 pub vgpuTypeIds: *mut nvmlVgpuTypeId_t,
1759}
1760pub type nvmlVgpuTypeIdInfo_t = nvmlVgpuTypeIdInfo_v1_t;
1761#[repr(C)]
1762#[derive(Debug, Copy, Clone)]
1763pub struct nvmlVgpuTypeMaxInstance_v1_t {
1764 pub version: raw::c_uint,
1765 pub vgpuTypeId: nvmlVgpuTypeId_t,
1766 pub maxInstancePerGI: raw::c_uint,
1767}
1768pub type nvmlVgpuTypeMaxInstance_t = nvmlVgpuTypeMaxInstance_v1_t;
1769#[repr(C)]
1770#[derive(Debug, Copy, Clone)]
1771pub struct nvmlActiveVgpuInstanceInfo_v1_t {
1772 pub version: raw::c_uint,
1773 pub vgpuCount: raw::c_uint,
1774 pub vgpuInstances: *mut nvmlVgpuInstance_t,
1775}
1776pub type nvmlActiveVgpuInstanceInfo_t = nvmlActiveVgpuInstanceInfo_v1_t;
1777#[repr(C)]
1778#[derive(Copy, Clone)]
1779pub struct nvmlVgpuSchedulerState_v1_t {
1780 pub version: raw::c_uint,
1781 pub engineId: raw::c_uint,
1782 pub schedulerPolicy: raw::c_uint,
1783 pub enableARRMode: raw::c_uint,
1784 pub schedulerParams: nvmlVgpuSchedulerSetParams_t,
1785}
1786pub type nvmlVgpuSchedulerState_t = nvmlVgpuSchedulerState_v1_t;
1787#[repr(C)]
1788#[derive(Copy, Clone)]
1789pub struct nvmlVgpuSchedulerStateInfo_v1_t {
1790 pub version: raw::c_uint,
1791 pub engineId: raw::c_uint,
1792 pub schedulerPolicy: raw::c_uint,
1793 pub arrMode: raw::c_uint,
1794 pub schedulerParams: nvmlVgpuSchedulerParams_t,
1795}
1796pub type nvmlVgpuSchedulerStateInfo_t = nvmlVgpuSchedulerStateInfo_v1_t;
1797#[repr(C)]
1798#[derive(Copy, Clone)]
1799pub struct nvmlVgpuSchedulerLogInfo_v1_t {
1800 pub version: raw::c_uint,
1801 pub engineId: raw::c_uint,
1802 pub schedulerPolicy: raw::c_uint,
1803 pub arrMode: raw::c_uint,
1804 pub schedulerParams: nvmlVgpuSchedulerParams_t,
1805 pub entriesCount: raw::c_uint,
1806 pub logEntries: [nvmlVgpuSchedulerLogEntry_t; 200usize],
1807}
1808pub type nvmlVgpuSchedulerLogInfo_t = nvmlVgpuSchedulerLogInfo_v1_t;
1809#[repr(C)]
1810#[derive(Debug, Copy, Clone)]
1811pub struct nvmlVgpuCreatablePlacementInfo_v1_t {
1812 pub version: raw::c_uint,
1813 pub vgpuTypeId: nvmlVgpuTypeId_t,
1814 pub count: raw::c_uint,
1815 pub placementIds: *mut raw::c_uint,
1816 pub placementSize: raw::c_uint,
1817}
1818pub type nvmlVgpuCreatablePlacementInfo_t = nvmlVgpuCreatablePlacementInfo_v1_t;
1819#[repr(C)]
1820#[derive(Debug, Copy, Clone)]
1821pub struct nvmlNvLinkPowerThres_st {
1822 pub lowPwrThreshold: raw::c_uint,
1823}
1824pub type nvmlNvLinkPowerThres_t = nvmlNvLinkPowerThres_st;
1825#[repr(C)]
1826#[derive(Copy, Clone)]
1827pub struct nvmlFieldValue_st {
1828 pub fieldId: raw::c_uint,
1829 pub scopeId: raw::c_uint,
1830 pub timestamp: raw::c_longlong,
1831 pub latencyUsec: raw::c_longlong,
1832 pub valueType: nvmlValueType_t,
1833 pub nvmlReturn: nvmlReturn_t,
1834 pub value: nvmlValue_t,
1835}
1836pub type nvmlFieldValue_t = nvmlFieldValue_st;
1837#[repr(C)]
1838#[derive(Debug, Copy, Clone)]
1839pub struct nvmlUnit_st {
1840 _unused: [u8; 0],
1841}
1842pub type nvmlUnit_t = *mut nvmlUnit_st;
1843#[repr(C)]
1844#[derive(Debug, Copy, Clone)]
1845pub struct nvmlHwbcEntry_st {
1846 pub hwbcId: raw::c_uint,
1847 pub firmwareVersion: [raw::c_char; 32usize],
1848}
1849pub type nvmlHwbcEntry_t = nvmlHwbcEntry_st;
1850pub const nvmlFanState_enum_NVML_FAN_NORMAL: nvmlFanState_enum = 0;
1851pub const nvmlFanState_enum_NVML_FAN_FAILED: nvmlFanState_enum = 1;
1852pub type nvmlFanState_enum = raw::c_uint;
1853pub use self::nvmlFanState_enum as nvmlFanState_t;
1854pub const nvmlLedColor_enum_NVML_LED_COLOR_GREEN: nvmlLedColor_enum = 0;
1855pub const nvmlLedColor_enum_NVML_LED_COLOR_AMBER: nvmlLedColor_enum = 1;
1856pub type nvmlLedColor_enum = raw::c_uint;
1857pub use self::nvmlLedColor_enum as nvmlLedColor_t;
1858#[repr(C)]
1859#[derive(Debug, Copy, Clone)]
1860pub struct nvmlLedState_st {
1861 pub cause: [raw::c_char; 256usize],
1862 pub color: nvmlLedColor_t,
1863}
1864pub type nvmlLedState_t = nvmlLedState_st;
1865#[repr(C)]
1866#[derive(Debug, Copy, Clone)]
1867pub struct nvmlUnitInfo_st {
1868 pub name: [raw::c_char; 96usize],
1869 pub id: [raw::c_char; 96usize],
1870 pub serial: [raw::c_char; 96usize],
1871 pub firmwareVersion: [raw::c_char; 96usize],
1872}
1873pub type nvmlUnitInfo_t = nvmlUnitInfo_st;
1874#[repr(C)]
1875#[derive(Debug, Copy, Clone)]
1876pub struct nvmlPSUInfo_st {
1877 pub state: [raw::c_char; 256usize],
1878 pub current: raw::c_uint,
1879 pub voltage: raw::c_uint,
1880 pub power: raw::c_uint,
1881}
1882pub type nvmlPSUInfo_t = nvmlPSUInfo_st;
1883#[repr(C)]
1884#[derive(Debug, Copy, Clone)]
1885pub struct nvmlUnitFanInfo_st {
1886 pub speed: raw::c_uint,
1887 pub state: nvmlFanState_t,
1888}
1889pub type nvmlUnitFanInfo_t = nvmlUnitFanInfo_st;
1890#[repr(C)]
1891#[derive(Debug, Copy, Clone)]
1892pub struct nvmlUnitFanSpeeds_st {
1893 pub fans: [nvmlUnitFanInfo_t; 24usize],
1894 pub count: raw::c_uint,
1895}
1896pub type nvmlUnitFanSpeeds_t = nvmlUnitFanSpeeds_st;
1897#[repr(C)]
1898#[derive(Debug, Copy, Clone)]
1899pub struct nvmlEventSet_st {
1900 _unused: [u8; 0],
1901}
1902pub type nvmlEventSet_t = *mut nvmlEventSet_st;
1903#[repr(C)]
1904#[derive(Debug, Copy, Clone)]
1905pub struct nvmlEventData_st {
1906 pub device: nvmlDevice_t,
1907 pub eventType: raw::c_ulonglong,
1908 pub eventData: raw::c_ulonglong,
1909 pub gpuInstanceId: raw::c_uint,
1910 pub computeInstanceId: raw::c_uint,
1911}
1912pub type nvmlEventData_t = nvmlEventData_st;
1913#[repr(C)]
1914#[derive(Debug, Copy, Clone)]
1915pub struct nvmlSystemEventSet_st {
1916 _unused: [u8; 0],
1917}
1918pub type nvmlSystemEventSet_t = *mut nvmlSystemEventSet_st;
1919#[repr(C)]
1920#[derive(Debug, Copy, Clone)]
1921pub struct nvmlSystemEventSetCreateRequest_v1_t {
1922 pub version: raw::c_uint,
1923 pub set: nvmlSystemEventSet_t,
1924}
1925pub type nvmlSystemEventSetCreateRequest_t = nvmlSystemEventSetCreateRequest_v1_t;
1926#[repr(C)]
1927#[derive(Debug, Copy, Clone)]
1928pub struct nvmlSystemEventSetFreeRequest_v1_t {
1929 pub version: raw::c_uint,
1930 pub set: nvmlSystemEventSet_t,
1931}
1932pub type nvmlSystemEventSetFreeRequest_t = nvmlSystemEventSetFreeRequest_v1_t;
1933#[repr(C)]
1934#[derive(Debug, Copy, Clone)]
1935pub struct nvmlSystemRegisterEventRequest_v1_t {
1936 pub version: raw::c_uint,
1937 pub eventTypes: raw::c_ulonglong,
1938 pub set: nvmlSystemEventSet_t,
1939}
1940pub type nvmlSystemRegisterEventRequest_t = nvmlSystemRegisterEventRequest_v1_t;
1941#[repr(C)]
1942#[derive(Debug, Copy, Clone)]
1943pub struct nvmlSystemEventData_v1_t {
1944 pub eventType: raw::c_ulonglong,
1945 pub gpuId: raw::c_uint,
1946}
1947#[repr(C)]
1948#[derive(Debug, Copy, Clone)]
1949pub struct nvmlSystemEventSetWaitRequest_v1_t {
1950 pub version: raw::c_uint,
1951 pub timeoutms: raw::c_uint,
1952 pub set: nvmlSystemEventSet_t,
1953 pub data: *mut nvmlSystemEventData_v1_t,
1954 pub dataSize: raw::c_uint,
1955 pub numEvent: raw::c_uint,
1956}
1957pub type nvmlSystemEventSetWaitRequest_t = nvmlSystemEventSetWaitRequest_v1_t;
1958#[repr(C)]
1959#[derive(Debug, Copy, Clone)]
1960pub struct nvmlAccountingStats_st {
1961 pub gpuUtilization: raw::c_uint,
1962 pub memoryUtilization: raw::c_uint,
1963 pub maxMemoryUsage: raw::c_ulonglong,
1964 pub time: raw::c_ulonglong,
1965 pub startTime: raw::c_ulonglong,
1966 pub isRunning: raw::c_uint,
1967 pub reserved: [raw::c_uint; 5usize],
1968}
1969pub type nvmlAccountingStats_t = nvmlAccountingStats_st;
1970pub const nvmlEncoderQueryType_enum_NVML_ENCODER_QUERY_H264: nvmlEncoderQueryType_enum = 0;
1971pub const nvmlEncoderQueryType_enum_NVML_ENCODER_QUERY_HEVC: nvmlEncoderQueryType_enum = 1;
1972pub const nvmlEncoderQueryType_enum_NVML_ENCODER_QUERY_AV1: nvmlEncoderQueryType_enum = 2;
1973pub const nvmlEncoderQueryType_enum_NVML_ENCODER_QUERY_UNKNOWN: nvmlEncoderQueryType_enum = 255;
1974pub type nvmlEncoderQueryType_enum = raw::c_uint;
1975pub use self::nvmlEncoderQueryType_enum as nvmlEncoderType_t;
1976#[repr(C)]
1977#[derive(Debug, Copy, Clone)]
1978pub struct nvmlEncoderSessionInfo_st {
1979 pub sessionId: raw::c_uint,
1980 pub pid: raw::c_uint,
1981 pub vgpuInstance: nvmlVgpuInstance_t,
1982 pub codecType: nvmlEncoderType_t,
1983 pub hResolution: raw::c_uint,
1984 pub vResolution: raw::c_uint,
1985 pub averageFps: raw::c_uint,
1986 pub averageLatency: raw::c_uint,
1987}
1988pub type nvmlEncoderSessionInfo_t = nvmlEncoderSessionInfo_st;
1989pub const nvmlFBCSessionType_enum_NVML_FBC_SESSION_TYPE_UNKNOWN: nvmlFBCSessionType_enum = 0;
1990pub const nvmlFBCSessionType_enum_NVML_FBC_SESSION_TYPE_TOSYS: nvmlFBCSessionType_enum = 1;
1991pub const nvmlFBCSessionType_enum_NVML_FBC_SESSION_TYPE_CUDA: nvmlFBCSessionType_enum = 2;
1992pub const nvmlFBCSessionType_enum_NVML_FBC_SESSION_TYPE_VID: nvmlFBCSessionType_enum = 3;
1993pub const nvmlFBCSessionType_enum_NVML_FBC_SESSION_TYPE_HWENC: nvmlFBCSessionType_enum = 4;
1994pub type nvmlFBCSessionType_enum = raw::c_uint;
1995pub use self::nvmlFBCSessionType_enum as nvmlFBCSessionType_t;
1996#[repr(C)]
1997#[derive(Debug, Copy, Clone)]
1998pub struct nvmlFBCStats_st {
1999 pub sessionsCount: raw::c_uint,
2000 pub averageFPS: raw::c_uint,
2001 pub averageLatency: raw::c_uint,
2002}
2003pub type nvmlFBCStats_t = nvmlFBCStats_st;
2004#[repr(C)]
2005#[derive(Debug, Copy, Clone)]
2006pub struct nvmlFBCSessionInfo_st {
2007 pub sessionId: raw::c_uint,
2008 pub pid: raw::c_uint,
2009 pub vgpuInstance: nvmlVgpuInstance_t,
2010 pub displayOrdinal: raw::c_uint,
2011 pub sessionType: nvmlFBCSessionType_t,
2012 pub sessionFlags: raw::c_uint,
2013 pub hMaxResolution: raw::c_uint,
2014 pub vMaxResolution: raw::c_uint,
2015 pub hResolution: raw::c_uint,
2016 pub vResolution: raw::c_uint,
2017 pub averageFPS: raw::c_uint,
2018 pub averageLatency: raw::c_uint,
2019}
2020pub type nvmlFBCSessionInfo_t = nvmlFBCSessionInfo_st;
2021pub const nvmlDetachGpuState_enum_NVML_DETACH_GPU_KEEP: nvmlDetachGpuState_enum = 0;
2022pub const nvmlDetachGpuState_enum_NVML_DETACH_GPU_REMOVE: nvmlDetachGpuState_enum = 1;
2023pub type nvmlDetachGpuState_enum = raw::c_uint;
2024pub use self::nvmlDetachGpuState_enum as nvmlDetachGpuState_t;
2025pub const nvmlPcieLinkState_enum_NVML_PCIE_LINK_KEEP: nvmlPcieLinkState_enum = 0;
2026pub const nvmlPcieLinkState_enum_NVML_PCIE_LINK_SHUT_DOWN: nvmlPcieLinkState_enum = 1;
2027pub type nvmlPcieLinkState_enum = raw::c_uint;
2028pub use self::nvmlPcieLinkState_enum as nvmlPcieLinkState_t;
2029#[repr(C)]
2030#[derive(Debug, Copy, Clone)]
2031pub struct nvmlConfComputeSystemCaps_st {
2032 pub cpuCaps: raw::c_uint,
2033 pub gpusCaps: raw::c_uint,
2034}
2035pub type nvmlConfComputeSystemCaps_t = nvmlConfComputeSystemCaps_st;
2036#[repr(C)]
2037#[derive(Debug, Copy, Clone)]
2038pub struct nvmlConfComputeSystemState_st {
2039 pub environment: raw::c_uint,
2040 pub ccFeature: raw::c_uint,
2041 pub devToolsMode: raw::c_uint,
2042}
2043pub type nvmlConfComputeSystemState_t = nvmlConfComputeSystemState_st;
2044#[repr(C)]
2045#[derive(Debug, Copy, Clone)]
2046pub struct nvmlSystemConfComputeSettings_v1_t {
2047 pub version: raw::c_uint,
2048 pub environment: raw::c_uint,
2049 pub ccFeature: raw::c_uint,
2050 pub devToolsMode: raw::c_uint,
2051 pub multiGpuMode: raw::c_uint,
2052}
2053pub type nvmlSystemConfComputeSettings_t = nvmlSystemConfComputeSettings_v1_t;
2054#[repr(C)]
2055#[derive(Debug, Copy, Clone)]
2056pub struct nvmlConfComputeMemSizeInfo_st {
2057 pub protectedMemSizeKib: raw::c_ulonglong,
2058 pub unprotectedMemSizeKib: raw::c_ulonglong,
2059}
2060pub type nvmlConfComputeMemSizeInfo_t = nvmlConfComputeMemSizeInfo_st;
2061#[repr(C)]
2062#[derive(Debug, Copy, Clone)]
2063pub struct nvmlConfComputeGpuCertificate_st {
2064 pub certChainSize: raw::c_uint,
2065 pub attestationCertChainSize: raw::c_uint,
2066 pub certChain: [raw::c_uchar; 4096usize],
2067 pub attestationCertChain: [raw::c_uchar; 5120usize],
2068}
2069pub type nvmlConfComputeGpuCertificate_t = nvmlConfComputeGpuCertificate_st;
2070#[repr(C)]
2071#[derive(Debug, Copy, Clone)]
2072pub struct nvmlConfComputeGpuAttestationReport_st {
2073 pub isCecAttestationReportPresent: raw::c_uint,
2074 pub attestationReportSize: raw::c_uint,
2075 pub cecAttestationReportSize: raw::c_uint,
2076 pub nonce: [raw::c_uchar; 32usize],
2077 pub attestationReport: [raw::c_uchar; 8192usize],
2078 pub cecAttestationReport: [raw::c_uchar; 4096usize],
2079}
2080pub type nvmlConfComputeGpuAttestationReport_t = nvmlConfComputeGpuAttestationReport_st;
2081#[repr(C)]
2082#[derive(Debug, Copy, Clone)]
2083pub struct nvmlConfComputeSetKeyRotationThresholdInfo_st {
2084 pub version: raw::c_uint,
2085 pub maxAttackerAdvantage: raw::c_ulonglong,
2086}
2087pub type nvmlConfComputeSetKeyRotationThresholdInfo_v1_t =
2088 nvmlConfComputeSetKeyRotationThresholdInfo_st;
2089pub type nvmlConfComputeSetKeyRotationThresholdInfo_t =
2090 nvmlConfComputeSetKeyRotationThresholdInfo_v1_t;
2091#[repr(C)]
2092#[derive(Debug, Copy, Clone)]
2093pub struct nvmlConfComputeGetKeyRotationThresholdInfo_st {
2094 pub version: raw::c_uint,
2095 pub attackerAdvantage: raw::c_ulonglong,
2096}
2097pub type nvmlConfComputeGetKeyRotationThresholdInfo_v1_t =
2098 nvmlConfComputeGetKeyRotationThresholdInfo_st;
2099pub type nvmlConfComputeGetKeyRotationThresholdInfo_t =
2100 nvmlConfComputeGetKeyRotationThresholdInfo_v1_t;
2101pub type nvmlGpuFabricState_t = raw::c_uchar;
2102#[repr(C)]
2103#[derive(Debug, Copy, Clone)]
2104pub struct nvmlGpuFabricInfo_t {
2105 pub clusterUuid: [raw::c_uchar; 16usize],
2106 pub status: nvmlReturn_t,
2107 pub cliqueId: raw::c_uint,
2108 pub state: nvmlGpuFabricState_t,
2109}
2110#[repr(C)]
2111#[derive(Debug, Copy, Clone)]
2112pub struct nvmlGpuFabricInfo_v2_t {
2113 pub version: raw::c_uint,
2114 pub clusterUuid: [raw::c_uchar; 16usize],
2115 pub status: nvmlReturn_t,
2116 pub cliqueId: raw::c_uint,
2117 pub state: nvmlGpuFabricState_t,
2118 pub healthMask: raw::c_uint,
2119}
2120#[repr(C)]
2121#[derive(Debug, Copy, Clone)]
2122pub struct nvmlGpuFabricInfo_v3_t {
2123 pub version: raw::c_uint,
2124 pub clusterUuid: [raw::c_uchar; 16usize],
2125 pub status: nvmlReturn_t,
2126 pub cliqueId: raw::c_uint,
2127 pub state: nvmlGpuFabricState_t,
2128 pub healthMask: raw::c_uint,
2129 pub healthSummary: raw::c_uchar,
2130}
2131pub type nvmlGpuFabricInfoV_t = nvmlGpuFabricInfo_v3_t;
2132#[repr(C)]
2133#[derive(Debug, Copy, Clone)]
2134pub struct nvmlSystemDriverBranchInfo_v1_t {
2135 pub version: raw::c_uint,
2136 pub branch: [raw::c_char; 80usize],
2137}
2138pub type nvmlSystemDriverBranchInfo_t = nvmlSystemDriverBranchInfo_v1_t;
2139pub type nvmlAffinityScope_t = raw::c_uint;
2140#[repr(C)]
2141#[derive(Debug, Copy, Clone)]
2142pub struct nvmlTemperature_v1_t {
2143 pub version: raw::c_uint,
2144 pub sensorType: nvmlTemperatureSensors_t,
2145 pub temperature: raw::c_int,
2146}
2147pub type nvmlTemperature_t = nvmlTemperature_v1_t;
2148pub const nvmlClockLimitId_enum_NVML_CLOCK_LIMIT_ID_RANGE_START: nvmlClockLimitId_enum = 4294967040;
2149pub const nvmlClockLimitId_enum_NVML_CLOCK_LIMIT_ID_TDP: nvmlClockLimitId_enum = 4294967041;
2150pub const nvmlClockLimitId_enum_NVML_CLOCK_LIMIT_ID_UNLIMITED: nvmlClockLimitId_enum = 4294967042;
2151pub type nvmlClockLimitId_enum = raw::c_uint;
2152pub use self::nvmlClockLimitId_enum as nvmlClockLimitId_t;
2153#[repr(C)]
2154#[derive(Debug, Copy, Clone)]
2155pub struct nvmlNvlinkSupportedBwModes_v1_t {
2156 pub version: raw::c_uint,
2157 pub bwModes: [raw::c_uchar; 23usize],
2158 pub totalBwModes: raw::c_uchar,
2159}
2160pub type nvmlNvlinkSupportedBwModes_t = nvmlNvlinkSupportedBwModes_v1_t;
2161#[repr(C)]
2162#[derive(Debug, Copy, Clone)]
2163pub struct nvmlNvlinkGetBwMode_v1_t {
2164 pub version: raw::c_uint,
2165 pub bIsBest: raw::c_uint,
2166 pub bwMode: raw::c_uchar,
2167}
2168pub type nvmlNvlinkGetBwMode_t = nvmlNvlinkGetBwMode_v1_t;
2169#[repr(C)]
2170#[derive(Debug, Copy, Clone)]
2171pub struct nvmlNvlinkSetBwMode_v1_t {
2172 pub version: raw::c_uint,
2173 pub bSetBest: raw::c_uint,
2174 pub bwMode: raw::c_uchar,
2175}
2176pub type nvmlNvlinkSetBwMode_t = nvmlNvlinkSetBwMode_v1_t;
2177#[repr(C)]
2178#[derive(Debug, Copy, Clone)]
2179pub struct nvmlNvLinkInfo_v1_t {
2180 pub version: raw::c_uint,
2181 pub isNvleEnabled: raw::c_uint,
2182}
2183#[repr(C)]
2184#[derive(Debug, Copy, Clone)]
2185pub struct nvmlNvlinkFirmwareVersion_t {
2186 pub ucodeType: raw::c_uchar,
2187 pub major: raw::c_uint,
2188 pub minor: raw::c_uint,
2189 pub subMinor: raw::c_uint,
2190}
2191#[repr(C)]
2192#[derive(Debug, Copy, Clone)]
2193pub struct nvmlNvlinkFirmwareInfo_t {
2194 pub firmwareVersion: [nvmlNvlinkFirmwareVersion_t; 100usize],
2195 pub numValidEntries: raw::c_uint,
2196}
2197#[repr(C)]
2198#[derive(Debug, Copy, Clone)]
2199pub struct nvmlNvLinkInfo_v2_t {
2200 pub version: raw::c_uint,
2201 pub isNvleEnabled: raw::c_uint,
2202 pub firmwareInfo: nvmlNvlinkFirmwareInfo_t,
2203}
2204pub type nvmlNvLinkInfo_t = nvmlNvLinkInfo_v2_t;
2205#[repr(C)]
2206#[derive(Debug, Copy, Clone)]
2207pub struct nvmlVgpuVersion_st {
2208 pub minVersion: raw::c_uint,
2209 pub maxVersion: raw::c_uint,
2210}
2211pub type nvmlVgpuVersion_t = nvmlVgpuVersion_st;
2212#[repr(C)]
2213#[derive(Debug, Copy, Clone)]
2214pub struct nvmlVgpuMetadata_st {
2215 pub version: raw::c_uint,
2216 pub revision: raw::c_uint,
2217 pub guestInfoState: nvmlVgpuGuestInfoState_t,
2218 pub guestDriverVersion: [raw::c_char; 80usize],
2219 pub hostDriverVersion: [raw::c_char; 80usize],
2220 pub reserved: [raw::c_uint; 6usize],
2221 pub vgpuVirtualizationCaps: raw::c_uint,
2222 pub guestVgpuVersion: raw::c_uint,
2223 pub opaqueDataSize: raw::c_uint,
2224 pub opaqueData: [raw::c_char; 4usize],
2225}
2226pub type nvmlVgpuMetadata_t = nvmlVgpuMetadata_st;
2227#[repr(C)]
2228#[derive(Debug, Copy, Clone)]
2229pub struct nvmlVgpuPgpuMetadata_st {
2230 pub version: raw::c_uint,
2231 pub revision: raw::c_uint,
2232 pub hostDriverVersion: [raw::c_char; 80usize],
2233 pub pgpuVirtualizationCaps: raw::c_uint,
2234 pub reserved: [raw::c_uint; 5usize],
2235 pub hostSupportedVgpuRange: nvmlVgpuVersion_t,
2236 pub opaqueDataSize: raw::c_uint,
2237 pub opaqueData: [raw::c_char; 4usize],
2238}
2239pub type nvmlVgpuPgpuMetadata_t = nvmlVgpuPgpuMetadata_st;
2240pub const nvmlVgpuVmCompatibility_enum_NVML_VGPU_VM_COMPATIBILITY_NONE:
2241 nvmlVgpuVmCompatibility_enum = 0;
2242pub const nvmlVgpuVmCompatibility_enum_NVML_VGPU_VM_COMPATIBILITY_COLD:
2243 nvmlVgpuVmCompatibility_enum = 1;
2244pub const nvmlVgpuVmCompatibility_enum_NVML_VGPU_VM_COMPATIBILITY_HIBERNATE:
2245 nvmlVgpuVmCompatibility_enum = 2;
2246pub const nvmlVgpuVmCompatibility_enum_NVML_VGPU_VM_COMPATIBILITY_SLEEP:
2247 nvmlVgpuVmCompatibility_enum = 4;
2248pub const nvmlVgpuVmCompatibility_enum_NVML_VGPU_VM_COMPATIBILITY_LIVE:
2249 nvmlVgpuVmCompatibility_enum = 8;
2250pub type nvmlVgpuVmCompatibility_enum = raw::c_uint;
2251pub use self::nvmlVgpuVmCompatibility_enum as nvmlVgpuVmCompatibility_t;
2252pub const nvmlVgpuPgpuCompatibilityLimitCode_enum_NVML_VGPU_COMPATIBILITY_LIMIT_NONE:
2253 nvmlVgpuPgpuCompatibilityLimitCode_enum = 0;
2254pub const nvmlVgpuPgpuCompatibilityLimitCode_enum_NVML_VGPU_COMPATIBILITY_LIMIT_HOST_DRIVER:
2255 nvmlVgpuPgpuCompatibilityLimitCode_enum = 1;
2256pub const nvmlVgpuPgpuCompatibilityLimitCode_enum_NVML_VGPU_COMPATIBILITY_LIMIT_GUEST_DRIVER:
2257 nvmlVgpuPgpuCompatibilityLimitCode_enum = 2;
2258pub const nvmlVgpuPgpuCompatibilityLimitCode_enum_NVML_VGPU_COMPATIBILITY_LIMIT_GPU:
2259 nvmlVgpuPgpuCompatibilityLimitCode_enum = 4;
2260pub const nvmlVgpuPgpuCompatibilityLimitCode_enum_NVML_VGPU_COMPATIBILITY_LIMIT_OTHER:
2261 nvmlVgpuPgpuCompatibilityLimitCode_enum = 2147483648;
2262pub type nvmlVgpuPgpuCompatibilityLimitCode_enum = raw::c_uint;
2263pub use self::nvmlVgpuPgpuCompatibilityLimitCode_enum as nvmlVgpuPgpuCompatibilityLimitCode_t;
2264#[repr(C)]
2265#[derive(Debug, Copy, Clone)]
2266pub struct nvmlVgpuPgpuCompatibility_st {
2267 pub vgpuVmCompatibility: nvmlVgpuVmCompatibility_t,
2268 pub compatibilityLimitCode: nvmlVgpuPgpuCompatibilityLimitCode_t,
2269}
2270pub type nvmlVgpuPgpuCompatibility_t = nvmlVgpuPgpuCompatibility_st;
2271#[repr(C)]
2272#[derive(Debug, Copy, Clone)]
2273pub struct nvmlExcludedDeviceInfo_st {
2274 pub pciInfo: nvmlPciInfo_t,
2275 pub uuid: [raw::c_char; 80usize],
2276}
2277pub type nvmlExcludedDeviceInfo_t = nvmlExcludedDeviceInfo_st;
2278#[repr(C)]
2279#[derive(Copy, Clone)]
2280pub struct nvmlPRMTLV_v1_t {
2281 pub dataSize: raw::c_uint,
2282 pub status: raw::c_uint,
2283 pub __bindgen_anon_1: nvmlPRMTLV_v1_t__bindgen_ty_1,
2284}
2285#[repr(C)]
2286#[derive(Copy, Clone)]
2287pub union nvmlPRMTLV_v1_t__bindgen_ty_1 {
2288 pub inData: [raw::c_uchar; 496usize],
2289 pub outData: [raw::c_uchar; 496usize],
2290}
2291#[repr(C)]
2292#[derive(Debug, Copy, Clone)]
2293pub struct nvmlGpuInstancePlacement_st {
2294 pub start: raw::c_uint,
2295 pub size: raw::c_uint,
2296}
2297pub type nvmlGpuInstancePlacement_t = nvmlGpuInstancePlacement_st;
2298#[repr(C)]
2299#[derive(Debug, Copy, Clone)]
2300pub struct nvmlGpuInstanceProfileInfo_st {
2301 pub id: raw::c_uint,
2302 pub isP2pSupported: raw::c_uint,
2303 pub sliceCount: raw::c_uint,
2304 pub instanceCount: raw::c_uint,
2305 pub multiprocessorCount: raw::c_uint,
2306 pub copyEngineCount: raw::c_uint,
2307 pub decoderCount: raw::c_uint,
2308 pub encoderCount: raw::c_uint,
2309 pub jpegCount: raw::c_uint,
2310 pub ofaCount: raw::c_uint,
2311 pub memorySizeMB: raw::c_ulonglong,
2312}
2313pub type nvmlGpuInstanceProfileInfo_t = nvmlGpuInstanceProfileInfo_st;
2314#[repr(C)]
2315#[derive(Debug, Copy, Clone)]
2316pub struct nvmlGpuInstanceProfileInfo_v2_st {
2317 pub version: raw::c_uint,
2318 pub id: raw::c_uint,
2319 pub isP2pSupported: raw::c_uint,
2320 pub sliceCount: raw::c_uint,
2321 pub instanceCount: raw::c_uint,
2322 pub multiprocessorCount: raw::c_uint,
2323 pub copyEngineCount: raw::c_uint,
2324 pub decoderCount: raw::c_uint,
2325 pub encoderCount: raw::c_uint,
2326 pub jpegCount: raw::c_uint,
2327 pub ofaCount: raw::c_uint,
2328 pub memorySizeMB: raw::c_ulonglong,
2329 pub name: [raw::c_char; 96usize],
2330}
2331pub type nvmlGpuInstanceProfileInfo_v2_t = nvmlGpuInstanceProfileInfo_v2_st;
2332#[repr(C)]
2333#[derive(Debug, Copy, Clone)]
2334pub struct nvmlGpuInstanceProfileInfo_v3_st {
2335 pub version: raw::c_uint,
2336 pub id: raw::c_uint,
2337 pub sliceCount: raw::c_uint,
2338 pub instanceCount: raw::c_uint,
2339 pub multiprocessorCount: raw::c_uint,
2340 pub copyEngineCount: raw::c_uint,
2341 pub decoderCount: raw::c_uint,
2342 pub encoderCount: raw::c_uint,
2343 pub jpegCount: raw::c_uint,
2344 pub ofaCount: raw::c_uint,
2345 pub memorySizeMB: raw::c_ulonglong,
2346 pub name: [raw::c_char; 96usize],
2347 pub capabilities: raw::c_uint,
2348}
2349pub type nvmlGpuInstanceProfileInfo_v3_t = nvmlGpuInstanceProfileInfo_v3_st;
2350#[repr(C)]
2351#[derive(Debug, Copy, Clone)]
2352pub struct nvmlGpuInstanceInfo_st {
2353 pub device: nvmlDevice_t,
2354 pub id: raw::c_uint,
2355 pub profileId: raw::c_uint,
2356 pub placement: nvmlGpuInstancePlacement_t,
2357}
2358pub type nvmlGpuInstanceInfo_t = nvmlGpuInstanceInfo_st;
2359#[repr(C)]
2360#[derive(Debug, Copy, Clone)]
2361pub struct nvmlComputeInstancePlacement_st {
2362 pub start: raw::c_uint,
2363 pub size: raw::c_uint,
2364}
2365pub type nvmlComputeInstancePlacement_t = nvmlComputeInstancePlacement_st;
2366#[repr(C)]
2367#[derive(Debug, Copy, Clone)]
2368pub struct nvmlComputeInstanceProfileInfo_st {
2369 pub id: raw::c_uint,
2370 pub sliceCount: raw::c_uint,
2371 pub instanceCount: raw::c_uint,
2372 pub multiprocessorCount: raw::c_uint,
2373 pub sharedCopyEngineCount: raw::c_uint,
2374 pub sharedDecoderCount: raw::c_uint,
2375 pub sharedEncoderCount: raw::c_uint,
2376 pub sharedJpegCount: raw::c_uint,
2377 pub sharedOfaCount: raw::c_uint,
2378}
2379pub type nvmlComputeInstanceProfileInfo_t = nvmlComputeInstanceProfileInfo_st;
2380#[repr(C)]
2381#[derive(Debug, Copy, Clone)]
2382pub struct nvmlComputeInstanceProfileInfo_v2_st {
2383 pub version: raw::c_uint,
2384 pub id: raw::c_uint,
2385 pub sliceCount: raw::c_uint,
2386 pub instanceCount: raw::c_uint,
2387 pub multiprocessorCount: raw::c_uint,
2388 pub sharedCopyEngineCount: raw::c_uint,
2389 pub sharedDecoderCount: raw::c_uint,
2390 pub sharedEncoderCount: raw::c_uint,
2391 pub sharedJpegCount: raw::c_uint,
2392 pub sharedOfaCount: raw::c_uint,
2393 pub name: [raw::c_char; 96usize],
2394}
2395pub type nvmlComputeInstanceProfileInfo_v2_t = nvmlComputeInstanceProfileInfo_v2_st;
2396#[repr(C)]
2397#[derive(Debug, Copy, Clone)]
2398pub struct nvmlComputeInstanceProfileInfo_v3_st {
2399 pub version: raw::c_uint,
2400 pub id: raw::c_uint,
2401 pub sliceCount: raw::c_uint,
2402 pub instanceCount: raw::c_uint,
2403 pub multiprocessorCount: raw::c_uint,
2404 pub sharedCopyEngineCount: raw::c_uint,
2405 pub sharedDecoderCount: raw::c_uint,
2406 pub sharedEncoderCount: raw::c_uint,
2407 pub sharedJpegCount: raw::c_uint,
2408 pub sharedOfaCount: raw::c_uint,
2409 pub name: [raw::c_char; 96usize],
2410 pub capabilities: raw::c_uint,
2411}
2412pub type nvmlComputeInstanceProfileInfo_v3_t = nvmlComputeInstanceProfileInfo_v3_st;
2413#[repr(C)]
2414#[derive(Debug, Copy, Clone)]
2415pub struct nvmlComputeInstanceInfo_st {
2416 pub device: nvmlDevice_t,
2417 pub gpuInstance: nvmlGpuInstance_t,
2418 pub id: raw::c_uint,
2419 pub profileId: raw::c_uint,
2420 pub placement: nvmlComputeInstancePlacement_t,
2421}
2422pub type nvmlComputeInstanceInfo_t = nvmlComputeInstanceInfo_st;
2423#[repr(C)]
2424#[derive(Debug, Copy, Clone)]
2425pub struct nvmlComputeInstance_st {
2426 _unused: [u8; 0],
2427}
2428pub type nvmlComputeInstance_t = *mut nvmlComputeInstance_st;
2429pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GRAPHICS_UTIL: nvmlGpmMetricId_t = 1;
2430pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_SM_UTIL: nvmlGpmMetricId_t = 2;
2431pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_SM_OCCUPANCY: nvmlGpmMetricId_t = 3;
2432pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_INTEGER_UTIL: nvmlGpmMetricId_t = 4;
2433pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_ANY_TENSOR_UTIL: nvmlGpmMetricId_t = 5;
2434pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_DFMA_TENSOR_UTIL: nvmlGpmMetricId_t = 6;
2435pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_HMMA_TENSOR_UTIL: nvmlGpmMetricId_t = 7;
2436pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_IMMA_TENSOR_UTIL: nvmlGpmMetricId_t = 9;
2437pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_DRAM_BW_UTIL: nvmlGpmMetricId_t = 10;
2438pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_FP64_UTIL: nvmlGpmMetricId_t = 11;
2439pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_FP32_UTIL: nvmlGpmMetricId_t = 12;
2440pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_FP16_UTIL: nvmlGpmMetricId_t = 13;
2441pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_PCIE_TX_PER_SEC: nvmlGpmMetricId_t = 20;
2442pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_PCIE_RX_PER_SEC: nvmlGpmMetricId_t = 21;
2443pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVDEC_0_UTIL: nvmlGpmMetricId_t = 30;
2444pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVDEC_1_UTIL: nvmlGpmMetricId_t = 31;
2445pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVDEC_2_UTIL: nvmlGpmMetricId_t = 32;
2446pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVDEC_3_UTIL: nvmlGpmMetricId_t = 33;
2447pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVDEC_4_UTIL: nvmlGpmMetricId_t = 34;
2448pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVDEC_5_UTIL: nvmlGpmMetricId_t = 35;
2449pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVDEC_6_UTIL: nvmlGpmMetricId_t = 36;
2450pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVDEC_7_UTIL: nvmlGpmMetricId_t = 37;
2451pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVJPG_0_UTIL: nvmlGpmMetricId_t = 40;
2452pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVJPG_1_UTIL: nvmlGpmMetricId_t = 41;
2453pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVJPG_2_UTIL: nvmlGpmMetricId_t = 42;
2454pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVJPG_3_UTIL: nvmlGpmMetricId_t = 43;
2455pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVJPG_4_UTIL: nvmlGpmMetricId_t = 44;
2456pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVJPG_5_UTIL: nvmlGpmMetricId_t = 45;
2457pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVJPG_6_UTIL: nvmlGpmMetricId_t = 46;
2458pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVJPG_7_UTIL: nvmlGpmMetricId_t = 47;
2459pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVOFA_0_UTIL: nvmlGpmMetricId_t = 50;
2460pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVOFA_1_UTIL: nvmlGpmMetricId_t = 51;
2461pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 60;
2462pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 61;
2463pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L0_RX_PER_SEC: nvmlGpmMetricId_t = 62;
2464pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L0_TX_PER_SEC: nvmlGpmMetricId_t = 63;
2465pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L1_RX_PER_SEC: nvmlGpmMetricId_t = 64;
2466pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L1_TX_PER_SEC: nvmlGpmMetricId_t = 65;
2467pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L2_RX_PER_SEC: nvmlGpmMetricId_t = 66;
2468pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L2_TX_PER_SEC: nvmlGpmMetricId_t = 67;
2469pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L3_RX_PER_SEC: nvmlGpmMetricId_t = 68;
2470pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L3_TX_PER_SEC: nvmlGpmMetricId_t = 69;
2471pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L4_RX_PER_SEC: nvmlGpmMetricId_t = 70;
2472pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L4_TX_PER_SEC: nvmlGpmMetricId_t = 71;
2473pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L5_RX_PER_SEC: nvmlGpmMetricId_t = 72;
2474pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L5_TX_PER_SEC: nvmlGpmMetricId_t = 73;
2475pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L6_RX_PER_SEC: nvmlGpmMetricId_t = 74;
2476pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L6_TX_PER_SEC: nvmlGpmMetricId_t = 75;
2477pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L7_RX_PER_SEC: nvmlGpmMetricId_t = 76;
2478pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L7_TX_PER_SEC: nvmlGpmMetricId_t = 77;
2479pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L8_RX_PER_SEC: nvmlGpmMetricId_t = 78;
2480pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L8_TX_PER_SEC: nvmlGpmMetricId_t = 79;
2481pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L9_RX_PER_SEC: nvmlGpmMetricId_t = 80;
2482pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L9_TX_PER_SEC: nvmlGpmMetricId_t = 81;
2483pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L10_RX_PER_SEC: nvmlGpmMetricId_t = 82;
2484pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L10_TX_PER_SEC: nvmlGpmMetricId_t = 83;
2485pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L11_RX_PER_SEC: nvmlGpmMetricId_t = 84;
2486pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L11_TX_PER_SEC: nvmlGpmMetricId_t = 85;
2487pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L12_RX_PER_SEC: nvmlGpmMetricId_t = 86;
2488pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L12_TX_PER_SEC: nvmlGpmMetricId_t = 87;
2489pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L13_RX_PER_SEC: nvmlGpmMetricId_t = 88;
2490pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L13_TX_PER_SEC: nvmlGpmMetricId_t = 89;
2491pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L14_RX_PER_SEC: nvmlGpmMetricId_t = 90;
2492pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L14_TX_PER_SEC: nvmlGpmMetricId_t = 91;
2493pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L15_RX_PER_SEC: nvmlGpmMetricId_t = 92;
2494pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L15_TX_PER_SEC: nvmlGpmMetricId_t = 93;
2495pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L16_RX_PER_SEC: nvmlGpmMetricId_t = 94;
2496pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L16_TX_PER_SEC: nvmlGpmMetricId_t = 95;
2497pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L17_RX_PER_SEC: nvmlGpmMetricId_t = 96;
2498pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVLINK_L17_TX_PER_SEC: nvmlGpmMetricId_t = 97;
2499pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 100;
2500pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 101;
2501pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_DATA_TX_PER_SEC: nvmlGpmMetricId_t = 102;
2502pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_DATA_RX_PER_SEC: nvmlGpmMetricId_t = 103;
2503pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK0_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 104;
2504pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK0_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 105;
2505pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK0_DATA_TX_PER_SEC: nvmlGpmMetricId_t = 106;
2506pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK0_DATA_RX_PER_SEC: nvmlGpmMetricId_t = 107;
2507pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK1_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 108;
2508pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK1_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 109;
2509pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK1_DATA_TX_PER_SEC: nvmlGpmMetricId_t = 110;
2510pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK1_DATA_RX_PER_SEC: nvmlGpmMetricId_t = 111;
2511pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK2_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 112;
2512pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK2_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 113;
2513pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK2_DATA_TX_PER_SEC: nvmlGpmMetricId_t = 114;
2514pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK2_DATA_RX_PER_SEC: nvmlGpmMetricId_t = 115;
2515pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK3_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 116;
2516pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK3_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 117;
2517pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK3_DATA_TX_PER_SEC: nvmlGpmMetricId_t = 118;
2518pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK3_DATA_RX_PER_SEC: nvmlGpmMetricId_t = 119;
2519pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK4_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 120;
2520pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK4_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 121;
2521pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK4_DATA_TX_PER_SEC: nvmlGpmMetricId_t = 122;
2522pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK4_DATA_RX_PER_SEC: nvmlGpmMetricId_t = 123;
2523pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK5_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 124;
2524pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK5_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 125;
2525pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK5_DATA_TX_PER_SEC: nvmlGpmMetricId_t = 126;
2526pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK5_DATA_RX_PER_SEC: nvmlGpmMetricId_t = 127;
2527pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK6_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 128;
2528pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK6_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 129;
2529pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK6_DATA_TX_PER_SEC: nvmlGpmMetricId_t = 130;
2530pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK6_DATA_RX_PER_SEC: nvmlGpmMetricId_t = 131;
2531pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK7_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 132;
2532pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK7_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 133;
2533pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK7_DATA_TX_PER_SEC: nvmlGpmMetricId_t = 134;
2534pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK7_DATA_RX_PER_SEC: nvmlGpmMetricId_t = 135;
2535pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK8_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 136;
2536pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK8_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 137;
2537pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK8_DATA_TX_PER_SEC: nvmlGpmMetricId_t = 138;
2538pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK8_DATA_RX_PER_SEC: nvmlGpmMetricId_t = 139;
2539pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK9_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 140;
2540pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK9_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 141;
2541pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK9_DATA_TX_PER_SEC: nvmlGpmMetricId_t = 142;
2542pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK9_DATA_RX_PER_SEC: nvmlGpmMetricId_t = 143;
2543pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK10_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 144;
2544pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK10_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 145;
2545pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK10_DATA_TX_PER_SEC: nvmlGpmMetricId_t = 146;
2546pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK10_DATA_RX_PER_SEC: nvmlGpmMetricId_t = 147;
2547pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK11_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 148;
2548pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK11_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 149;
2549pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK11_DATA_TX_PER_SEC: nvmlGpmMetricId_t = 150;
2550pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK11_DATA_RX_PER_SEC: nvmlGpmMetricId_t = 151;
2551pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK12_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 152;
2552pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK12_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 153;
2553pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK12_DATA_TX_PER_SEC: nvmlGpmMetricId_t = 154;
2554pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK12_DATA_RX_PER_SEC: nvmlGpmMetricId_t = 155;
2555pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK13_TOTAL_TX_PER_SEC: nvmlGpmMetricId_t = 156;
2556pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK13_TOTAL_RX_PER_SEC: nvmlGpmMetricId_t = 157;
2557pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK13_DATA_TX_PER_SEC: nvmlGpmMetricId_t = 158;
2558pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_C2C_LINK13_DATA_RX_PER_SEC: nvmlGpmMetricId_t = 159;
2559pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_HOSTMEM_CACHE_HIT: nvmlGpmMetricId_t = 160;
2560pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_HOSTMEM_CACHE_MISS: nvmlGpmMetricId_t = 161;
2561pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_PEERMEM_CACHE_HIT: nvmlGpmMetricId_t = 162;
2562pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_PEERMEM_CACHE_MISS: nvmlGpmMetricId_t = 163;
2563pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_DRAM_CACHE_HIT: nvmlGpmMetricId_t = 164;
2564pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_DRAM_CACHE_MISS: nvmlGpmMetricId_t = 165;
2565pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVENC_0_UTIL: nvmlGpmMetricId_t = 166;
2566pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVENC_1_UTIL: nvmlGpmMetricId_t = 167;
2567pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVENC_2_UTIL: nvmlGpmMetricId_t = 168;
2568pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_NVENC_3_UTIL: nvmlGpmMetricId_t = 169;
2569pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR0_CTXSW_CYCLES_ELAPSED: nvmlGpmMetricId_t = 170;
2570pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR0_CTXSW_CYCLES_ACTIVE: nvmlGpmMetricId_t = 171;
2571pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR0_CTXSW_REQUESTS: nvmlGpmMetricId_t = 172;
2572pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR0_CTXSW_CYCLES_PER_REQ: nvmlGpmMetricId_t = 173;
2573pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR0_CTXSW_ACTIVE_PCT: nvmlGpmMetricId_t = 174;
2574pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR1_CTXSW_CYCLES_ELAPSED: nvmlGpmMetricId_t = 175;
2575pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR1_CTXSW_CYCLES_ACTIVE: nvmlGpmMetricId_t = 176;
2576pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR1_CTXSW_REQUESTS: nvmlGpmMetricId_t = 177;
2577pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR1_CTXSW_CYCLES_PER_REQ: nvmlGpmMetricId_t = 178;
2578pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR1_CTXSW_ACTIVE_PCT: nvmlGpmMetricId_t = 179;
2579pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR2_CTXSW_CYCLES_ELAPSED: nvmlGpmMetricId_t = 180;
2580pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR2_CTXSW_CYCLES_ACTIVE: nvmlGpmMetricId_t = 181;
2581pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR2_CTXSW_REQUESTS: nvmlGpmMetricId_t = 182;
2582pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR2_CTXSW_CYCLES_PER_REQ: nvmlGpmMetricId_t = 183;
2583pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR2_CTXSW_ACTIVE_PCT: nvmlGpmMetricId_t = 184;
2584pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR3_CTXSW_CYCLES_ELAPSED: nvmlGpmMetricId_t = 185;
2585pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR3_CTXSW_CYCLES_ACTIVE: nvmlGpmMetricId_t = 186;
2586pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR3_CTXSW_REQUESTS: nvmlGpmMetricId_t = 187;
2587pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR3_CTXSW_CYCLES_PER_REQ: nvmlGpmMetricId_t = 188;
2588pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR3_CTXSW_ACTIVE_PCT: nvmlGpmMetricId_t = 189;
2589pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR4_CTXSW_CYCLES_ELAPSED: nvmlGpmMetricId_t = 190;
2590pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR4_CTXSW_CYCLES_ACTIVE: nvmlGpmMetricId_t = 191;
2591pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR4_CTXSW_REQUESTS: nvmlGpmMetricId_t = 192;
2592pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR4_CTXSW_CYCLES_PER_REQ: nvmlGpmMetricId_t = 193;
2593pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR4_CTXSW_ACTIVE_PCT: nvmlGpmMetricId_t = 194;
2594pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR5_CTXSW_CYCLES_ELAPSED: nvmlGpmMetricId_t = 195;
2595pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR5_CTXSW_CYCLES_ACTIVE: nvmlGpmMetricId_t = 196;
2596pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR5_CTXSW_REQUESTS: nvmlGpmMetricId_t = 197;
2597pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR5_CTXSW_CYCLES_PER_REQ: nvmlGpmMetricId_t = 198;
2598pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR5_CTXSW_ACTIVE_PCT: nvmlGpmMetricId_t = 199;
2599pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR6_CTXSW_CYCLES_ELAPSED: nvmlGpmMetricId_t = 200;
2600pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR6_CTXSW_CYCLES_ACTIVE: nvmlGpmMetricId_t = 201;
2601pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR6_CTXSW_REQUESTS: nvmlGpmMetricId_t = 202;
2602pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR6_CTXSW_CYCLES_PER_REQ: nvmlGpmMetricId_t = 203;
2603pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR6_CTXSW_ACTIVE_PCT: nvmlGpmMetricId_t = 204;
2604pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR7_CTXSW_CYCLES_ELAPSED: nvmlGpmMetricId_t = 205;
2605pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR7_CTXSW_CYCLES_ACTIVE: nvmlGpmMetricId_t = 206;
2606pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR7_CTXSW_REQUESTS: nvmlGpmMetricId_t = 207;
2607pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR7_CTXSW_CYCLES_PER_REQ: nvmlGpmMetricId_t = 208;
2608pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_GR7_CTXSW_ACTIVE_PCT: nvmlGpmMetricId_t = 209;
2609pub const nvmlGpmMetricId_t_NVML_GPM_METRIC_MAX: nvmlGpmMetricId_t = 210;
2610pub type nvmlGpmMetricId_t = raw::c_uint;
2611#[repr(C)]
2612#[derive(Debug, Copy, Clone)]
2613pub struct nvmlGpmSample_st {
2614 _unused: [u8; 0],
2615}
2616pub type nvmlGpmSample_t = *mut nvmlGpmSample_st;
2617#[repr(C)]
2618#[derive(Debug, Copy, Clone)]
2619pub struct nvmlGpmMetric_t {
2620 pub metricId: raw::c_uint,
2621 pub nvmlReturn: nvmlReturn_t,
2622 pub value: f64,
2623 pub metricInfo: nvmlGpmMetric_t__bindgen_ty_1,
2624}
2625#[repr(C)]
2626#[derive(Debug, Copy, Clone)]
2627pub struct nvmlGpmMetric_t__bindgen_ty_1 {
2628 pub shortName: *mut raw::c_char,
2629 pub longName: *mut raw::c_char,
2630 pub unit: *mut raw::c_char,
2631}
2632#[repr(C)]
2633#[derive(Debug, Copy, Clone)]
2634pub struct nvmlGpmMetricsGet_t {
2635 pub version: raw::c_uint,
2636 pub numMetrics: raw::c_uint,
2637 pub sample1: nvmlGpmSample_t,
2638 pub sample2: nvmlGpmSample_t,
2639 pub metrics: [nvmlGpmMetric_t; 210usize],
2640}
2641#[repr(C)]
2642#[derive(Debug, Copy, Clone)]
2643pub struct nvmlGpmSupport_t {
2644 pub version: raw::c_uint,
2645 pub isSupportedDevice: raw::c_uint,
2646}
2647#[repr(C)]
2648#[derive(Debug, Copy, Clone)]
2649pub struct nvmlDeviceCapabilities_v1_t {
2650 pub version: raw::c_uint,
2651 pub capMask: raw::c_uint,
2652}
2653pub type nvmlDeviceCapabilities_t = nvmlDeviceCapabilities_v1_t;
2654#[repr(C)]
2655#[derive(Debug, Copy, Clone)]
2656pub struct nvmlMask255_t {
2657 pub mask: [raw::c_uint; 8usize],
2658}
2659pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_MAX_P: nvmlPowerProfileType_t = 0;
2660pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_MAX_Q: nvmlPowerProfileType_t = 1;
2661pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_COMPUTE: nvmlPowerProfileType_t = 2;
2662pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_MEMORY_BOUND: nvmlPowerProfileType_t = 3;
2663pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_NETWORK: nvmlPowerProfileType_t = 4;
2664pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_BALANCED: nvmlPowerProfileType_t = 5;
2665pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_LLM_INFERENCE: nvmlPowerProfileType_t = 6;
2666pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_LLM_TRAINING: nvmlPowerProfileType_t = 7;
2667pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_RBM: nvmlPowerProfileType_t = 8;
2668pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_DCPCIE: nvmlPowerProfileType_t = 9;
2669pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_HMMA_SPARSE: nvmlPowerProfileType_t = 10;
2670pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_HMMA_DENSE: nvmlPowerProfileType_t = 11;
2671pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_SYNC_BALANCED: nvmlPowerProfileType_t = 12;
2672pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_HPC: nvmlPowerProfileType_t = 13;
2673pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_MIG: nvmlPowerProfileType_t = 14;
2674pub const nvmlPowerProfileType_t_NVML_POWER_PROFILE_MAX: nvmlPowerProfileType_t = 15;
2675pub type nvmlPowerProfileType_t = raw::c_uint;
2676#[repr(C)]
2677#[derive(Debug, Copy, Clone)]
2678pub struct nvmlWorkloadPowerProfileInfo_v1_t {
2679 pub version: raw::c_uint,
2680 pub profileId: raw::c_uint,
2681 pub priority: raw::c_uint,
2682 pub conflictingMask: nvmlMask255_t,
2683}
2684pub type nvmlWorkloadPowerProfileInfo_t = nvmlWorkloadPowerProfileInfo_v1_t;
2685#[repr(C)]
2686#[derive(Debug, Copy, Clone)]
2687pub struct nvmlWorkloadPowerProfileProfilesInfo_v1_t {
2688 pub version: raw::c_uint,
2689 pub perfProfilesMask: nvmlMask255_t,
2690 pub perfProfile: [nvmlWorkloadPowerProfileInfo_t; 255usize],
2691}
2692pub type nvmlWorkloadPowerProfileProfilesInfo_t = nvmlWorkloadPowerProfileProfilesInfo_v1_t;
2693#[repr(C)]
2694#[derive(Debug, Copy, Clone)]
2695pub struct nvmlWorkloadPowerProfileCurrentProfiles_v1_t {
2696 pub version: raw::c_uint,
2697 pub perfProfilesMask: nvmlMask255_t,
2698 pub requestedProfilesMask: nvmlMask255_t,
2699 pub enforcedProfilesMask: nvmlMask255_t,
2700}
2701pub type nvmlWorkloadPowerProfileCurrentProfiles_t = nvmlWorkloadPowerProfileCurrentProfiles_v1_t;
2702#[repr(C)]
2703#[derive(Debug, Copy, Clone)]
2704pub struct nvmlWorkloadPowerProfileRequestedProfiles_v1_t {
2705 pub version: raw::c_uint,
2706 pub requestedProfilesMask: nvmlMask255_t,
2707}
2708pub type nvmlWorkloadPowerProfileRequestedProfiles_t =
2709 nvmlWorkloadPowerProfileRequestedProfiles_v1_t;
2710#[repr(C)]
2711#[derive(Debug, Copy, Clone)]
2712pub struct nvmlPowerSmoothingProfile_v1_t {
2713 pub version: raw::c_uint,
2714 pub profileId: raw::c_uint,
2715 pub paramId: raw::c_uint,
2716 pub value: f64,
2717}
2718pub type nvmlPowerSmoothingProfile_t = nvmlPowerSmoothingProfile_v1_t;
2719#[repr(C)]
2720#[derive(Debug, Copy, Clone)]
2721pub struct nvmlPowerSmoothingState_v1_t {
2722 pub version: raw::c_uint,
2723 pub state: nvmlEnableState_t,
2724}
2725pub type nvmlPowerSmoothingState_t = nvmlPowerSmoothingState_v1_t;
2726pub struct NvmlLib {
2727 pub __library: ::libloading::Library,
2728 pub nvmlInit_v2: Result<unsafe extern "C" fn() -> nvmlReturn_t, ::libloading::Error>,
2729 pub nvmlInitWithFlags:
2730 Result<unsafe extern "C" fn(flags: raw::c_uint) -> nvmlReturn_t, ::libloading::Error>,
2731 pub nvmlShutdown: Result<unsafe extern "C" fn() -> nvmlReturn_t, ::libloading::Error>,
2732 pub nvmlErrorString: Result<
2733 unsafe extern "C" fn(result: nvmlReturn_t) -> *const raw::c_char,
2734 ::libloading::Error,
2735 >,
2736 pub nvmlSystemGetDriverVersion: Result<
2737 unsafe extern "C" fn(version: *mut raw::c_char, length: raw::c_uint) -> nvmlReturn_t,
2738 ::libloading::Error,
2739 >,
2740 pub nvmlSystemGetNVMLVersion: Result<
2741 unsafe extern "C" fn(version: *mut raw::c_char, length: raw::c_uint) -> nvmlReturn_t,
2742 ::libloading::Error,
2743 >,
2744 pub nvmlSystemGetCudaDriverVersion: Result<
2745 unsafe extern "C" fn(cudaDriverVersion: *mut raw::c_int) -> nvmlReturn_t,
2746 ::libloading::Error,
2747 >,
2748 pub nvmlSystemGetCudaDriverVersion_v2: Result<
2749 unsafe extern "C" fn(cudaDriverVersion: *mut raw::c_int) -> nvmlReturn_t,
2750 ::libloading::Error,
2751 >,
2752 pub nvmlSystemGetProcessName: Result<
2753 unsafe extern "C" fn(
2754 pid: raw::c_uint,
2755 name: *mut raw::c_char,
2756 length: raw::c_uint,
2757 ) -> nvmlReturn_t,
2758 ::libloading::Error,
2759 >,
2760 pub nvmlSystemGetHicVersion: Result<
2761 unsafe extern "C" fn(
2762 hwbcCount: *mut raw::c_uint,
2763 hwbcEntries: *mut nvmlHwbcEntry_t,
2764 ) -> nvmlReturn_t,
2765 ::libloading::Error,
2766 >,
2767 pub nvmlSystemGetTopologyGpuSet: Result<
2768 unsafe extern "C" fn(
2769 cpuNumber: raw::c_uint,
2770 count: *mut raw::c_uint,
2771 deviceArray: *mut nvmlDevice_t,
2772 ) -> nvmlReturn_t,
2773 ::libloading::Error,
2774 >,
2775 pub nvmlSystemGetDriverBranch: Result<
2776 unsafe extern "C" fn(
2777 branchInfo: *mut nvmlSystemDriverBranchInfo_t,
2778 length: raw::c_uint,
2779 ) -> nvmlReturn_t,
2780 ::libloading::Error,
2781 >,
2782 pub nvmlUnitGetCount: Result<
2783 unsafe extern "C" fn(unitCount: *mut raw::c_uint) -> nvmlReturn_t,
2784 ::libloading::Error,
2785 >,
2786 pub nvmlUnitGetHandleByIndex: Result<
2787 unsafe extern "C" fn(index: raw::c_uint, unit: *mut nvmlUnit_t) -> nvmlReturn_t,
2788 ::libloading::Error,
2789 >,
2790 pub nvmlUnitGetUnitInfo: Result<
2791 unsafe extern "C" fn(unit: nvmlUnit_t, info: *mut nvmlUnitInfo_t) -> nvmlReturn_t,
2792 ::libloading::Error,
2793 >,
2794 pub nvmlUnitGetLedState: Result<
2795 unsafe extern "C" fn(unit: nvmlUnit_t, state: *mut nvmlLedState_t) -> nvmlReturn_t,
2796 ::libloading::Error,
2797 >,
2798 pub nvmlUnitGetPsuInfo: Result<
2799 unsafe extern "C" fn(unit: nvmlUnit_t, psu: *mut nvmlPSUInfo_t) -> nvmlReturn_t,
2800 ::libloading::Error,
2801 >,
2802 pub nvmlUnitGetTemperature: Result<
2803 unsafe extern "C" fn(
2804 unit: nvmlUnit_t,
2805 type_: raw::c_uint,
2806 temp: *mut raw::c_uint,
2807 ) -> nvmlReturn_t,
2808 ::libloading::Error,
2809 >,
2810 pub nvmlUnitGetFanSpeedInfo: Result<
2811 unsafe extern "C" fn(unit: nvmlUnit_t, fanSpeeds: *mut nvmlUnitFanSpeeds_t) -> nvmlReturn_t,
2812 ::libloading::Error,
2813 >,
2814 pub nvmlUnitGetDevices: Result<
2815 unsafe extern "C" fn(
2816 unit: nvmlUnit_t,
2817 deviceCount: *mut raw::c_uint,
2818 devices: *mut nvmlDevice_t,
2819 ) -> nvmlReturn_t,
2820 ::libloading::Error,
2821 >,
2822 pub nvmlDeviceGetCount_v2: Result<
2823 unsafe extern "C" fn(deviceCount: *mut raw::c_uint) -> nvmlReturn_t,
2824 ::libloading::Error,
2825 >,
2826 pub nvmlDeviceGetAttributes_v2: Result<
2827 unsafe extern "C" fn(
2828 device: nvmlDevice_t,
2829 attributes: *mut nvmlDeviceAttributes_t,
2830 ) -> nvmlReturn_t,
2831 ::libloading::Error,
2832 >,
2833 pub nvmlDeviceGetHandleByIndex_v2: Result<
2834 unsafe extern "C" fn(index: raw::c_uint, device: *mut nvmlDevice_t) -> nvmlReturn_t,
2835 ::libloading::Error,
2836 >,
2837 pub nvmlDeviceGetHandleBySerial: Result<
2838 unsafe extern "C" fn(serial: *const raw::c_char, device: *mut nvmlDevice_t) -> nvmlReturn_t,
2839 ::libloading::Error,
2840 >,
2841 pub nvmlDeviceGetHandleByUUID: Result<
2842 unsafe extern "C" fn(uuid: *const raw::c_char, device: *mut nvmlDevice_t) -> nvmlReturn_t,
2843 ::libloading::Error,
2844 >,
2845 pub nvmlDeviceGetHandleByUUIDV: Result<
2846 unsafe extern "C" fn(uuid: *const nvmlUUID_t, device: *mut nvmlDevice_t) -> nvmlReturn_t,
2847 ::libloading::Error,
2848 >,
2849 pub nvmlDeviceGetHandleByPciBusId_v2: Result<
2850 unsafe extern "C" fn(
2851 pciBusId: *const raw::c_char,
2852 device: *mut nvmlDevice_t,
2853 ) -> nvmlReturn_t,
2854 ::libloading::Error,
2855 >,
2856 pub nvmlDeviceGetName: Result<
2857 unsafe extern "C" fn(
2858 device: nvmlDevice_t,
2859 name: *mut raw::c_char,
2860 length: raw::c_uint,
2861 ) -> nvmlReturn_t,
2862 ::libloading::Error,
2863 >,
2864 pub nvmlDeviceGetBrand: Result<
2865 unsafe extern "C" fn(device: nvmlDevice_t, type_: *mut nvmlBrandType_t) -> nvmlReturn_t,
2866 ::libloading::Error,
2867 >,
2868 pub nvmlDeviceGetIndex: Result<
2869 unsafe extern "C" fn(device: nvmlDevice_t, index: *mut raw::c_uint) -> nvmlReturn_t,
2870 ::libloading::Error,
2871 >,
2872 pub nvmlDeviceGetSerial: Result<
2873 unsafe extern "C" fn(
2874 device: nvmlDevice_t,
2875 serial: *mut raw::c_char,
2876 length: raw::c_uint,
2877 ) -> nvmlReturn_t,
2878 ::libloading::Error,
2879 >,
2880 pub nvmlDeviceGetModuleId: Result<
2881 unsafe extern "C" fn(device: nvmlDevice_t, moduleId: *mut raw::c_uint) -> nvmlReturn_t,
2882 ::libloading::Error,
2883 >,
2884 pub nvmlDeviceGetC2cModeInfoV: Result<
2885 unsafe extern "C" fn(
2886 device: nvmlDevice_t,
2887 c2cModeInfo: *mut nvmlC2cModeInfo_v1_t,
2888 ) -> nvmlReturn_t,
2889 ::libloading::Error,
2890 >,
2891 pub nvmlDeviceGetMemoryAffinity: Result<
2892 unsafe extern "C" fn(
2893 device: nvmlDevice_t,
2894 nodeSetSize: raw::c_uint,
2895 nodeSet: *mut raw::c_ulong,
2896 scope: nvmlAffinityScope_t,
2897 ) -> nvmlReturn_t,
2898 ::libloading::Error,
2899 >,
2900 pub nvmlDeviceGetCpuAffinityWithinScope: Result<
2901 unsafe extern "C" fn(
2902 device: nvmlDevice_t,
2903 cpuSetSize: raw::c_uint,
2904 cpuSet: *mut raw::c_ulong,
2905 scope: nvmlAffinityScope_t,
2906 ) -> nvmlReturn_t,
2907 ::libloading::Error,
2908 >,
2909 pub nvmlDeviceGetCpuAffinity: Result<
2910 unsafe extern "C" fn(
2911 device: nvmlDevice_t,
2912 cpuSetSize: raw::c_uint,
2913 cpuSet: *mut raw::c_ulong,
2914 ) -> nvmlReturn_t,
2915 ::libloading::Error,
2916 >,
2917 pub nvmlDeviceSetCpuAffinity:
2918 Result<unsafe extern "C" fn(device: nvmlDevice_t) -> nvmlReturn_t, ::libloading::Error>,
2919 pub nvmlDeviceClearCpuAffinity:
2920 Result<unsafe extern "C" fn(device: nvmlDevice_t) -> nvmlReturn_t, ::libloading::Error>,
2921 pub nvmlDeviceGetNumaNodeId: Result<
2922 unsafe extern "C" fn(device: nvmlDevice_t, node: *mut raw::c_uint) -> nvmlReturn_t,
2923 ::libloading::Error,
2924 >,
2925 pub nvmlDeviceGetAddressingMode: Result<
2926 unsafe extern "C" fn(
2927 device: nvmlDevice_t,
2928 mode: *mut nvmlDeviceAddressingMode_t,
2929 ) -> nvmlReturn_t,
2930 ::libloading::Error,
2931 >,
2932 pub nvmlDeviceGetRepairStatus: Result<
2933 unsafe extern "C" fn(
2934 device: nvmlDevice_t,
2935 repairStatus: *mut nvmlRepairStatus_t,
2936 ) -> nvmlReturn_t,
2937 ::libloading::Error,
2938 >,
2939 pub nvmlDeviceGetTopologyCommonAncestor: Result<
2940 unsafe extern "C" fn(
2941 device1: nvmlDevice_t,
2942 device2: nvmlDevice_t,
2943 pathInfo: *mut nvmlGpuTopologyLevel_t,
2944 ) -> nvmlReturn_t,
2945 ::libloading::Error,
2946 >,
2947 pub nvmlDeviceGetTopologyNearestGpus: Result<
2948 unsafe extern "C" fn(
2949 device: nvmlDevice_t,
2950 level: nvmlGpuTopologyLevel_t,
2951 count: *mut raw::c_uint,
2952 deviceArray: *mut nvmlDevice_t,
2953 ) -> nvmlReturn_t,
2954 ::libloading::Error,
2955 >,
2956 pub nvmlDeviceGetP2PStatus: Result<
2957 unsafe extern "C" fn(
2958 device1: nvmlDevice_t,
2959 device2: nvmlDevice_t,
2960 p2pIndex: nvmlGpuP2PCapsIndex_t,
2961 p2pStatus: *mut nvmlGpuP2PStatus_t,
2962 ) -> nvmlReturn_t,
2963 ::libloading::Error,
2964 >,
2965 pub nvmlDeviceGetUUID: Result<
2966 unsafe extern "C" fn(
2967 device: nvmlDevice_t,
2968 uuid: *mut raw::c_char,
2969 length: raw::c_uint,
2970 ) -> nvmlReturn_t,
2971 ::libloading::Error,
2972 >,
2973 pub nvmlDeviceGetMinorNumber: Result<
2974 unsafe extern "C" fn(device: nvmlDevice_t, minorNumber: *mut raw::c_uint) -> nvmlReturn_t,
2975 ::libloading::Error,
2976 >,
2977 pub nvmlDeviceGetBoardPartNumber: Result<
2978 unsafe extern "C" fn(
2979 device: nvmlDevice_t,
2980 partNumber: *mut raw::c_char,
2981 length: raw::c_uint,
2982 ) -> nvmlReturn_t,
2983 ::libloading::Error,
2984 >,
2985 pub nvmlDeviceGetInforomVersion: Result<
2986 unsafe extern "C" fn(
2987 device: nvmlDevice_t,
2988 object: nvmlInforomObject_t,
2989 version: *mut raw::c_char,
2990 length: raw::c_uint,
2991 ) -> nvmlReturn_t,
2992 ::libloading::Error,
2993 >,
2994 pub nvmlDeviceGetInforomImageVersion: Result<
2995 unsafe extern "C" fn(
2996 device: nvmlDevice_t,
2997 version: *mut raw::c_char,
2998 length: raw::c_uint,
2999 ) -> nvmlReturn_t,
3000 ::libloading::Error,
3001 >,
3002 pub nvmlDeviceGetInforomConfigurationChecksum: Result<
3003 unsafe extern "C" fn(device: nvmlDevice_t, checksum: *mut raw::c_uint) -> nvmlReturn_t,
3004 ::libloading::Error,
3005 >,
3006 pub nvmlDeviceValidateInforom:
3007 Result<unsafe extern "C" fn(device: nvmlDevice_t) -> nvmlReturn_t, ::libloading::Error>,
3008 pub nvmlDeviceGetLastBBXFlushTime: Result<
3009 unsafe extern "C" fn(
3010 device: nvmlDevice_t,
3011 timestamp: *mut raw::c_ulonglong,
3012 durationUs: *mut raw::c_ulong,
3013 ) -> nvmlReturn_t,
3014 ::libloading::Error,
3015 >,
3016 pub nvmlDeviceGetDisplayMode: Result<
3017 unsafe extern "C" fn(device: nvmlDevice_t, display: *mut nvmlEnableState_t) -> nvmlReturn_t,
3018 ::libloading::Error,
3019 >,
3020 pub nvmlDeviceGetDisplayActive: Result<
3021 unsafe extern "C" fn(
3022 device: nvmlDevice_t,
3023 isActive: *mut nvmlEnableState_t,
3024 ) -> nvmlReturn_t,
3025 ::libloading::Error,
3026 >,
3027 pub nvmlDeviceGetPersistenceMode: Result<
3028 unsafe extern "C" fn(device: nvmlDevice_t, mode: *mut nvmlEnableState_t) -> nvmlReturn_t,
3029 ::libloading::Error,
3030 >,
3031 pub nvmlDeviceGetPciInfoExt: Result<
3032 unsafe extern "C" fn(device: nvmlDevice_t, pci: *mut nvmlPciInfoExt_t) -> nvmlReturn_t,
3033 ::libloading::Error,
3034 >,
3035 pub nvmlDeviceGetPciInfo_v3: Result<
3036 unsafe extern "C" fn(device: nvmlDevice_t, pci: *mut nvmlPciInfo_t) -> nvmlReturn_t,
3037 ::libloading::Error,
3038 >,
3039 pub nvmlDeviceGetMaxPcieLinkGeneration: Result<
3040 unsafe extern "C" fn(device: nvmlDevice_t, maxLinkGen: *mut raw::c_uint) -> nvmlReturn_t,
3041 ::libloading::Error,
3042 >,
3043 pub nvmlDeviceGetGpuMaxPcieLinkGeneration: Result<
3044 unsafe extern "C" fn(
3045 device: nvmlDevice_t,
3046 maxLinkGenDevice: *mut raw::c_uint,
3047 ) -> nvmlReturn_t,
3048 ::libloading::Error,
3049 >,
3050 pub nvmlDeviceGetMaxPcieLinkWidth: Result<
3051 unsafe extern "C" fn(device: nvmlDevice_t, maxLinkWidth: *mut raw::c_uint) -> nvmlReturn_t,
3052 ::libloading::Error,
3053 >,
3054 pub nvmlDeviceGetCurrPcieLinkGeneration: Result<
3055 unsafe extern "C" fn(device: nvmlDevice_t, currLinkGen: *mut raw::c_uint) -> nvmlReturn_t,
3056 ::libloading::Error,
3057 >,
3058 pub nvmlDeviceGetCurrPcieLinkWidth: Result<
3059 unsafe extern "C" fn(device: nvmlDevice_t, currLinkWidth: *mut raw::c_uint) -> nvmlReturn_t,
3060 ::libloading::Error,
3061 >,
3062 pub nvmlDeviceGetPcieThroughput: Result<
3063 unsafe extern "C" fn(
3064 device: nvmlDevice_t,
3065 counter: nvmlPcieUtilCounter_t,
3066 value: *mut raw::c_uint,
3067 ) -> nvmlReturn_t,
3068 ::libloading::Error,
3069 >,
3070 pub nvmlDeviceGetPcieReplayCounter: Result<
3071 unsafe extern "C" fn(device: nvmlDevice_t, value: *mut raw::c_uint) -> nvmlReturn_t,
3072 ::libloading::Error,
3073 >,
3074 pub nvmlDeviceGetClockInfo: Result<
3075 unsafe extern "C" fn(
3076 device: nvmlDevice_t,
3077 type_: nvmlClockType_t,
3078 clock: *mut raw::c_uint,
3079 ) -> nvmlReturn_t,
3080 ::libloading::Error,
3081 >,
3082 pub nvmlDeviceGetMaxClockInfo: Result<
3083 unsafe extern "C" fn(
3084 device: nvmlDevice_t,
3085 type_: nvmlClockType_t,
3086 clock: *mut raw::c_uint,
3087 ) -> nvmlReturn_t,
3088 ::libloading::Error,
3089 >,
3090 pub nvmlDeviceGetGpcClkVfOffset: Result<
3091 unsafe extern "C" fn(device: nvmlDevice_t, offset: *mut raw::c_int) -> nvmlReturn_t,
3092 ::libloading::Error,
3093 >,
3094 pub nvmlDeviceGetApplicationsClock: Result<
3095 unsafe extern "C" fn(
3096 device: nvmlDevice_t,
3097 clockType: nvmlClockType_t,
3098 clockMHz: *mut raw::c_uint,
3099 ) -> nvmlReturn_t,
3100 ::libloading::Error,
3101 >,
3102 pub nvmlDeviceGetDefaultApplicationsClock: Result<
3103 unsafe extern "C" fn(
3104 device: nvmlDevice_t,
3105 clockType: nvmlClockType_t,
3106 clockMHz: *mut raw::c_uint,
3107 ) -> nvmlReturn_t,
3108 ::libloading::Error,
3109 >,
3110 pub nvmlDeviceGetClock: Result<
3111 unsafe extern "C" fn(
3112 device: nvmlDevice_t,
3113 clockType: nvmlClockType_t,
3114 clockId: nvmlClockId_t,
3115 clockMHz: *mut raw::c_uint,
3116 ) -> nvmlReturn_t,
3117 ::libloading::Error,
3118 >,
3119 pub nvmlDeviceGetMaxCustomerBoostClock: Result<
3120 unsafe extern "C" fn(
3121 device: nvmlDevice_t,
3122 clockType: nvmlClockType_t,
3123 clockMHz: *mut raw::c_uint,
3124 ) -> nvmlReturn_t,
3125 ::libloading::Error,
3126 >,
3127 pub nvmlDeviceGetSupportedMemoryClocks: Result<
3128 unsafe extern "C" fn(
3129 device: nvmlDevice_t,
3130 count: *mut raw::c_uint,
3131 clocksMHz: *mut raw::c_uint,
3132 ) -> nvmlReturn_t,
3133 ::libloading::Error,
3134 >,
3135 pub nvmlDeviceGetSupportedGraphicsClocks: Result<
3136 unsafe extern "C" fn(
3137 device: nvmlDevice_t,
3138 memoryClockMHz: raw::c_uint,
3139 count: *mut raw::c_uint,
3140 clocksMHz: *mut raw::c_uint,
3141 ) -> nvmlReturn_t,
3142 ::libloading::Error,
3143 >,
3144 pub nvmlDeviceGetAutoBoostedClocksEnabled: Result<
3145 unsafe extern "C" fn(
3146 device: nvmlDevice_t,
3147 isEnabled: *mut nvmlEnableState_t,
3148 defaultIsEnabled: *mut nvmlEnableState_t,
3149 ) -> nvmlReturn_t,
3150 ::libloading::Error,
3151 >,
3152 pub nvmlDeviceGetFanSpeed: Result<
3153 unsafe extern "C" fn(device: nvmlDevice_t, speed: *mut raw::c_uint) -> nvmlReturn_t,
3154 ::libloading::Error,
3155 >,
3156 pub nvmlDeviceGetFanSpeed_v2: Result<
3157 unsafe extern "C" fn(
3158 device: nvmlDevice_t,
3159 fan: raw::c_uint,
3160 speed: *mut raw::c_uint,
3161 ) -> nvmlReturn_t,
3162 ::libloading::Error,
3163 >,
3164 pub nvmlDeviceGetFanSpeedRPM: Result<
3165 unsafe extern "C" fn(
3166 device: nvmlDevice_t,
3167 fanSpeed: *mut nvmlFanSpeedInfo_t,
3168 ) -> nvmlReturn_t,
3169 ::libloading::Error,
3170 >,
3171 pub nvmlDeviceGetTargetFanSpeed: Result<
3172 unsafe extern "C" fn(
3173 device: nvmlDevice_t,
3174 fan: raw::c_uint,
3175 targetSpeed: *mut raw::c_uint,
3176 ) -> nvmlReturn_t,
3177 ::libloading::Error,
3178 >,
3179 pub nvmlDeviceGetMinMaxFanSpeed: Result<
3180 unsafe extern "C" fn(
3181 device: nvmlDevice_t,
3182 minSpeed: *mut raw::c_uint,
3183 maxSpeed: *mut raw::c_uint,
3184 ) -> nvmlReturn_t,
3185 ::libloading::Error,
3186 >,
3187 pub nvmlDeviceGetFanControlPolicy_v2: Result<
3188 unsafe extern "C" fn(
3189 device: nvmlDevice_t,
3190 fan: raw::c_uint,
3191 policy: *mut nvmlFanControlPolicy_t,
3192 ) -> nvmlReturn_t,
3193 ::libloading::Error,
3194 >,
3195 pub nvmlDeviceGetNumFans: Result<
3196 unsafe extern "C" fn(device: nvmlDevice_t, numFans: *mut raw::c_uint) -> nvmlReturn_t,
3197 ::libloading::Error,
3198 >,
3199 pub nvmlDeviceGetTemperature: Result<
3200 unsafe extern "C" fn(
3201 device: nvmlDevice_t,
3202 sensorType: nvmlTemperatureSensors_t,
3203 temp: *mut raw::c_uint,
3204 ) -> nvmlReturn_t,
3205 ::libloading::Error,
3206 >,
3207 pub nvmlDeviceGetCoolerInfo: Result<
3208 unsafe extern "C" fn(
3209 device: nvmlDevice_t,
3210 coolerInfo: *mut nvmlCoolerInfo_t,
3211 ) -> nvmlReturn_t,
3212 ::libloading::Error,
3213 >,
3214 pub nvmlDeviceGetTemperatureV: Result<
3215 unsafe extern "C" fn(
3216 device: nvmlDevice_t,
3217 temperature: *mut nvmlTemperature_t,
3218 ) -> nvmlReturn_t,
3219 ::libloading::Error,
3220 >,
3221 pub nvmlDeviceGetTemperatureThreshold: Result<
3222 unsafe extern "C" fn(
3223 device: nvmlDevice_t,
3224 thresholdType: nvmlTemperatureThresholds_t,
3225 temp: *mut raw::c_uint,
3226 ) -> nvmlReturn_t,
3227 ::libloading::Error,
3228 >,
3229 pub nvmlDeviceGetMarginTemperature: Result<
3230 unsafe extern "C" fn(
3231 device: nvmlDevice_t,
3232 marginTempInfo: *mut nvmlMarginTemperature_t,
3233 ) -> nvmlReturn_t,
3234 ::libloading::Error,
3235 >,
3236 pub nvmlDeviceGetThermalSettings: Result<
3237 unsafe extern "C" fn(
3238 device: nvmlDevice_t,
3239 sensorIndex: raw::c_uint,
3240 pThermalSettings: *mut nvmlGpuThermalSettings_t,
3241 ) -> nvmlReturn_t,
3242 ::libloading::Error,
3243 >,
3244 pub nvmlDeviceGetPerformanceState: Result<
3245 unsafe extern "C" fn(device: nvmlDevice_t, pState: *mut nvmlPstates_t) -> nvmlReturn_t,
3246 ::libloading::Error,
3247 >,
3248 pub nvmlDeviceGetCurrentClocksEventReasons: Result<
3249 unsafe extern "C" fn(
3250 device: nvmlDevice_t,
3251 clocksEventReasons: *mut raw::c_ulonglong,
3252 ) -> nvmlReturn_t,
3253 ::libloading::Error,
3254 >,
3255 pub nvmlDeviceGetCurrentClocksThrottleReasons: Result<
3256 unsafe extern "C" fn(
3257 device: nvmlDevice_t,
3258 clocksThrottleReasons: *mut raw::c_ulonglong,
3259 ) -> nvmlReturn_t,
3260 ::libloading::Error,
3261 >,
3262 pub nvmlDeviceGetSupportedClocksEventReasons: Result<
3263 unsafe extern "C" fn(
3264 device: nvmlDevice_t,
3265 supportedClocksEventReasons: *mut raw::c_ulonglong,
3266 ) -> nvmlReturn_t,
3267 ::libloading::Error,
3268 >,
3269 pub nvmlDeviceGetSupportedClocksThrottleReasons: Result<
3270 unsafe extern "C" fn(
3271 device: nvmlDevice_t,
3272 supportedClocksThrottleReasons: *mut raw::c_ulonglong,
3273 ) -> nvmlReturn_t,
3274 ::libloading::Error,
3275 >,
3276 pub nvmlDeviceGetPowerState: Result<
3277 unsafe extern "C" fn(device: nvmlDevice_t, pState: *mut nvmlPstates_t) -> nvmlReturn_t,
3278 ::libloading::Error,
3279 >,
3280 pub nvmlDeviceGetDynamicPstatesInfo: Result<
3281 unsafe extern "C" fn(
3282 device: nvmlDevice_t,
3283 pDynamicPstatesInfo: *mut nvmlGpuDynamicPstatesInfo_t,
3284 ) -> nvmlReturn_t,
3285 ::libloading::Error,
3286 >,
3287 pub nvmlDeviceGetMemClkVfOffset: Result<
3288 unsafe extern "C" fn(device: nvmlDevice_t, offset: *mut raw::c_int) -> nvmlReturn_t,
3289 ::libloading::Error,
3290 >,
3291 pub nvmlDeviceGetMinMaxClockOfPState: Result<
3292 unsafe extern "C" fn(
3293 device: nvmlDevice_t,
3294 type_: nvmlClockType_t,
3295 pstate: nvmlPstates_t,
3296 minClockMHz: *mut raw::c_uint,
3297 maxClockMHz: *mut raw::c_uint,
3298 ) -> nvmlReturn_t,
3299 ::libloading::Error,
3300 >,
3301 pub nvmlDeviceGetSupportedPerformanceStates: Result<
3302 unsafe extern "C" fn(
3303 device: nvmlDevice_t,
3304 pstates: *mut nvmlPstates_t,
3305 size: raw::c_uint,
3306 ) -> nvmlReturn_t,
3307 ::libloading::Error,
3308 >,
3309 pub nvmlDeviceGetGpcClkMinMaxVfOffset: Result<
3310 unsafe extern "C" fn(
3311 device: nvmlDevice_t,
3312 minOffset: *mut raw::c_int,
3313 maxOffset: *mut raw::c_int,
3314 ) -> nvmlReturn_t,
3315 ::libloading::Error,
3316 >,
3317 pub nvmlDeviceGetMemClkMinMaxVfOffset: Result<
3318 unsafe extern "C" fn(
3319 device: nvmlDevice_t,
3320 minOffset: *mut raw::c_int,
3321 maxOffset: *mut raw::c_int,
3322 ) -> nvmlReturn_t,
3323 ::libloading::Error,
3324 >,
3325 pub nvmlDeviceGetClockOffsets: Result<
3326 unsafe extern "C" fn(device: nvmlDevice_t, info: *mut nvmlClockOffset_t) -> nvmlReturn_t,
3327 ::libloading::Error,
3328 >,
3329 pub nvmlDeviceSetClockOffsets: Result<
3330 unsafe extern "C" fn(device: nvmlDevice_t, info: *mut nvmlClockOffset_t) -> nvmlReturn_t,
3331 ::libloading::Error,
3332 >,
3333 pub nvmlDeviceGetPerformanceModes: Result<
3334 unsafe extern "C" fn(
3335 device: nvmlDevice_t,
3336 perfModes: *mut nvmlDevicePerfModes_t,
3337 ) -> nvmlReturn_t,
3338 ::libloading::Error,
3339 >,
3340 pub nvmlDeviceGetCurrentClockFreqs: Result<
3341 unsafe extern "C" fn(
3342 device: nvmlDevice_t,
3343 currentClockFreqs: *mut nvmlDeviceCurrentClockFreqs_t,
3344 ) -> nvmlReturn_t,
3345 ::libloading::Error,
3346 >,
3347 pub nvmlDeviceGetPowerManagementMode: Result<
3348 unsafe extern "C" fn(device: nvmlDevice_t, mode: *mut nvmlEnableState_t) -> nvmlReturn_t,
3349 ::libloading::Error,
3350 >,
3351 pub nvmlDeviceGetPowerManagementLimit: Result<
3352 unsafe extern "C" fn(device: nvmlDevice_t, limit: *mut raw::c_uint) -> nvmlReturn_t,
3353 ::libloading::Error,
3354 >,
3355 pub nvmlDeviceGetPowerManagementLimitConstraints: Result<
3356 unsafe extern "C" fn(
3357 device: nvmlDevice_t,
3358 minLimit: *mut raw::c_uint,
3359 maxLimit: *mut raw::c_uint,
3360 ) -> nvmlReturn_t,
3361 ::libloading::Error,
3362 >,
3363 pub nvmlDeviceGetPowerManagementDefaultLimit: Result<
3364 unsafe extern "C" fn(device: nvmlDevice_t, defaultLimit: *mut raw::c_uint) -> nvmlReturn_t,
3365 ::libloading::Error,
3366 >,
3367 pub nvmlDeviceGetPowerUsage: Result<
3368 unsafe extern "C" fn(device: nvmlDevice_t, power: *mut raw::c_uint) -> nvmlReturn_t,
3369 ::libloading::Error,
3370 >,
3371 pub nvmlDeviceGetPowerMizerMode_v1: Result<
3372 unsafe extern "C" fn(
3373 device: nvmlDevice_t,
3374 powerMizerMode: *mut nvmlDevicePowerMizerModes_v1_t,
3375 ) -> nvmlReturn_t,
3376 ::libloading::Error,
3377 >,
3378 pub nvmlDeviceSetPowerMizerMode_v1: Result<
3379 unsafe extern "C" fn(
3380 device: nvmlDevice_t,
3381 powerMizerMode: *mut nvmlDevicePowerMizerModes_v1_t,
3382 ) -> nvmlReturn_t,
3383 ::libloading::Error,
3384 >,
3385 pub nvmlDeviceGetTotalEnergyConsumption: Result<
3386 unsafe extern "C" fn(device: nvmlDevice_t, energy: *mut raw::c_ulonglong) -> nvmlReturn_t,
3387 ::libloading::Error,
3388 >,
3389 pub nvmlDeviceGetEnforcedPowerLimit: Result<
3390 unsafe extern "C" fn(device: nvmlDevice_t, limit: *mut raw::c_uint) -> nvmlReturn_t,
3391 ::libloading::Error,
3392 >,
3393 pub nvmlDeviceGetGpuOperationMode: Result<
3394 unsafe extern "C" fn(
3395 device: nvmlDevice_t,
3396 current: *mut nvmlGpuOperationMode_t,
3397 pending: *mut nvmlGpuOperationMode_t,
3398 ) -> nvmlReturn_t,
3399 ::libloading::Error,
3400 >,
3401 pub nvmlDeviceGetMemoryInfo: Result<
3402 unsafe extern "C" fn(device: nvmlDevice_t, memory: *mut nvmlMemory_t) -> nvmlReturn_t,
3403 ::libloading::Error,
3404 >,
3405 pub nvmlDeviceGetMemoryInfo_v2: Result<
3406 unsafe extern "C" fn(device: nvmlDevice_t, memory: *mut nvmlMemory_v2_t) -> nvmlReturn_t,
3407 ::libloading::Error,
3408 >,
3409 pub nvmlDeviceGetComputeMode: Result<
3410 unsafe extern "C" fn(device: nvmlDevice_t, mode: *mut nvmlComputeMode_t) -> nvmlReturn_t,
3411 ::libloading::Error,
3412 >,
3413 pub nvmlDeviceGetCudaComputeCapability: Result<
3414 unsafe extern "C" fn(
3415 device: nvmlDevice_t,
3416 major: *mut raw::c_int,
3417 minor: *mut raw::c_int,
3418 ) -> nvmlReturn_t,
3419 ::libloading::Error,
3420 >,
3421 pub nvmlDeviceGetDramEncryptionMode: Result<
3422 unsafe extern "C" fn(
3423 device: nvmlDevice_t,
3424 current: *mut nvmlDramEncryptionInfo_t,
3425 pending: *mut nvmlDramEncryptionInfo_t,
3426 ) -> nvmlReturn_t,
3427 ::libloading::Error,
3428 >,
3429 pub nvmlDeviceSetDramEncryptionMode: Result<
3430 unsafe extern "C" fn(
3431 device: nvmlDevice_t,
3432 dramEncryption: *const nvmlDramEncryptionInfo_t,
3433 ) -> nvmlReturn_t,
3434 ::libloading::Error,
3435 >,
3436 pub nvmlDeviceGetEccMode: Result<
3437 unsafe extern "C" fn(
3438 device: nvmlDevice_t,
3439 current: *mut nvmlEnableState_t,
3440 pending: *mut nvmlEnableState_t,
3441 ) -> nvmlReturn_t,
3442 ::libloading::Error,
3443 >,
3444 pub nvmlDeviceGetDefaultEccMode: Result<
3445 unsafe extern "C" fn(
3446 device: nvmlDevice_t,
3447 defaultMode: *mut nvmlEnableState_t,
3448 ) -> nvmlReturn_t,
3449 ::libloading::Error,
3450 >,
3451 pub nvmlDeviceGetBoardId: Result<
3452 unsafe extern "C" fn(device: nvmlDevice_t, boardId: *mut raw::c_uint) -> nvmlReturn_t,
3453 ::libloading::Error,
3454 >,
3455 pub nvmlDeviceGetMultiGpuBoard: Result<
3456 unsafe extern "C" fn(device: nvmlDevice_t, multiGpuBool: *mut raw::c_uint) -> nvmlReturn_t,
3457 ::libloading::Error,
3458 >,
3459 pub nvmlDeviceGetTotalEccErrors: Result<
3460 unsafe extern "C" fn(
3461 device: nvmlDevice_t,
3462 errorType: nvmlMemoryErrorType_t,
3463 counterType: nvmlEccCounterType_t,
3464 eccCounts: *mut raw::c_ulonglong,
3465 ) -> nvmlReturn_t,
3466 ::libloading::Error,
3467 >,
3468 pub nvmlDeviceGetDetailedEccErrors: Result<
3469 unsafe extern "C" fn(
3470 device: nvmlDevice_t,
3471 errorType: nvmlMemoryErrorType_t,
3472 counterType: nvmlEccCounterType_t,
3473 eccCounts: *mut nvmlEccErrorCounts_t,
3474 ) -> nvmlReturn_t,
3475 ::libloading::Error,
3476 >,
3477 pub nvmlDeviceGetMemoryErrorCounter: Result<
3478 unsafe extern "C" fn(
3479 device: nvmlDevice_t,
3480 errorType: nvmlMemoryErrorType_t,
3481 counterType: nvmlEccCounterType_t,
3482 locationType: nvmlMemoryLocation_t,
3483 count: *mut raw::c_ulonglong,
3484 ) -> nvmlReturn_t,
3485 ::libloading::Error,
3486 >,
3487 pub nvmlDeviceGetUtilizationRates: Result<
3488 unsafe extern "C" fn(
3489 device: nvmlDevice_t,
3490 utilization: *mut nvmlUtilization_t,
3491 ) -> nvmlReturn_t,
3492 ::libloading::Error,
3493 >,
3494 pub nvmlDeviceGetEncoderUtilization: Result<
3495 unsafe extern "C" fn(
3496 device: nvmlDevice_t,
3497 utilization: *mut raw::c_uint,
3498 samplingPeriodUs: *mut raw::c_uint,
3499 ) -> nvmlReturn_t,
3500 ::libloading::Error,
3501 >,
3502 pub nvmlDeviceGetEncoderCapacity: Result<
3503 unsafe extern "C" fn(
3504 device: nvmlDevice_t,
3505 encoderQueryType: nvmlEncoderType_t,
3506 encoderCapacity: *mut raw::c_uint,
3507 ) -> nvmlReturn_t,
3508 ::libloading::Error,
3509 >,
3510 pub nvmlDeviceGetEncoderStats: Result<
3511 unsafe extern "C" fn(
3512 device: nvmlDevice_t,
3513 sessionCount: *mut raw::c_uint,
3514 averageFps: *mut raw::c_uint,
3515 averageLatency: *mut raw::c_uint,
3516 ) -> nvmlReturn_t,
3517 ::libloading::Error,
3518 >,
3519 pub nvmlDeviceGetEncoderSessions: Result<
3520 unsafe extern "C" fn(
3521 device: nvmlDevice_t,
3522 sessionCount: *mut raw::c_uint,
3523 sessionInfos: *mut nvmlEncoderSessionInfo_t,
3524 ) -> nvmlReturn_t,
3525 ::libloading::Error,
3526 >,
3527 pub nvmlDeviceGetDecoderUtilization: Result<
3528 unsafe extern "C" fn(
3529 device: nvmlDevice_t,
3530 utilization: *mut raw::c_uint,
3531 samplingPeriodUs: *mut raw::c_uint,
3532 ) -> nvmlReturn_t,
3533 ::libloading::Error,
3534 >,
3535 pub nvmlDeviceGetJpgUtilization: Result<
3536 unsafe extern "C" fn(
3537 device: nvmlDevice_t,
3538 utilization: *mut raw::c_uint,
3539 samplingPeriodUs: *mut raw::c_uint,
3540 ) -> nvmlReturn_t,
3541 ::libloading::Error,
3542 >,
3543 pub nvmlDeviceGetOfaUtilization: Result<
3544 unsafe extern "C" fn(
3545 device: nvmlDevice_t,
3546 utilization: *mut raw::c_uint,
3547 samplingPeriodUs: *mut raw::c_uint,
3548 ) -> nvmlReturn_t,
3549 ::libloading::Error,
3550 >,
3551 pub nvmlDeviceGetFBCStats: Result<
3552 unsafe extern "C" fn(device: nvmlDevice_t, fbcStats: *mut nvmlFBCStats_t) -> nvmlReturn_t,
3553 ::libloading::Error,
3554 >,
3555 pub nvmlDeviceGetFBCSessions: Result<
3556 unsafe extern "C" fn(
3557 device: nvmlDevice_t,
3558 sessionCount: *mut raw::c_uint,
3559 sessionInfo: *mut nvmlFBCSessionInfo_t,
3560 ) -> nvmlReturn_t,
3561 ::libloading::Error,
3562 >,
3563 pub nvmlDeviceGetDriverModel_v2: Result<
3564 unsafe extern "C" fn(
3565 device: nvmlDevice_t,
3566 current: *mut nvmlDriverModel_t,
3567 pending: *mut nvmlDriverModel_t,
3568 ) -> nvmlReturn_t,
3569 ::libloading::Error,
3570 >,
3571 pub nvmlDeviceGetVbiosVersion: Result<
3572 unsafe extern "C" fn(
3573 device: nvmlDevice_t,
3574 version: *mut raw::c_char,
3575 length: raw::c_uint,
3576 ) -> nvmlReturn_t,
3577 ::libloading::Error,
3578 >,
3579 pub nvmlDeviceGetBridgeChipInfo: Result<
3580 unsafe extern "C" fn(
3581 device: nvmlDevice_t,
3582 bridgeHierarchy: *mut nvmlBridgeChipHierarchy_t,
3583 ) -> nvmlReturn_t,
3584 ::libloading::Error,
3585 >,
3586 pub nvmlDeviceGetComputeRunningProcesses_v3: Result<
3587 unsafe extern "C" fn(
3588 device: nvmlDevice_t,
3589 infoCount: *mut raw::c_uint,
3590 infos: *mut nvmlProcessInfo_t,
3591 ) -> nvmlReturn_t,
3592 ::libloading::Error,
3593 >,
3594 pub nvmlDeviceGetGraphicsRunningProcesses_v3: Result<
3595 unsafe extern "C" fn(
3596 device: nvmlDevice_t,
3597 infoCount: *mut raw::c_uint,
3598 infos: *mut nvmlProcessInfo_t,
3599 ) -> nvmlReturn_t,
3600 ::libloading::Error,
3601 >,
3602 pub nvmlDeviceGetMPSComputeRunningProcesses_v3: Result<
3603 unsafe extern "C" fn(
3604 device: nvmlDevice_t,
3605 infoCount: *mut raw::c_uint,
3606 infos: *mut nvmlProcessInfo_t,
3607 ) -> nvmlReturn_t,
3608 ::libloading::Error,
3609 >,
3610 pub nvmlDeviceGetRunningProcessDetailList: Result<
3611 unsafe extern "C" fn(
3612 device: nvmlDevice_t,
3613 plist: *mut nvmlProcessDetailList_t,
3614 ) -> nvmlReturn_t,
3615 ::libloading::Error,
3616 >,
3617 pub nvmlDeviceOnSameBoard: Result<
3618 unsafe extern "C" fn(
3619 device1: nvmlDevice_t,
3620 device2: nvmlDevice_t,
3621 onSameBoard: *mut raw::c_int,
3622 ) -> nvmlReturn_t,
3623 ::libloading::Error,
3624 >,
3625 pub nvmlDeviceGetAPIRestriction: Result<
3626 unsafe extern "C" fn(
3627 device: nvmlDevice_t,
3628 apiType: nvmlRestrictedAPI_t,
3629 isRestricted: *mut nvmlEnableState_t,
3630 ) -> nvmlReturn_t,
3631 ::libloading::Error,
3632 >,
3633 pub nvmlDeviceGetSamples: Result<
3634 unsafe extern "C" fn(
3635 device: nvmlDevice_t,
3636 type_: nvmlSamplingType_t,
3637 lastSeenTimeStamp: raw::c_ulonglong,
3638 sampleValType: *mut nvmlValueType_t,
3639 sampleCount: *mut raw::c_uint,
3640 samples: *mut nvmlSample_t,
3641 ) -> nvmlReturn_t,
3642 ::libloading::Error,
3643 >,
3644 pub nvmlDeviceGetBAR1MemoryInfo: Result<
3645 unsafe extern "C" fn(
3646 device: nvmlDevice_t,
3647 bar1Memory: *mut nvmlBAR1Memory_t,
3648 ) -> nvmlReturn_t,
3649 ::libloading::Error,
3650 >,
3651 pub nvmlDeviceGetViolationStatus: Result<
3652 unsafe extern "C" fn(
3653 device: nvmlDevice_t,
3654 perfPolicyType: nvmlPerfPolicyType_t,
3655 violTime: *mut nvmlViolationTime_t,
3656 ) -> nvmlReturn_t,
3657 ::libloading::Error,
3658 >,
3659 pub nvmlDeviceGetIrqNum: Result<
3660 unsafe extern "C" fn(device: nvmlDevice_t, irqNum: *mut raw::c_uint) -> nvmlReturn_t,
3661 ::libloading::Error,
3662 >,
3663 pub nvmlDeviceGetNumGpuCores: Result<
3664 unsafe extern "C" fn(device: nvmlDevice_t, numCores: *mut raw::c_uint) -> nvmlReturn_t,
3665 ::libloading::Error,
3666 >,
3667 pub nvmlDeviceGetPowerSource: Result<
3668 unsafe extern "C" fn(
3669 device: nvmlDevice_t,
3670 powerSource: *mut nvmlPowerSource_t,
3671 ) -> nvmlReturn_t,
3672 ::libloading::Error,
3673 >,
3674 pub nvmlDeviceGetMemoryBusWidth: Result<
3675 unsafe extern "C" fn(device: nvmlDevice_t, busWidth: *mut raw::c_uint) -> nvmlReturn_t,
3676 ::libloading::Error,
3677 >,
3678 pub nvmlDeviceGetPcieLinkMaxSpeed: Result<
3679 unsafe extern "C" fn(device: nvmlDevice_t, maxSpeed: *mut raw::c_uint) -> nvmlReturn_t,
3680 ::libloading::Error,
3681 >,
3682 pub nvmlDeviceGetPcieSpeed: Result<
3683 unsafe extern "C" fn(device: nvmlDevice_t, pcieSpeed: *mut raw::c_uint) -> nvmlReturn_t,
3684 ::libloading::Error,
3685 >,
3686 pub nvmlDeviceGetAdaptiveClockInfoStatus: Result<
3687 unsafe extern "C" fn(
3688 device: nvmlDevice_t,
3689 adaptiveClockStatus: *mut raw::c_uint,
3690 ) -> nvmlReturn_t,
3691 ::libloading::Error,
3692 >,
3693 pub nvmlDeviceGetBusType: Result<
3694 unsafe extern "C" fn(device: nvmlDevice_t, type_: *mut nvmlBusType_t) -> nvmlReturn_t,
3695 ::libloading::Error,
3696 >,
3697 pub nvmlDeviceGetGpuFabricInfo: Result<
3698 unsafe extern "C" fn(
3699 device: nvmlDevice_t,
3700 gpuFabricInfo: *mut nvmlGpuFabricInfo_t,
3701 ) -> nvmlReturn_t,
3702 ::libloading::Error,
3703 >,
3704 pub nvmlDeviceGetGpuFabricInfoV: Result<
3705 unsafe extern "C" fn(
3706 device: nvmlDevice_t,
3707 gpuFabricInfo: *mut nvmlGpuFabricInfoV_t,
3708 ) -> nvmlReturn_t,
3709 ::libloading::Error,
3710 >,
3711 pub nvmlSystemGetConfComputeCapabilities: Result<
3712 unsafe extern "C" fn(capabilities: *mut nvmlConfComputeSystemCaps_t) -> nvmlReturn_t,
3713 ::libloading::Error,
3714 >,
3715 pub nvmlSystemGetConfComputeState: Result<
3716 unsafe extern "C" fn(state: *mut nvmlConfComputeSystemState_t) -> nvmlReturn_t,
3717 ::libloading::Error,
3718 >,
3719 pub nvmlDeviceGetConfComputeMemSizeInfo: Result<
3720 unsafe extern "C" fn(
3721 device: nvmlDevice_t,
3722 memInfo: *mut nvmlConfComputeMemSizeInfo_t,
3723 ) -> nvmlReturn_t,
3724 ::libloading::Error,
3725 >,
3726 pub nvmlSystemGetConfComputeGpusReadyState: Result<
3727 unsafe extern "C" fn(isAcceptingWork: *mut raw::c_uint) -> nvmlReturn_t,
3728 ::libloading::Error,
3729 >,
3730 pub nvmlDeviceGetConfComputeProtectedMemoryUsage: Result<
3731 unsafe extern "C" fn(device: nvmlDevice_t, memory: *mut nvmlMemory_t) -> nvmlReturn_t,
3732 ::libloading::Error,
3733 >,
3734 pub nvmlDeviceGetConfComputeGpuCertificate: Result<
3735 unsafe extern "C" fn(
3736 device: nvmlDevice_t,
3737 gpuCert: *mut nvmlConfComputeGpuCertificate_t,
3738 ) -> nvmlReturn_t,
3739 ::libloading::Error,
3740 >,
3741 pub nvmlDeviceGetConfComputeGpuAttestationReport: Result<
3742 unsafe extern "C" fn(
3743 device: nvmlDevice_t,
3744 gpuAtstReport: *mut nvmlConfComputeGpuAttestationReport_t,
3745 ) -> nvmlReturn_t,
3746 ::libloading::Error,
3747 >,
3748 pub nvmlSystemGetConfComputeKeyRotationThresholdInfo: Result<
3749 unsafe extern "C" fn(
3750 pKeyRotationThrInfo: *mut nvmlConfComputeGetKeyRotationThresholdInfo_t,
3751 ) -> nvmlReturn_t,
3752 ::libloading::Error,
3753 >,
3754 pub nvmlDeviceSetConfComputeUnprotectedMemSize: Result<
3755 unsafe extern "C" fn(device: nvmlDevice_t, sizeKiB: raw::c_ulonglong) -> nvmlReturn_t,
3756 ::libloading::Error,
3757 >,
3758 pub nvmlSystemSetConfComputeGpusReadyState: Result<
3759 unsafe extern "C" fn(isAcceptingWork: raw::c_uint) -> nvmlReturn_t,
3760 ::libloading::Error,
3761 >,
3762 pub nvmlSystemSetConfComputeKeyRotationThresholdInfo: Result<
3763 unsafe extern "C" fn(
3764 pKeyRotationThrInfo: *mut nvmlConfComputeSetKeyRotationThresholdInfo_t,
3765 ) -> nvmlReturn_t,
3766 ::libloading::Error,
3767 >,
3768 pub nvmlSystemGetConfComputeSettings: Result<
3769 unsafe extern "C" fn(settings: *mut nvmlSystemConfComputeSettings_t) -> nvmlReturn_t,
3770 ::libloading::Error,
3771 >,
3772 pub nvmlDeviceGetGspFirmwareVersion: Result<
3773 unsafe extern "C" fn(device: nvmlDevice_t, version: *mut raw::c_char) -> nvmlReturn_t,
3774 ::libloading::Error,
3775 >,
3776 pub nvmlDeviceGetGspFirmwareMode: Result<
3777 unsafe extern "C" fn(
3778 device: nvmlDevice_t,
3779 isEnabled: *mut raw::c_uint,
3780 defaultMode: *mut raw::c_uint,
3781 ) -> nvmlReturn_t,
3782 ::libloading::Error,
3783 >,
3784 pub nvmlDeviceGetSramEccErrorStatus: Result<
3785 unsafe extern "C" fn(
3786 device: nvmlDevice_t,
3787 status: *mut nvmlEccSramErrorStatus_t,
3788 ) -> nvmlReturn_t,
3789 ::libloading::Error,
3790 >,
3791 pub nvmlDeviceSetPowerManagementLimit_v2: Result<
3792 unsafe extern "C" fn(
3793 device: nvmlDevice_t,
3794 powerValue: *mut nvmlPowerValue_v2_t,
3795 ) -> nvmlReturn_t,
3796 ::libloading::Error,
3797 >,
3798 pub nvmlDeviceGetAccountingMode: Result<
3799 unsafe extern "C" fn(device: nvmlDevice_t, mode: *mut nvmlEnableState_t) -> nvmlReturn_t,
3800 ::libloading::Error,
3801 >,
3802 pub nvmlDeviceGetAccountingStats: Result<
3803 unsafe extern "C" fn(
3804 device: nvmlDevice_t,
3805 pid: raw::c_uint,
3806 stats: *mut nvmlAccountingStats_t,
3807 ) -> nvmlReturn_t,
3808 ::libloading::Error,
3809 >,
3810 pub nvmlDeviceGetAccountingPids: Result<
3811 unsafe extern "C" fn(
3812 device: nvmlDevice_t,
3813 count: *mut raw::c_uint,
3814 pids: *mut raw::c_uint,
3815 ) -> nvmlReturn_t,
3816 ::libloading::Error,
3817 >,
3818 pub nvmlDeviceGetAccountingBufferSize: Result<
3819 unsafe extern "C" fn(device: nvmlDevice_t, bufferSize: *mut raw::c_uint) -> nvmlReturn_t,
3820 ::libloading::Error,
3821 >,
3822 pub nvmlDeviceGetRetiredPages: Result<
3823 unsafe extern "C" fn(
3824 device: nvmlDevice_t,
3825 cause: nvmlPageRetirementCause_t,
3826 pageCount: *mut raw::c_uint,
3827 addresses: *mut raw::c_ulonglong,
3828 ) -> nvmlReturn_t,
3829 ::libloading::Error,
3830 >,
3831 pub nvmlDeviceGetRetiredPages_v2: Result<
3832 unsafe extern "C" fn(
3833 device: nvmlDevice_t,
3834 cause: nvmlPageRetirementCause_t,
3835 pageCount: *mut raw::c_uint,
3836 addresses: *mut raw::c_ulonglong,
3837 timestamps: *mut raw::c_ulonglong,
3838 ) -> nvmlReturn_t,
3839 ::libloading::Error,
3840 >,
3841 pub nvmlDeviceGetRetiredPagesPendingStatus: Result<
3842 unsafe extern "C" fn(
3843 device: nvmlDevice_t,
3844 isPending: *mut nvmlEnableState_t,
3845 ) -> nvmlReturn_t,
3846 ::libloading::Error,
3847 >,
3848 pub nvmlDeviceGetRemappedRows: Result<
3849 unsafe extern "C" fn(
3850 device: nvmlDevice_t,
3851 corrRows: *mut raw::c_uint,
3852 uncRows: *mut raw::c_uint,
3853 isPending: *mut raw::c_uint,
3854 failureOccurred: *mut raw::c_uint,
3855 ) -> nvmlReturn_t,
3856 ::libloading::Error,
3857 >,
3858 pub nvmlDeviceGetRowRemapperHistogram: Result<
3859 unsafe extern "C" fn(
3860 device: nvmlDevice_t,
3861 values: *mut nvmlRowRemapperHistogramValues_t,
3862 ) -> nvmlReturn_t,
3863 ::libloading::Error,
3864 >,
3865 pub nvmlDeviceGetArchitecture: Result<
3866 unsafe extern "C" fn(
3867 device: nvmlDevice_t,
3868 arch: *mut nvmlDeviceArchitecture_t,
3869 ) -> nvmlReturn_t,
3870 ::libloading::Error,
3871 >,
3872 pub nvmlDeviceGetClkMonStatus: Result<
3873 unsafe extern "C" fn(device: nvmlDevice_t, status: *mut nvmlClkMonStatus_t) -> nvmlReturn_t,
3874 ::libloading::Error,
3875 >,
3876 pub nvmlDeviceGetProcessUtilization: Result<
3877 unsafe extern "C" fn(
3878 device: nvmlDevice_t,
3879 utilization: *mut nvmlProcessUtilizationSample_t,
3880 processSamplesCount: *mut raw::c_uint,
3881 lastSeenTimeStamp: raw::c_ulonglong,
3882 ) -> nvmlReturn_t,
3883 ::libloading::Error,
3884 >,
3885 pub nvmlDeviceGetProcessesUtilizationInfo: Result<
3886 unsafe extern "C" fn(
3887 device: nvmlDevice_t,
3888 procesesUtilInfo: *mut nvmlProcessesUtilizationInfo_t,
3889 ) -> nvmlReturn_t,
3890 ::libloading::Error,
3891 >,
3892 pub nvmlDeviceGetPlatformInfo: Result<
3893 unsafe extern "C" fn(
3894 device: nvmlDevice_t,
3895 platformInfo: *mut nvmlPlatformInfo_t,
3896 ) -> nvmlReturn_t,
3897 ::libloading::Error,
3898 >,
3899 pub nvmlDeviceGetPdi: Result<
3900 unsafe extern "C" fn(device: nvmlDevice_t, pdi: *mut nvmlPdi_t) -> nvmlReturn_t,
3901 ::libloading::Error,
3902 >,
3903 pub nvmlUnitSetLedState: Result<
3904 unsafe extern "C" fn(unit: nvmlUnit_t, color: nvmlLedColor_t) -> nvmlReturn_t,
3905 ::libloading::Error,
3906 >,
3907 pub nvmlDeviceSetPersistenceMode: Result<
3908 unsafe extern "C" fn(device: nvmlDevice_t, mode: nvmlEnableState_t) -> nvmlReturn_t,
3909 ::libloading::Error,
3910 >,
3911 pub nvmlDeviceSetComputeMode: Result<
3912 unsafe extern "C" fn(device: nvmlDevice_t, mode: nvmlComputeMode_t) -> nvmlReturn_t,
3913 ::libloading::Error,
3914 >,
3915 pub nvmlDeviceSetEccMode: Result<
3916 unsafe extern "C" fn(device: nvmlDevice_t, ecc: nvmlEnableState_t) -> nvmlReturn_t,
3917 ::libloading::Error,
3918 >,
3919 pub nvmlDeviceClearEccErrorCounts: Result<
3920 unsafe extern "C" fn(
3921 device: nvmlDevice_t,
3922 counterType: nvmlEccCounterType_t,
3923 ) -> nvmlReturn_t,
3924 ::libloading::Error,
3925 >,
3926 pub nvmlDeviceSetDriverModel: Result<
3927 unsafe extern "C" fn(
3928 device: nvmlDevice_t,
3929 driverModel: nvmlDriverModel_t,
3930 flags: raw::c_uint,
3931 ) -> nvmlReturn_t,
3932 ::libloading::Error,
3933 >,
3934 pub nvmlDeviceSetGpuLockedClocks: Result<
3935 unsafe extern "C" fn(
3936 device: nvmlDevice_t,
3937 minGpuClockMHz: raw::c_uint,
3938 maxGpuClockMHz: raw::c_uint,
3939 ) -> nvmlReturn_t,
3940 ::libloading::Error,
3941 >,
3942 pub nvmlDeviceResetGpuLockedClocks:
3943 Result<unsafe extern "C" fn(device: nvmlDevice_t) -> nvmlReturn_t, ::libloading::Error>,
3944 pub nvmlDeviceSetMemoryLockedClocks: Result<
3945 unsafe extern "C" fn(
3946 device: nvmlDevice_t,
3947 minMemClockMHz: raw::c_uint,
3948 maxMemClockMHz: raw::c_uint,
3949 ) -> nvmlReturn_t,
3950 ::libloading::Error,
3951 >,
3952 pub nvmlDeviceResetMemoryLockedClocks:
3953 Result<unsafe extern "C" fn(device: nvmlDevice_t) -> nvmlReturn_t, ::libloading::Error>,
3954 pub nvmlDeviceSetApplicationsClocks: Result<
3955 unsafe extern "C" fn(
3956 device: nvmlDevice_t,
3957 memClockMHz: raw::c_uint,
3958 graphicsClockMHz: raw::c_uint,
3959 ) -> nvmlReturn_t,
3960 ::libloading::Error,
3961 >,
3962 pub nvmlDeviceResetApplicationsClocks:
3963 Result<unsafe extern "C" fn(device: nvmlDevice_t) -> nvmlReturn_t, ::libloading::Error>,
3964 pub nvmlDeviceSetAutoBoostedClocksEnabled: Result<
3965 unsafe extern "C" fn(device: nvmlDevice_t, enabled: nvmlEnableState_t) -> nvmlReturn_t,
3966 ::libloading::Error,
3967 >,
3968 pub nvmlDeviceSetDefaultAutoBoostedClocksEnabled: Result<
3969 unsafe extern "C" fn(
3970 device: nvmlDevice_t,
3971 enabled: nvmlEnableState_t,
3972 flags: raw::c_uint,
3973 ) -> nvmlReturn_t,
3974 ::libloading::Error,
3975 >,
3976 pub nvmlDeviceSetDefaultFanSpeed_v2: Result<
3977 unsafe extern "C" fn(device: nvmlDevice_t, fan: raw::c_uint) -> nvmlReturn_t,
3978 ::libloading::Error,
3979 >,
3980 pub nvmlDeviceSetFanControlPolicy: Result<
3981 unsafe extern "C" fn(
3982 device: nvmlDevice_t,
3983 fan: raw::c_uint,
3984 policy: nvmlFanControlPolicy_t,
3985 ) -> nvmlReturn_t,
3986 ::libloading::Error,
3987 >,
3988 pub nvmlDeviceSetTemperatureThreshold: Result<
3989 unsafe extern "C" fn(
3990 device: nvmlDevice_t,
3991 thresholdType: nvmlTemperatureThresholds_t,
3992 temp: *mut raw::c_int,
3993 ) -> nvmlReturn_t,
3994 ::libloading::Error,
3995 >,
3996 pub nvmlDeviceSetPowerManagementLimit: Result<
3997 unsafe extern "C" fn(device: nvmlDevice_t, limit: raw::c_uint) -> nvmlReturn_t,
3998 ::libloading::Error,
3999 >,
4000 pub nvmlDeviceSetGpuOperationMode: Result<
4001 unsafe extern "C" fn(device: nvmlDevice_t, mode: nvmlGpuOperationMode_t) -> nvmlReturn_t,
4002 ::libloading::Error,
4003 >,
4004 pub nvmlDeviceSetAPIRestriction: Result<
4005 unsafe extern "C" fn(
4006 device: nvmlDevice_t,
4007 apiType: nvmlRestrictedAPI_t,
4008 isRestricted: nvmlEnableState_t,
4009 ) -> nvmlReturn_t,
4010 ::libloading::Error,
4011 >,
4012 pub nvmlDeviceSetFanSpeed_v2: Result<
4013 unsafe extern "C" fn(
4014 device: nvmlDevice_t,
4015 fan: raw::c_uint,
4016 speed: raw::c_uint,
4017 ) -> nvmlReturn_t,
4018 ::libloading::Error,
4019 >,
4020 pub nvmlDeviceSetGpcClkVfOffset: Result<
4021 unsafe extern "C" fn(device: nvmlDevice_t, offset: raw::c_int) -> nvmlReturn_t,
4022 ::libloading::Error,
4023 >,
4024 pub nvmlDeviceSetMemClkVfOffset: Result<
4025 unsafe extern "C" fn(device: nvmlDevice_t, offset: raw::c_int) -> nvmlReturn_t,
4026 ::libloading::Error,
4027 >,
4028 pub nvmlDeviceSetAccountingMode: Result<
4029 unsafe extern "C" fn(device: nvmlDevice_t, mode: nvmlEnableState_t) -> nvmlReturn_t,
4030 ::libloading::Error,
4031 >,
4032 pub nvmlDeviceClearAccountingPids:
4033 Result<unsafe extern "C" fn(device: nvmlDevice_t) -> nvmlReturn_t, ::libloading::Error>,
4034 pub nvmlDeviceGetNvLinkState: Result<
4035 unsafe extern "C" fn(
4036 device: nvmlDevice_t,
4037 link: raw::c_uint,
4038 isActive: *mut nvmlEnableState_t,
4039 ) -> nvmlReturn_t,
4040 ::libloading::Error,
4041 >,
4042 pub nvmlDeviceGetNvLinkVersion: Result<
4043 unsafe extern "C" fn(
4044 device: nvmlDevice_t,
4045 link: raw::c_uint,
4046 version: *mut raw::c_uint,
4047 ) -> nvmlReturn_t,
4048 ::libloading::Error,
4049 >,
4050 pub nvmlDeviceGetNvLinkCapability: Result<
4051 unsafe extern "C" fn(
4052 device: nvmlDevice_t,
4053 link: raw::c_uint,
4054 capability: nvmlNvLinkCapability_t,
4055 capResult: *mut raw::c_uint,
4056 ) -> nvmlReturn_t,
4057 ::libloading::Error,
4058 >,
4059 pub nvmlDeviceGetNvLinkRemotePciInfo_v2: Result<
4060 unsafe extern "C" fn(
4061 device: nvmlDevice_t,
4062 link: raw::c_uint,
4063 pci: *mut nvmlPciInfo_t,
4064 ) -> nvmlReturn_t,
4065 ::libloading::Error,
4066 >,
4067 pub nvmlDeviceGetNvLinkErrorCounter: Result<
4068 unsafe extern "C" fn(
4069 device: nvmlDevice_t,
4070 link: raw::c_uint,
4071 counter: nvmlNvLinkErrorCounter_t,
4072 counterValue: *mut raw::c_ulonglong,
4073 ) -> nvmlReturn_t,
4074 ::libloading::Error,
4075 >,
4076 pub nvmlDeviceResetNvLinkErrorCounters: Result<
4077 unsafe extern "C" fn(device: nvmlDevice_t, link: raw::c_uint) -> nvmlReturn_t,
4078 ::libloading::Error,
4079 >,
4080 pub nvmlDeviceSetNvLinkUtilizationControl: Result<
4081 unsafe extern "C" fn(
4082 device: nvmlDevice_t,
4083 link: raw::c_uint,
4084 counter: raw::c_uint,
4085 control: *mut nvmlNvLinkUtilizationControl_t,
4086 reset: raw::c_uint,
4087 ) -> nvmlReturn_t,
4088 ::libloading::Error,
4089 >,
4090 pub nvmlDeviceGetNvLinkUtilizationControl: Result<
4091 unsafe extern "C" fn(
4092 device: nvmlDevice_t,
4093 link: raw::c_uint,
4094 counter: raw::c_uint,
4095 control: *mut nvmlNvLinkUtilizationControl_t,
4096 ) -> nvmlReturn_t,
4097 ::libloading::Error,
4098 >,
4099 pub nvmlDeviceGetNvLinkUtilizationCounter: Result<
4100 unsafe extern "C" fn(
4101 device: nvmlDevice_t,
4102 link: raw::c_uint,
4103 counter: raw::c_uint,
4104 rxcounter: *mut raw::c_ulonglong,
4105 txcounter: *mut raw::c_ulonglong,
4106 ) -> nvmlReturn_t,
4107 ::libloading::Error,
4108 >,
4109 pub nvmlDeviceFreezeNvLinkUtilizationCounter: Result<
4110 unsafe extern "C" fn(
4111 device: nvmlDevice_t,
4112 link: raw::c_uint,
4113 counter: raw::c_uint,
4114 freeze: nvmlEnableState_t,
4115 ) -> nvmlReturn_t,
4116 ::libloading::Error,
4117 >,
4118 pub nvmlDeviceResetNvLinkUtilizationCounter: Result<
4119 unsafe extern "C" fn(
4120 device: nvmlDevice_t,
4121 link: raw::c_uint,
4122 counter: raw::c_uint,
4123 ) -> nvmlReturn_t,
4124 ::libloading::Error,
4125 >,
4126 pub nvmlDeviceGetNvLinkRemoteDeviceType: Result<
4127 unsafe extern "C" fn(
4128 device: nvmlDevice_t,
4129 link: raw::c_uint,
4130 pNvLinkDeviceType: *mut nvmlIntNvLinkDeviceType_t,
4131 ) -> nvmlReturn_t,
4132 ::libloading::Error,
4133 >,
4134 pub nvmlDeviceSetNvLinkDeviceLowPowerThreshold: Result<
4135 unsafe extern "C" fn(
4136 device: nvmlDevice_t,
4137 info: *mut nvmlNvLinkPowerThres_t,
4138 ) -> nvmlReturn_t,
4139 ::libloading::Error,
4140 >,
4141 pub nvmlSystemSetNvlinkBwMode: Result<
4142 unsafe extern "C" fn(nvlinkBwMode: raw::c_uint) -> nvmlReturn_t,
4143 ::libloading::Error,
4144 >,
4145 pub nvmlSystemGetNvlinkBwMode: Result<
4146 unsafe extern "C" fn(nvlinkBwMode: *mut raw::c_uint) -> nvmlReturn_t,
4147 ::libloading::Error,
4148 >,
4149 pub nvmlDeviceGetNvlinkSupportedBwModes: Result<
4150 unsafe extern "C" fn(
4151 device: nvmlDevice_t,
4152 supportedBwMode: *mut nvmlNvlinkSupportedBwModes_t,
4153 ) -> nvmlReturn_t,
4154 ::libloading::Error,
4155 >,
4156 pub nvmlDeviceGetNvlinkBwMode: Result<
4157 unsafe extern "C" fn(
4158 device: nvmlDevice_t,
4159 getBwMode: *mut nvmlNvlinkGetBwMode_t,
4160 ) -> nvmlReturn_t,
4161 ::libloading::Error,
4162 >,
4163 pub nvmlDeviceSetNvlinkBwMode: Result<
4164 unsafe extern "C" fn(
4165 device: nvmlDevice_t,
4166 setBwMode: *mut nvmlNvlinkSetBwMode_t,
4167 ) -> nvmlReturn_t,
4168 ::libloading::Error,
4169 >,
4170 pub nvmlDeviceGetNvLinkInfo: Result<
4171 unsafe extern "C" fn(device: nvmlDevice_t, info: *mut nvmlNvLinkInfo_t) -> nvmlReturn_t,
4172 ::libloading::Error,
4173 >,
4174 pub nvmlEventSetCreate:
4175 Result<unsafe extern "C" fn(set: *mut nvmlEventSet_t) -> nvmlReturn_t, ::libloading::Error>,
4176 pub nvmlDeviceRegisterEvents: Result<
4177 unsafe extern "C" fn(
4178 device: nvmlDevice_t,
4179 eventTypes: raw::c_ulonglong,
4180 set: nvmlEventSet_t,
4181 ) -> nvmlReturn_t,
4182 ::libloading::Error,
4183 >,
4184 pub nvmlDeviceGetSupportedEventTypes: Result<
4185 unsafe extern "C" fn(
4186 device: nvmlDevice_t,
4187 eventTypes: *mut raw::c_ulonglong,
4188 ) -> nvmlReturn_t,
4189 ::libloading::Error,
4190 >,
4191 pub nvmlEventSetWait_v2: Result<
4192 unsafe extern "C" fn(
4193 set: nvmlEventSet_t,
4194 data: *mut nvmlEventData_t,
4195 timeoutms: raw::c_uint,
4196 ) -> nvmlReturn_t,
4197 ::libloading::Error,
4198 >,
4199 pub nvmlEventSetFree:
4200 Result<unsafe extern "C" fn(set: nvmlEventSet_t) -> nvmlReturn_t, ::libloading::Error>,
4201 pub nvmlSystemEventSetCreate: Result<
4202 unsafe extern "C" fn(request: *mut nvmlSystemEventSetCreateRequest_t) -> nvmlReturn_t,
4203 ::libloading::Error,
4204 >,
4205 pub nvmlSystemEventSetFree: Result<
4206 unsafe extern "C" fn(request: *mut nvmlSystemEventSetFreeRequest_t) -> nvmlReturn_t,
4207 ::libloading::Error,
4208 >,
4209 pub nvmlSystemRegisterEvents: Result<
4210 unsafe extern "C" fn(request: *mut nvmlSystemRegisterEventRequest_t) -> nvmlReturn_t,
4211 ::libloading::Error,
4212 >,
4213 pub nvmlSystemEventSetWait: Result<
4214 unsafe extern "C" fn(request: *mut nvmlSystemEventSetWaitRequest_t) -> nvmlReturn_t,
4215 ::libloading::Error,
4216 >,
4217 pub nvmlDeviceModifyDrainState: Result<
4218 unsafe extern "C" fn(
4219 pciInfo: *mut nvmlPciInfo_t,
4220 newState: nvmlEnableState_t,
4221 ) -> nvmlReturn_t,
4222 ::libloading::Error,
4223 >,
4224 pub nvmlDeviceQueryDrainState: Result<
4225 unsafe extern "C" fn(
4226 pciInfo: *mut nvmlPciInfo_t,
4227 currentState: *mut nvmlEnableState_t,
4228 ) -> nvmlReturn_t,
4229 ::libloading::Error,
4230 >,
4231 pub nvmlDeviceRemoveGpu_v2: Result<
4232 unsafe extern "C" fn(
4233 pciInfo: *mut nvmlPciInfo_t,
4234 gpuState: nvmlDetachGpuState_t,
4235 linkState: nvmlPcieLinkState_t,
4236 ) -> nvmlReturn_t,
4237 ::libloading::Error,
4238 >,
4239 pub nvmlDeviceDiscoverGpus: Result<
4240 unsafe extern "C" fn(pciInfo: *mut nvmlPciInfo_t) -> nvmlReturn_t,
4241 ::libloading::Error,
4242 >,
4243 pub nvmlDeviceGetFieldValues: Result<
4244 unsafe extern "C" fn(
4245 device: nvmlDevice_t,
4246 valuesCount: raw::c_int,
4247 values: *mut nvmlFieldValue_t,
4248 ) -> nvmlReturn_t,
4249 ::libloading::Error,
4250 >,
4251 pub nvmlDeviceClearFieldValues: Result<
4252 unsafe extern "C" fn(
4253 device: nvmlDevice_t,
4254 valuesCount: raw::c_int,
4255 values: *mut nvmlFieldValue_t,
4256 ) -> nvmlReturn_t,
4257 ::libloading::Error,
4258 >,
4259 pub nvmlDeviceGetVirtualizationMode: Result<
4260 unsafe extern "C" fn(
4261 device: nvmlDevice_t,
4262 pVirtualMode: *mut nvmlGpuVirtualizationMode_t,
4263 ) -> nvmlReturn_t,
4264 ::libloading::Error,
4265 >,
4266 pub nvmlDeviceGetHostVgpuMode: Result<
4267 unsafe extern "C" fn(
4268 device: nvmlDevice_t,
4269 pHostVgpuMode: *mut nvmlHostVgpuMode_t,
4270 ) -> nvmlReturn_t,
4271 ::libloading::Error,
4272 >,
4273 pub nvmlDeviceSetVirtualizationMode: Result<
4274 unsafe extern "C" fn(
4275 device: nvmlDevice_t,
4276 virtualMode: nvmlGpuVirtualizationMode_t,
4277 ) -> nvmlReturn_t,
4278 ::libloading::Error,
4279 >,
4280 pub nvmlDeviceGetVgpuHeterogeneousMode: Result<
4281 unsafe extern "C" fn(
4282 device: nvmlDevice_t,
4283 pHeterogeneousMode: *mut nvmlVgpuHeterogeneousMode_t,
4284 ) -> nvmlReturn_t,
4285 ::libloading::Error,
4286 >,
4287 pub nvmlDeviceSetVgpuHeterogeneousMode: Result<
4288 unsafe extern "C" fn(
4289 device: nvmlDevice_t,
4290 pHeterogeneousMode: *const nvmlVgpuHeterogeneousMode_t,
4291 ) -> nvmlReturn_t,
4292 ::libloading::Error,
4293 >,
4294 pub nvmlVgpuInstanceGetPlacementId: Result<
4295 unsafe extern "C" fn(
4296 vgpuInstance: nvmlVgpuInstance_t,
4297 pPlacement: *mut nvmlVgpuPlacementId_t,
4298 ) -> nvmlReturn_t,
4299 ::libloading::Error,
4300 >,
4301 pub nvmlDeviceGetVgpuTypeSupportedPlacements: Result<
4302 unsafe extern "C" fn(
4303 device: nvmlDevice_t,
4304 vgpuTypeId: nvmlVgpuTypeId_t,
4305 pPlacementList: *mut nvmlVgpuPlacementList_t,
4306 ) -> nvmlReturn_t,
4307 ::libloading::Error,
4308 >,
4309 pub nvmlDeviceGetVgpuTypeCreatablePlacements: Result<
4310 unsafe extern "C" fn(
4311 device: nvmlDevice_t,
4312 vgpuTypeId: nvmlVgpuTypeId_t,
4313 pPlacementList: *mut nvmlVgpuPlacementList_t,
4314 ) -> nvmlReturn_t,
4315 ::libloading::Error,
4316 >,
4317 pub nvmlVgpuTypeGetGspHeapSize: Result<
4318 unsafe extern "C" fn(
4319 vgpuTypeId: nvmlVgpuTypeId_t,
4320 gspHeapSize: *mut raw::c_ulonglong,
4321 ) -> nvmlReturn_t,
4322 ::libloading::Error,
4323 >,
4324 pub nvmlVgpuTypeGetFbReservation: Result<
4325 unsafe extern "C" fn(
4326 vgpuTypeId: nvmlVgpuTypeId_t,
4327 fbReservation: *mut raw::c_ulonglong,
4328 ) -> nvmlReturn_t,
4329 ::libloading::Error,
4330 >,
4331 pub nvmlVgpuInstanceGetRuntimeStateSize: Result<
4332 unsafe extern "C" fn(
4333 vgpuInstance: nvmlVgpuInstance_t,
4334 pState: *mut nvmlVgpuRuntimeState_t,
4335 ) -> nvmlReturn_t,
4336 ::libloading::Error,
4337 >,
4338 pub nvmlDeviceSetVgpuCapabilities: Result<
4339 unsafe extern "C" fn(
4340 device: nvmlDevice_t,
4341 capability: nvmlDeviceVgpuCapability_t,
4342 state: nvmlEnableState_t,
4343 ) -> nvmlReturn_t,
4344 ::libloading::Error,
4345 >,
4346 pub nvmlDeviceGetGridLicensableFeatures_v4: Result<
4347 unsafe extern "C" fn(
4348 device: nvmlDevice_t,
4349 pGridLicensableFeatures: *mut nvmlGridLicensableFeatures_t,
4350 ) -> nvmlReturn_t,
4351 ::libloading::Error,
4352 >,
4353 pub nvmlGetVgpuDriverCapabilities: Result<
4354 unsafe extern "C" fn(
4355 capability: nvmlVgpuDriverCapability_t,
4356 capResult: *mut raw::c_uint,
4357 ) -> nvmlReturn_t,
4358 ::libloading::Error,
4359 >,
4360 pub nvmlDeviceGetVgpuCapabilities: Result<
4361 unsafe extern "C" fn(
4362 device: nvmlDevice_t,
4363 capability: nvmlDeviceVgpuCapability_t,
4364 capResult: *mut raw::c_uint,
4365 ) -> nvmlReturn_t,
4366 ::libloading::Error,
4367 >,
4368 pub nvmlDeviceGetSupportedVgpus: Result<
4369 unsafe extern "C" fn(
4370 device: nvmlDevice_t,
4371 vgpuCount: *mut raw::c_uint,
4372 vgpuTypeIds: *mut nvmlVgpuTypeId_t,
4373 ) -> nvmlReturn_t,
4374 ::libloading::Error,
4375 >,
4376 pub nvmlDeviceGetCreatableVgpus: Result<
4377 unsafe extern "C" fn(
4378 device: nvmlDevice_t,
4379 vgpuCount: *mut raw::c_uint,
4380 vgpuTypeIds: *mut nvmlVgpuTypeId_t,
4381 ) -> nvmlReturn_t,
4382 ::libloading::Error,
4383 >,
4384 pub nvmlVgpuTypeGetClass: Result<
4385 unsafe extern "C" fn(
4386 vgpuTypeId: nvmlVgpuTypeId_t,
4387 vgpuTypeClass: *mut raw::c_char,
4388 size: *mut raw::c_uint,
4389 ) -> nvmlReturn_t,
4390 ::libloading::Error,
4391 >,
4392 pub nvmlVgpuTypeGetName: Result<
4393 unsafe extern "C" fn(
4394 vgpuTypeId: nvmlVgpuTypeId_t,
4395 vgpuTypeName: *mut raw::c_char,
4396 size: *mut raw::c_uint,
4397 ) -> nvmlReturn_t,
4398 ::libloading::Error,
4399 >,
4400 pub nvmlVgpuTypeGetGpuInstanceProfileId: Result<
4401 unsafe extern "C" fn(
4402 vgpuTypeId: nvmlVgpuTypeId_t,
4403 gpuInstanceProfileId: *mut raw::c_uint,
4404 ) -> nvmlReturn_t,
4405 ::libloading::Error,
4406 >,
4407 pub nvmlVgpuTypeGetDeviceID: Result<
4408 unsafe extern "C" fn(
4409 vgpuTypeId: nvmlVgpuTypeId_t,
4410 deviceID: *mut raw::c_ulonglong,
4411 subsystemID: *mut raw::c_ulonglong,
4412 ) -> nvmlReturn_t,
4413 ::libloading::Error,
4414 >,
4415 pub nvmlVgpuTypeGetFramebufferSize: Result<
4416 unsafe extern "C" fn(
4417 vgpuTypeId: nvmlVgpuTypeId_t,
4418 fbSize: *mut raw::c_ulonglong,
4419 ) -> nvmlReturn_t,
4420 ::libloading::Error,
4421 >,
4422 pub nvmlVgpuTypeGetNumDisplayHeads: Result<
4423 unsafe extern "C" fn(
4424 vgpuTypeId: nvmlVgpuTypeId_t,
4425 numDisplayHeads: *mut raw::c_uint,
4426 ) -> nvmlReturn_t,
4427 ::libloading::Error,
4428 >,
4429 pub nvmlVgpuTypeGetResolution: Result<
4430 unsafe extern "C" fn(
4431 vgpuTypeId: nvmlVgpuTypeId_t,
4432 displayIndex: raw::c_uint,
4433 xdim: *mut raw::c_uint,
4434 ydim: *mut raw::c_uint,
4435 ) -> nvmlReturn_t,
4436 ::libloading::Error,
4437 >,
4438 pub nvmlVgpuTypeGetLicense: Result<
4439 unsafe extern "C" fn(
4440 vgpuTypeId: nvmlVgpuTypeId_t,
4441 vgpuTypeLicenseString: *mut raw::c_char,
4442 size: raw::c_uint,
4443 ) -> nvmlReturn_t,
4444 ::libloading::Error,
4445 >,
4446 pub nvmlVgpuTypeGetFrameRateLimit: Result<
4447 unsafe extern "C" fn(
4448 vgpuTypeId: nvmlVgpuTypeId_t,
4449 frameRateLimit: *mut raw::c_uint,
4450 ) -> nvmlReturn_t,
4451 ::libloading::Error,
4452 >,
4453 pub nvmlVgpuTypeGetMaxInstances: Result<
4454 unsafe extern "C" fn(
4455 device: nvmlDevice_t,
4456 vgpuTypeId: nvmlVgpuTypeId_t,
4457 vgpuInstanceCount: *mut raw::c_uint,
4458 ) -> nvmlReturn_t,
4459 ::libloading::Error,
4460 >,
4461 pub nvmlVgpuTypeGetMaxInstancesPerVm: Result<
4462 unsafe extern "C" fn(
4463 vgpuTypeId: nvmlVgpuTypeId_t,
4464 vgpuInstanceCountPerVm: *mut raw::c_uint,
4465 ) -> nvmlReturn_t,
4466 ::libloading::Error,
4467 >,
4468 pub nvmlVgpuTypeGetBAR1Info: Result<
4469 unsafe extern "C" fn(
4470 vgpuTypeId: nvmlVgpuTypeId_t,
4471 bar1Info: *mut nvmlVgpuTypeBar1Info_t,
4472 ) -> nvmlReturn_t,
4473 ::libloading::Error,
4474 >,
4475 pub nvmlDeviceGetActiveVgpus: Result<
4476 unsafe extern "C" fn(
4477 device: nvmlDevice_t,
4478 vgpuCount: *mut raw::c_uint,
4479 vgpuInstances: *mut nvmlVgpuInstance_t,
4480 ) -> nvmlReturn_t,
4481 ::libloading::Error,
4482 >,
4483 pub nvmlVgpuInstanceGetVmID: Result<
4484 unsafe extern "C" fn(
4485 vgpuInstance: nvmlVgpuInstance_t,
4486 vmId: *mut raw::c_char,
4487 size: raw::c_uint,
4488 vmIdType: *mut nvmlVgpuVmIdType_t,
4489 ) -> nvmlReturn_t,
4490 ::libloading::Error,
4491 >,
4492 pub nvmlVgpuInstanceGetUUID: Result<
4493 unsafe extern "C" fn(
4494 vgpuInstance: nvmlVgpuInstance_t,
4495 uuid: *mut raw::c_char,
4496 size: raw::c_uint,
4497 ) -> nvmlReturn_t,
4498 ::libloading::Error,
4499 >,
4500 pub nvmlVgpuInstanceGetVmDriverVersion: Result<
4501 unsafe extern "C" fn(
4502 vgpuInstance: nvmlVgpuInstance_t,
4503 version: *mut raw::c_char,
4504 length: raw::c_uint,
4505 ) -> nvmlReturn_t,
4506 ::libloading::Error,
4507 >,
4508 pub nvmlVgpuInstanceGetFbUsage: Result<
4509 unsafe extern "C" fn(
4510 vgpuInstance: nvmlVgpuInstance_t,
4511 fbUsage: *mut raw::c_ulonglong,
4512 ) -> nvmlReturn_t,
4513 ::libloading::Error,
4514 >,
4515 pub nvmlVgpuInstanceGetLicenseStatus: Result<
4516 unsafe extern "C" fn(
4517 vgpuInstance: nvmlVgpuInstance_t,
4518 licensed: *mut raw::c_uint,
4519 ) -> nvmlReturn_t,
4520 ::libloading::Error,
4521 >,
4522 pub nvmlVgpuInstanceGetType: Result<
4523 unsafe extern "C" fn(
4524 vgpuInstance: nvmlVgpuInstance_t,
4525 vgpuTypeId: *mut nvmlVgpuTypeId_t,
4526 ) -> nvmlReturn_t,
4527 ::libloading::Error,
4528 >,
4529 pub nvmlVgpuInstanceGetFrameRateLimit: Result<
4530 unsafe extern "C" fn(
4531 vgpuInstance: nvmlVgpuInstance_t,
4532 frameRateLimit: *mut raw::c_uint,
4533 ) -> nvmlReturn_t,
4534 ::libloading::Error,
4535 >,
4536 pub nvmlVgpuInstanceGetEccMode: Result<
4537 unsafe extern "C" fn(
4538 vgpuInstance: nvmlVgpuInstance_t,
4539 eccMode: *mut nvmlEnableState_t,
4540 ) -> nvmlReturn_t,
4541 ::libloading::Error,
4542 >,
4543 pub nvmlVgpuInstanceGetEncoderCapacity: Result<
4544 unsafe extern "C" fn(
4545 vgpuInstance: nvmlVgpuInstance_t,
4546 encoderCapacity: *mut raw::c_uint,
4547 ) -> nvmlReturn_t,
4548 ::libloading::Error,
4549 >,
4550 pub nvmlVgpuInstanceSetEncoderCapacity: Result<
4551 unsafe extern "C" fn(
4552 vgpuInstance: nvmlVgpuInstance_t,
4553 encoderCapacity: raw::c_uint,
4554 ) -> nvmlReturn_t,
4555 ::libloading::Error,
4556 >,
4557 pub nvmlVgpuInstanceGetEncoderStats: Result<
4558 unsafe extern "C" fn(
4559 vgpuInstance: nvmlVgpuInstance_t,
4560 sessionCount: *mut raw::c_uint,
4561 averageFps: *mut raw::c_uint,
4562 averageLatency: *mut raw::c_uint,
4563 ) -> nvmlReturn_t,
4564 ::libloading::Error,
4565 >,
4566 pub nvmlVgpuInstanceGetEncoderSessions: Result<
4567 unsafe extern "C" fn(
4568 vgpuInstance: nvmlVgpuInstance_t,
4569 sessionCount: *mut raw::c_uint,
4570 sessionInfo: *mut nvmlEncoderSessionInfo_t,
4571 ) -> nvmlReturn_t,
4572 ::libloading::Error,
4573 >,
4574 pub nvmlVgpuInstanceGetFBCStats: Result<
4575 unsafe extern "C" fn(
4576 vgpuInstance: nvmlVgpuInstance_t,
4577 fbcStats: *mut nvmlFBCStats_t,
4578 ) -> nvmlReturn_t,
4579 ::libloading::Error,
4580 >,
4581 pub nvmlVgpuInstanceGetFBCSessions: Result<
4582 unsafe extern "C" fn(
4583 vgpuInstance: nvmlVgpuInstance_t,
4584 sessionCount: *mut raw::c_uint,
4585 sessionInfo: *mut nvmlFBCSessionInfo_t,
4586 ) -> nvmlReturn_t,
4587 ::libloading::Error,
4588 >,
4589 pub nvmlVgpuInstanceGetGpuInstanceId: Result<
4590 unsafe extern "C" fn(
4591 vgpuInstance: nvmlVgpuInstance_t,
4592 gpuInstanceId: *mut raw::c_uint,
4593 ) -> nvmlReturn_t,
4594 ::libloading::Error,
4595 >,
4596 pub nvmlVgpuInstanceGetGpuPciId: Result<
4597 unsafe extern "C" fn(
4598 vgpuInstance: nvmlVgpuInstance_t,
4599 vgpuPciId: *mut raw::c_char,
4600 length: *mut raw::c_uint,
4601 ) -> nvmlReturn_t,
4602 ::libloading::Error,
4603 >,
4604 pub nvmlVgpuTypeGetCapabilities: Result<
4605 unsafe extern "C" fn(
4606 vgpuTypeId: nvmlVgpuTypeId_t,
4607 capability: nvmlVgpuCapability_t,
4608 capResult: *mut raw::c_uint,
4609 ) -> nvmlReturn_t,
4610 ::libloading::Error,
4611 >,
4612 pub nvmlVgpuInstanceGetMdevUUID: Result<
4613 unsafe extern "C" fn(
4614 vgpuInstance: nvmlVgpuInstance_t,
4615 mdevUuid: *mut raw::c_char,
4616 size: raw::c_uint,
4617 ) -> nvmlReturn_t,
4618 ::libloading::Error,
4619 >,
4620 pub nvmlGpuInstanceGetCreatableVgpus: Result<
4621 unsafe extern "C" fn(
4622 gpuInstance: nvmlGpuInstance_t,
4623 pVgpus: *mut nvmlVgpuTypeIdInfo_t,
4624 ) -> nvmlReturn_t,
4625 ::libloading::Error,
4626 >,
4627 pub nvmlVgpuTypeGetMaxInstancesPerGpuInstance: Result<
4628 unsafe extern "C" fn(pMaxInstance: *mut nvmlVgpuTypeMaxInstance_t) -> nvmlReturn_t,
4629 ::libloading::Error,
4630 >,
4631 pub nvmlGpuInstanceGetActiveVgpus: Result<
4632 unsafe extern "C" fn(
4633 gpuInstance: nvmlGpuInstance_t,
4634 pVgpuInstanceInfo: *mut nvmlActiveVgpuInstanceInfo_t,
4635 ) -> nvmlReturn_t,
4636 ::libloading::Error,
4637 >,
4638 pub nvmlGpuInstanceSetVgpuSchedulerState: Result<
4639 unsafe extern "C" fn(
4640 gpuInstance: nvmlGpuInstance_t,
4641 pScheduler: *mut nvmlVgpuSchedulerState_t,
4642 ) -> nvmlReturn_t,
4643 ::libloading::Error,
4644 >,
4645 pub nvmlGpuInstanceGetVgpuSchedulerState: Result<
4646 unsafe extern "C" fn(
4647 gpuInstance: nvmlGpuInstance_t,
4648 pSchedulerStateInfo: *mut nvmlVgpuSchedulerStateInfo_t,
4649 ) -> nvmlReturn_t,
4650 ::libloading::Error,
4651 >,
4652 pub nvmlGpuInstanceGetVgpuSchedulerLog: Result<
4653 unsafe extern "C" fn(
4654 gpuInstance: nvmlGpuInstance_t,
4655 pSchedulerLogInfo: *mut nvmlVgpuSchedulerLogInfo_t,
4656 ) -> nvmlReturn_t,
4657 ::libloading::Error,
4658 >,
4659 pub nvmlGpuInstanceGetVgpuTypeCreatablePlacements: Result<
4660 unsafe extern "C" fn(
4661 gpuInstance: nvmlGpuInstance_t,
4662 pCreatablePlacementInfo: *mut nvmlVgpuCreatablePlacementInfo_t,
4663 ) -> nvmlReturn_t,
4664 ::libloading::Error,
4665 >,
4666 pub nvmlGpuInstanceGetVgpuHeterogeneousMode: Result<
4667 unsafe extern "C" fn(
4668 gpuInstance: nvmlGpuInstance_t,
4669 pHeterogeneousMode: *mut nvmlVgpuHeterogeneousMode_t,
4670 ) -> nvmlReturn_t,
4671 ::libloading::Error,
4672 >,
4673 pub nvmlGpuInstanceSetVgpuHeterogeneousMode: Result<
4674 unsafe extern "C" fn(
4675 gpuInstance: nvmlGpuInstance_t,
4676 pHeterogeneousMode: *const nvmlVgpuHeterogeneousMode_t,
4677 ) -> nvmlReturn_t,
4678 ::libloading::Error,
4679 >,
4680 pub nvmlVgpuInstanceGetMetadata: Result<
4681 unsafe extern "C" fn(
4682 vgpuInstance: nvmlVgpuInstance_t,
4683 vgpuMetadata: *mut nvmlVgpuMetadata_t,
4684 bufferSize: *mut raw::c_uint,
4685 ) -> nvmlReturn_t,
4686 ::libloading::Error,
4687 >,
4688 pub nvmlDeviceGetVgpuMetadata: Result<
4689 unsafe extern "C" fn(
4690 device: nvmlDevice_t,
4691 pgpuMetadata: *mut nvmlVgpuPgpuMetadata_t,
4692 bufferSize: *mut raw::c_uint,
4693 ) -> nvmlReturn_t,
4694 ::libloading::Error,
4695 >,
4696 pub nvmlGetVgpuCompatibility: Result<
4697 unsafe extern "C" fn(
4698 vgpuMetadata: *mut nvmlVgpuMetadata_t,
4699 pgpuMetadata: *mut nvmlVgpuPgpuMetadata_t,
4700 compatibilityInfo: *mut nvmlVgpuPgpuCompatibility_t,
4701 ) -> nvmlReturn_t,
4702 ::libloading::Error,
4703 >,
4704 pub nvmlDeviceGetPgpuMetadataString: Result<
4705 unsafe extern "C" fn(
4706 device: nvmlDevice_t,
4707 pgpuMetadata: *mut raw::c_char,
4708 bufferSize: *mut raw::c_uint,
4709 ) -> nvmlReturn_t,
4710 ::libloading::Error,
4711 >,
4712 pub nvmlDeviceGetVgpuSchedulerLog: Result<
4713 unsafe extern "C" fn(
4714 device: nvmlDevice_t,
4715 pSchedulerLog: *mut nvmlVgpuSchedulerLog_t,
4716 ) -> nvmlReturn_t,
4717 ::libloading::Error,
4718 >,
4719 pub nvmlDeviceGetVgpuSchedulerState: Result<
4720 unsafe extern "C" fn(
4721 device: nvmlDevice_t,
4722 pSchedulerState: *mut nvmlVgpuSchedulerGetState_t,
4723 ) -> nvmlReturn_t,
4724 ::libloading::Error,
4725 >,
4726 pub nvmlDeviceGetVgpuSchedulerCapabilities: Result<
4727 unsafe extern "C" fn(
4728 device: nvmlDevice_t,
4729 pCapabilities: *mut nvmlVgpuSchedulerCapabilities_t,
4730 ) -> nvmlReturn_t,
4731 ::libloading::Error,
4732 >,
4733 pub nvmlDeviceSetVgpuSchedulerState: Result<
4734 unsafe extern "C" fn(
4735 device: nvmlDevice_t,
4736 pSchedulerState: *mut nvmlVgpuSchedulerSetState_t,
4737 ) -> nvmlReturn_t,
4738 ::libloading::Error,
4739 >,
4740 pub nvmlGetVgpuVersion: Result<
4741 unsafe extern "C" fn(
4742 supported: *mut nvmlVgpuVersion_t,
4743 current: *mut nvmlVgpuVersion_t,
4744 ) -> nvmlReturn_t,
4745 ::libloading::Error,
4746 >,
4747 pub nvmlSetVgpuVersion: Result<
4748 unsafe extern "C" fn(vgpuVersion: *mut nvmlVgpuVersion_t) -> nvmlReturn_t,
4749 ::libloading::Error,
4750 >,
4751 pub nvmlDeviceGetVgpuUtilization: Result<
4752 unsafe extern "C" fn(
4753 device: nvmlDevice_t,
4754 lastSeenTimeStamp: raw::c_ulonglong,
4755 sampleValType: *mut nvmlValueType_t,
4756 vgpuInstanceSamplesCount: *mut raw::c_uint,
4757 utilizationSamples: *mut nvmlVgpuInstanceUtilizationSample_t,
4758 ) -> nvmlReturn_t,
4759 ::libloading::Error,
4760 >,
4761 pub nvmlDeviceGetVgpuInstancesUtilizationInfo: Result<
4762 unsafe extern "C" fn(
4763 device: nvmlDevice_t,
4764 vgpuUtilInfo: *mut nvmlVgpuInstancesUtilizationInfo_t,
4765 ) -> nvmlReturn_t,
4766 ::libloading::Error,
4767 >,
4768 pub nvmlDeviceGetVgpuProcessUtilization: Result<
4769 unsafe extern "C" fn(
4770 device: nvmlDevice_t,
4771 lastSeenTimeStamp: raw::c_ulonglong,
4772 vgpuProcessSamplesCount: *mut raw::c_uint,
4773 utilizationSamples: *mut nvmlVgpuProcessUtilizationSample_t,
4774 ) -> nvmlReturn_t,
4775 ::libloading::Error,
4776 >,
4777 pub nvmlDeviceGetVgpuProcessesUtilizationInfo: Result<
4778 unsafe extern "C" fn(
4779 device: nvmlDevice_t,
4780 vgpuProcUtilInfo: *mut nvmlVgpuProcessesUtilizationInfo_t,
4781 ) -> nvmlReturn_t,
4782 ::libloading::Error,
4783 >,
4784 pub nvmlVgpuInstanceGetAccountingMode: Result<
4785 unsafe extern "C" fn(
4786 vgpuInstance: nvmlVgpuInstance_t,
4787 mode: *mut nvmlEnableState_t,
4788 ) -> nvmlReturn_t,
4789 ::libloading::Error,
4790 >,
4791 pub nvmlVgpuInstanceGetAccountingPids: Result<
4792 unsafe extern "C" fn(
4793 vgpuInstance: nvmlVgpuInstance_t,
4794 count: *mut raw::c_uint,
4795 pids: *mut raw::c_uint,
4796 ) -> nvmlReturn_t,
4797 ::libloading::Error,
4798 >,
4799 pub nvmlVgpuInstanceGetAccountingStats: Result<
4800 unsafe extern "C" fn(
4801 vgpuInstance: nvmlVgpuInstance_t,
4802 pid: raw::c_uint,
4803 stats: *mut nvmlAccountingStats_t,
4804 ) -> nvmlReturn_t,
4805 ::libloading::Error,
4806 >,
4807 pub nvmlVgpuInstanceClearAccountingPids: Result<
4808 unsafe extern "C" fn(vgpuInstance: nvmlVgpuInstance_t) -> nvmlReturn_t,
4809 ::libloading::Error,
4810 >,
4811 pub nvmlVgpuInstanceGetLicenseInfo_v2: Result<
4812 unsafe extern "C" fn(
4813 vgpuInstance: nvmlVgpuInstance_t,
4814 licenseInfo: *mut nvmlVgpuLicenseInfo_t,
4815 ) -> nvmlReturn_t,
4816 ::libloading::Error,
4817 >,
4818 pub nvmlGetExcludedDeviceCount: Result<
4819 unsafe extern "C" fn(deviceCount: *mut raw::c_uint) -> nvmlReturn_t,
4820 ::libloading::Error,
4821 >,
4822 pub nvmlGetExcludedDeviceInfoByIndex: Result<
4823 unsafe extern "C" fn(
4824 index: raw::c_uint,
4825 info: *mut nvmlExcludedDeviceInfo_t,
4826 ) -> nvmlReturn_t,
4827 ::libloading::Error,
4828 >,
4829 pub nvmlDeviceReadWritePRM_v1: Result<
4830 unsafe extern "C" fn(device: nvmlDevice_t, buffer: *mut nvmlPRMTLV_v1_t) -> nvmlReturn_t,
4831 ::libloading::Error,
4832 >,
4833 pub nvmlDeviceSetMigMode: Result<
4834 unsafe extern "C" fn(
4835 device: nvmlDevice_t,
4836 mode: raw::c_uint,
4837 activationStatus: *mut nvmlReturn_t,
4838 ) -> nvmlReturn_t,
4839 ::libloading::Error,
4840 >,
4841 pub nvmlDeviceGetMigMode: Result<
4842 unsafe extern "C" fn(
4843 device: nvmlDevice_t,
4844 currentMode: *mut raw::c_uint,
4845 pendingMode: *mut raw::c_uint,
4846 ) -> nvmlReturn_t,
4847 ::libloading::Error,
4848 >,
4849 pub nvmlDeviceGetGpuInstanceProfileInfo: Result<
4850 unsafe extern "C" fn(
4851 device: nvmlDevice_t,
4852 profile: raw::c_uint,
4853 info: *mut nvmlGpuInstanceProfileInfo_t,
4854 ) -> nvmlReturn_t,
4855 ::libloading::Error,
4856 >,
4857 pub nvmlDeviceGetGpuInstanceProfileInfoV: Result<
4858 unsafe extern "C" fn(
4859 device: nvmlDevice_t,
4860 profile: raw::c_uint,
4861 info: *mut nvmlGpuInstanceProfileInfo_v2_t,
4862 ) -> nvmlReturn_t,
4863 ::libloading::Error,
4864 >,
4865 pub nvmlDeviceGetGpuInstanceProfileInfoByIdV: Result<
4866 unsafe extern "C" fn(
4867 device: nvmlDevice_t,
4868 profileId: raw::c_uint,
4869 info: *mut nvmlGpuInstanceProfileInfo_v2_t,
4870 ) -> nvmlReturn_t,
4871 ::libloading::Error,
4872 >,
4873 pub nvmlDeviceGetGpuInstancePossiblePlacements_v2: Result<
4874 unsafe extern "C" fn(
4875 device: nvmlDevice_t,
4876 profileId: raw::c_uint,
4877 placements: *mut nvmlGpuInstancePlacement_t,
4878 count: *mut raw::c_uint,
4879 ) -> nvmlReturn_t,
4880 ::libloading::Error,
4881 >,
4882 pub nvmlDeviceGetGpuInstanceRemainingCapacity: Result<
4883 unsafe extern "C" fn(
4884 device: nvmlDevice_t,
4885 profileId: raw::c_uint,
4886 count: *mut raw::c_uint,
4887 ) -> nvmlReturn_t,
4888 ::libloading::Error,
4889 >,
4890 pub nvmlDeviceCreateGpuInstance: Result<
4891 unsafe extern "C" fn(
4892 device: nvmlDevice_t,
4893 profileId: raw::c_uint,
4894 gpuInstance: *mut nvmlGpuInstance_t,
4895 ) -> nvmlReturn_t,
4896 ::libloading::Error,
4897 >,
4898 pub nvmlDeviceCreateGpuInstanceWithPlacement: Result<
4899 unsafe extern "C" fn(
4900 device: nvmlDevice_t,
4901 profileId: raw::c_uint,
4902 placement: *const nvmlGpuInstancePlacement_t,
4903 gpuInstance: *mut nvmlGpuInstance_t,
4904 ) -> nvmlReturn_t,
4905 ::libloading::Error,
4906 >,
4907 pub nvmlGpuInstanceDestroy: Result<
4908 unsafe extern "C" fn(gpuInstance: nvmlGpuInstance_t) -> nvmlReturn_t,
4909 ::libloading::Error,
4910 >,
4911 pub nvmlDeviceGetGpuInstances: Result<
4912 unsafe extern "C" fn(
4913 device: nvmlDevice_t,
4914 profileId: raw::c_uint,
4915 gpuInstances: *mut nvmlGpuInstance_t,
4916 count: *mut raw::c_uint,
4917 ) -> nvmlReturn_t,
4918 ::libloading::Error,
4919 >,
4920 pub nvmlDeviceGetGpuInstanceById: Result<
4921 unsafe extern "C" fn(
4922 device: nvmlDevice_t,
4923 id: raw::c_uint,
4924 gpuInstance: *mut nvmlGpuInstance_t,
4925 ) -> nvmlReturn_t,
4926 ::libloading::Error,
4927 >,
4928 pub nvmlGpuInstanceGetInfo: Result<
4929 unsafe extern "C" fn(
4930 gpuInstance: nvmlGpuInstance_t,
4931 info: *mut nvmlGpuInstanceInfo_t,
4932 ) -> nvmlReturn_t,
4933 ::libloading::Error,
4934 >,
4935 pub nvmlGpuInstanceGetComputeInstanceProfileInfo: Result<
4936 unsafe extern "C" fn(
4937 gpuInstance: nvmlGpuInstance_t,
4938 profile: raw::c_uint,
4939 engProfile: raw::c_uint,
4940 info: *mut nvmlComputeInstanceProfileInfo_t,
4941 ) -> nvmlReturn_t,
4942 ::libloading::Error,
4943 >,
4944 pub nvmlGpuInstanceGetComputeInstanceProfileInfoV: Result<
4945 unsafe extern "C" fn(
4946 gpuInstance: nvmlGpuInstance_t,
4947 profile: raw::c_uint,
4948 engProfile: raw::c_uint,
4949 info: *mut nvmlComputeInstanceProfileInfo_v2_t,
4950 ) -> nvmlReturn_t,
4951 ::libloading::Error,
4952 >,
4953 pub nvmlGpuInstanceGetComputeInstanceRemainingCapacity: Result<
4954 unsafe extern "C" fn(
4955 gpuInstance: nvmlGpuInstance_t,
4956 profileId: raw::c_uint,
4957 count: *mut raw::c_uint,
4958 ) -> nvmlReturn_t,
4959 ::libloading::Error,
4960 >,
4961 pub nvmlGpuInstanceGetComputeInstancePossiblePlacements: Result<
4962 unsafe extern "C" fn(
4963 gpuInstance: nvmlGpuInstance_t,
4964 profileId: raw::c_uint,
4965 placements: *mut nvmlComputeInstancePlacement_t,
4966 count: *mut raw::c_uint,
4967 ) -> nvmlReturn_t,
4968 ::libloading::Error,
4969 >,
4970 pub nvmlGpuInstanceCreateComputeInstance: Result<
4971 unsafe extern "C" fn(
4972 gpuInstance: nvmlGpuInstance_t,
4973 profileId: raw::c_uint,
4974 computeInstance: *mut nvmlComputeInstance_t,
4975 ) -> nvmlReturn_t,
4976 ::libloading::Error,
4977 >,
4978 pub nvmlGpuInstanceCreateComputeInstanceWithPlacement: Result<
4979 unsafe extern "C" fn(
4980 gpuInstance: nvmlGpuInstance_t,
4981 profileId: raw::c_uint,
4982 placement: *const nvmlComputeInstancePlacement_t,
4983 computeInstance: *mut nvmlComputeInstance_t,
4984 ) -> nvmlReturn_t,
4985 ::libloading::Error,
4986 >,
4987 pub nvmlComputeInstanceDestroy: Result<
4988 unsafe extern "C" fn(computeInstance: nvmlComputeInstance_t) -> nvmlReturn_t,
4989 ::libloading::Error,
4990 >,
4991 pub nvmlGpuInstanceGetComputeInstances: Result<
4992 unsafe extern "C" fn(
4993 gpuInstance: nvmlGpuInstance_t,
4994 profileId: raw::c_uint,
4995 computeInstances: *mut nvmlComputeInstance_t,
4996 count: *mut raw::c_uint,
4997 ) -> nvmlReturn_t,
4998 ::libloading::Error,
4999 >,
5000 pub nvmlGpuInstanceGetComputeInstanceById: Result<
5001 unsafe extern "C" fn(
5002 gpuInstance: nvmlGpuInstance_t,
5003 id: raw::c_uint,
5004 computeInstance: *mut nvmlComputeInstance_t,
5005 ) -> nvmlReturn_t,
5006 ::libloading::Error,
5007 >,
5008 pub nvmlComputeInstanceGetInfo_v2: Result<
5009 unsafe extern "C" fn(
5010 computeInstance: nvmlComputeInstance_t,
5011 info: *mut nvmlComputeInstanceInfo_t,
5012 ) -> nvmlReturn_t,
5013 ::libloading::Error,
5014 >,
5015 pub nvmlDeviceIsMigDeviceHandle: Result<
5016 unsafe extern "C" fn(device: nvmlDevice_t, isMigDevice: *mut raw::c_uint) -> nvmlReturn_t,
5017 ::libloading::Error,
5018 >,
5019 pub nvmlDeviceGetGpuInstanceId: Result<
5020 unsafe extern "C" fn(device: nvmlDevice_t, id: *mut raw::c_uint) -> nvmlReturn_t,
5021 ::libloading::Error,
5022 >,
5023 pub nvmlDeviceGetComputeInstanceId: Result<
5024 unsafe extern "C" fn(device: nvmlDevice_t, id: *mut raw::c_uint) -> nvmlReturn_t,
5025 ::libloading::Error,
5026 >,
5027 pub nvmlDeviceGetMaxMigDeviceCount: Result<
5028 unsafe extern "C" fn(device: nvmlDevice_t, count: *mut raw::c_uint) -> nvmlReturn_t,
5029 ::libloading::Error,
5030 >,
5031 pub nvmlDeviceGetMigDeviceHandleByIndex: Result<
5032 unsafe extern "C" fn(
5033 device: nvmlDevice_t,
5034 index: raw::c_uint,
5035 migDevice: *mut nvmlDevice_t,
5036 ) -> nvmlReturn_t,
5037 ::libloading::Error,
5038 >,
5039 pub nvmlDeviceGetDeviceHandleFromMigDeviceHandle: Result<
5040 unsafe extern "C" fn(migDevice: nvmlDevice_t, device: *mut nvmlDevice_t) -> nvmlReturn_t,
5041 ::libloading::Error,
5042 >,
5043 pub nvmlGpmMetricsGet: Result<
5044 unsafe extern "C" fn(metricsGet: *mut nvmlGpmMetricsGet_t) -> nvmlReturn_t,
5045 ::libloading::Error,
5046 >,
5047 pub nvmlGpmSampleFree: Result<
5048 unsafe extern "C" fn(gpmSample: nvmlGpmSample_t) -> nvmlReturn_t,
5049 ::libloading::Error,
5050 >,
5051 pub nvmlGpmSampleAlloc: Result<
5052 unsafe extern "C" fn(gpmSample: *mut nvmlGpmSample_t) -> nvmlReturn_t,
5053 ::libloading::Error,
5054 >,
5055 pub nvmlGpmSampleGet: Result<
5056 unsafe extern "C" fn(device: nvmlDevice_t, gpmSample: nvmlGpmSample_t) -> nvmlReturn_t,
5057 ::libloading::Error,
5058 >,
5059 pub nvmlGpmMigSampleGet: Result<
5060 unsafe extern "C" fn(
5061 device: nvmlDevice_t,
5062 gpuInstanceId: raw::c_uint,
5063 gpmSample: nvmlGpmSample_t,
5064 ) -> nvmlReturn_t,
5065 ::libloading::Error,
5066 >,
5067 pub nvmlGpmQueryDeviceSupport: Result<
5068 unsafe extern "C" fn(
5069 device: nvmlDevice_t,
5070 gpmSupport: *mut nvmlGpmSupport_t,
5071 ) -> nvmlReturn_t,
5072 ::libloading::Error,
5073 >,
5074 pub nvmlGpmQueryIfStreamingEnabled: Result<
5075 unsafe extern "C" fn(device: nvmlDevice_t, state: *mut raw::c_uint) -> nvmlReturn_t,
5076 ::libloading::Error,
5077 >,
5078 pub nvmlGpmSetStreamingEnabled: Result<
5079 unsafe extern "C" fn(device: nvmlDevice_t, state: raw::c_uint) -> nvmlReturn_t,
5080 ::libloading::Error,
5081 >,
5082 pub nvmlDeviceGetCapabilities: Result<
5083 unsafe extern "C" fn(
5084 device: nvmlDevice_t,
5085 caps: *mut nvmlDeviceCapabilities_t,
5086 ) -> nvmlReturn_t,
5087 ::libloading::Error,
5088 >,
5089 pub nvmlDeviceWorkloadPowerProfileGetProfilesInfo: Result<
5090 unsafe extern "C" fn(
5091 device: nvmlDevice_t,
5092 profilesInfo: *mut nvmlWorkloadPowerProfileProfilesInfo_t,
5093 ) -> nvmlReturn_t,
5094 ::libloading::Error,
5095 >,
5096 pub nvmlDeviceWorkloadPowerProfileGetCurrentProfiles: Result<
5097 unsafe extern "C" fn(
5098 device: nvmlDevice_t,
5099 currentProfiles: *mut nvmlWorkloadPowerProfileCurrentProfiles_t,
5100 ) -> nvmlReturn_t,
5101 ::libloading::Error,
5102 >,
5103 pub nvmlDeviceWorkloadPowerProfileSetRequestedProfiles: Result<
5104 unsafe extern "C" fn(
5105 device: nvmlDevice_t,
5106 requestedProfiles: *mut nvmlWorkloadPowerProfileRequestedProfiles_t,
5107 ) -> nvmlReturn_t,
5108 ::libloading::Error,
5109 >,
5110 pub nvmlDeviceWorkloadPowerProfileClearRequestedProfiles: Result<
5111 unsafe extern "C" fn(
5112 device: nvmlDevice_t,
5113 requestedProfiles: *mut nvmlWorkloadPowerProfileRequestedProfiles_t,
5114 ) -> nvmlReturn_t,
5115 ::libloading::Error,
5116 >,
5117 pub nvmlDevicePowerSmoothingActivatePresetProfile: Result<
5118 unsafe extern "C" fn(
5119 device: nvmlDevice_t,
5120 profile: *mut nvmlPowerSmoothingProfile_t,
5121 ) -> nvmlReturn_t,
5122 ::libloading::Error,
5123 >,
5124 pub nvmlDevicePowerSmoothingUpdatePresetProfileParam: Result<
5125 unsafe extern "C" fn(
5126 device: nvmlDevice_t,
5127 profile: *mut nvmlPowerSmoothingProfile_t,
5128 ) -> nvmlReturn_t,
5129 ::libloading::Error,
5130 >,
5131 pub nvmlDevicePowerSmoothingSetState: Result<
5132 unsafe extern "C" fn(
5133 device: nvmlDevice_t,
5134 state: *mut nvmlPowerSmoothingState_t,
5135 ) -> nvmlReturn_t,
5136 ::libloading::Error,
5137 >,
5138 pub nvmlDeviceGetSramUniqueUncorrectedEccErrorCounts: Result<
5139 unsafe extern "C" fn(
5140 device: nvmlDevice_t,
5141 errorCounts: *mut nvmlEccSramUniqueUncorrectedErrorCounts_t,
5142 ) -> nvmlReturn_t,
5143 ::libloading::Error,
5144 >,
5145 #[cfg(feature = "legacy-functions")]
5146 pub nvmlInit: Result<unsafe extern "C" fn() -> nvmlReturn_t, ::libloading::Error>,
5147 #[cfg(feature = "legacy-functions")]
5148 pub nvmlDeviceGetCount: Result<
5149 unsafe extern "C" fn(deviceCount: *mut raw::c_uint) -> nvmlReturn_t,
5150 ::libloading::Error,
5151 >,
5152 #[cfg(feature = "legacy-functions")]
5153 pub nvmlDeviceGetHandleByIndex: Result<
5154 unsafe extern "C" fn(index: raw::c_uint, device: *mut nvmlDevice_t) -> nvmlReturn_t,
5155 ::libloading::Error,
5156 >,
5157 #[cfg(feature = "legacy-functions")]
5158 pub nvmlDeviceGetHandleByPciBusId: Result<
5159 unsafe extern "C" fn(
5160 pciBusId: *const raw::c_char,
5161 device: *mut nvmlDevice_t,
5162 ) -> nvmlReturn_t,
5163 ::libloading::Error,
5164 >,
5165 #[cfg(feature = "legacy-functions")]
5166 pub nvmlDeviceGetPciInfo: Result<
5167 unsafe extern "C" fn(device: nvmlDevice_t, pci: *mut nvmlPciInfo_t) -> nvmlReturn_t,
5168 ::libloading::Error,
5169 >,
5170 #[cfg(feature = "legacy-functions")]
5171 pub nvmlDeviceGetPciInfo_v2: Result<
5172 unsafe extern "C" fn(device: nvmlDevice_t, pci: *mut nvmlPciInfo_t) -> nvmlReturn_t,
5173 ::libloading::Error,
5174 >,
5175 #[cfg(feature = "legacy-functions")]
5176 pub nvmlDeviceGetNvLinkRemotePciInfo: Result<
5177 unsafe extern "C" fn(
5178 device: nvmlDevice_t,
5179 link: raw::c_uint,
5180 pci: *mut nvmlPciInfo_t,
5181 ) -> nvmlReturn_t,
5182 ::libloading::Error,
5183 >,
5184 #[cfg(feature = "legacy-functions")]
5185 pub nvmlDeviceGetGridLicensableFeatures: Result<
5186 unsafe extern "C" fn(
5187 device: nvmlDevice_t,
5188 pGridLicensableFeatures: *mut nvmlGridLicensableFeatures_t,
5189 ) -> nvmlReturn_t,
5190 ::libloading::Error,
5191 >,
5192 #[cfg(feature = "legacy-functions")]
5193 pub nvmlDeviceGetGridLicensableFeatures_v2: Result<
5194 unsafe extern "C" fn(
5195 device: nvmlDevice_t,
5196 pGridLicensableFeatures: *mut nvmlGridLicensableFeatures_t,
5197 ) -> nvmlReturn_t,
5198 ::libloading::Error,
5199 >,
5200 #[cfg(feature = "legacy-functions")]
5201 pub nvmlDeviceGetGridLicensableFeatures_v3: Result<
5202 unsafe extern "C" fn(
5203 device: nvmlDevice_t,
5204 pGridLicensableFeatures: *mut nvmlGridLicensableFeatures_t,
5205 ) -> nvmlReturn_t,
5206 ::libloading::Error,
5207 >,
5208 #[cfg(feature = "legacy-functions")]
5209 pub nvmlDeviceRemoveGpu: Result<
5210 unsafe extern "C" fn(pciInfo: *mut nvmlPciInfo_t) -> nvmlReturn_t,
5211 ::libloading::Error,
5212 >,
5213 #[cfg(feature = "legacy-functions")]
5214 pub nvmlEventSetWait: Result<
5215 unsafe extern "C" fn(
5216 set: nvmlEventSet_t,
5217 data: *mut nvmlEventData_t,
5218 timeoutms: raw::c_uint,
5219 ) -> nvmlReturn_t,
5220 ::libloading::Error,
5221 >,
5222 #[cfg(feature = "legacy-functions")]
5223 pub nvmlDeviceGetAttributes: Result<
5224 unsafe extern "C" fn(
5225 device: nvmlDevice_t,
5226 attributes: *mut nvmlDeviceAttributes_t,
5227 ) -> nvmlReturn_t,
5228 ::libloading::Error,
5229 >,
5230 #[cfg(feature = "legacy-functions")]
5231 pub nvmlComputeInstanceGetInfo: Result<
5232 unsafe extern "C" fn(
5233 computeInstance: nvmlComputeInstance_t,
5234 info: *mut nvmlComputeInstanceInfo_t,
5235 ) -> nvmlReturn_t,
5236 ::libloading::Error,
5237 >,
5238 #[cfg(feature = "legacy-functions")]
5239 pub nvmlDeviceGetComputeRunningProcesses: Result<
5240 unsafe extern "C" fn(
5241 device: nvmlDevice_t,
5242 infoCount: *mut raw::c_uint,
5243 infos: *mut nvmlProcessInfo_v1_t,
5244 ) -> nvmlReturn_t,
5245 ::libloading::Error,
5246 >,
5247 #[cfg(feature = "legacy-functions")]
5248 pub nvmlDeviceGetComputeRunningProcesses_v2: Result<
5249 unsafe extern "C" fn(
5250 device: nvmlDevice_t,
5251 infoCount: *mut raw::c_uint,
5252 infos: *mut nvmlProcessInfo_v2_t,
5253 ) -> nvmlReturn_t,
5254 ::libloading::Error,
5255 >,
5256 #[cfg(feature = "legacy-functions")]
5257 pub nvmlDeviceGetGraphicsRunningProcesses: Result<
5258 unsafe extern "C" fn(
5259 device: nvmlDevice_t,
5260 infoCount: *mut raw::c_uint,
5261 infos: *mut nvmlProcessInfo_v1_t,
5262 ) -> nvmlReturn_t,
5263 ::libloading::Error,
5264 >,
5265 #[cfg(feature = "legacy-functions")]
5266 pub nvmlDeviceGetGraphicsRunningProcesses_v2: Result<
5267 unsafe extern "C" fn(
5268 device: nvmlDevice_t,
5269 infoCount: *mut raw::c_uint,
5270 infos: *mut nvmlProcessInfo_v2_t,
5271 ) -> nvmlReturn_t,
5272 ::libloading::Error,
5273 >,
5274 #[cfg(feature = "legacy-functions")]
5275 pub nvmlDeviceGetMPSComputeRunningProcesses: Result<
5276 unsafe extern "C" fn(
5277 device: nvmlDevice_t,
5278 infoCount: *mut raw::c_uint,
5279 infos: *mut nvmlProcessInfo_v1_t,
5280 ) -> nvmlReturn_t,
5281 ::libloading::Error,
5282 >,
5283 #[cfg(feature = "legacy-functions")]
5284 pub nvmlDeviceGetMPSComputeRunningProcesses_v2: Result<
5285 unsafe extern "C" fn(
5286 device: nvmlDevice_t,
5287 infoCount: *mut raw::c_uint,
5288 infos: *mut nvmlProcessInfo_v2_t,
5289 ) -> nvmlReturn_t,
5290 ::libloading::Error,
5291 >,
5292 #[cfg(feature = "legacy-functions")]
5293 pub nvmlDeviceGetGpuInstancePossiblePlacements: Result<
5294 unsafe extern "C" fn(
5295 device: nvmlDevice_t,
5296 profileId: raw::c_uint,
5297 placements: *mut nvmlGpuInstancePlacement_t,
5298 count: *mut raw::c_uint,
5299 ) -> nvmlReturn_t,
5300 ::libloading::Error,
5301 >,
5302 #[cfg(feature = "legacy-functions")]
5303 pub nvmlVgpuInstanceGetLicenseInfo: Result<
5304 unsafe extern "C" fn(
5305 vgpuInstance: nvmlVgpuInstance_t,
5306 licenseInfo: *mut nvmlVgpuLicenseInfo_t,
5307 ) -> nvmlReturn_t,
5308 ::libloading::Error,
5309 >,
5310 pub nvmlDeviceGetDriverModel: Result<
5311 unsafe extern "C" fn(
5312 device: nvmlDevice_t,
5313 current: *mut nvmlDriverModel_t,
5314 pending: *mut nvmlDriverModel_t,
5315 ) -> nvmlReturn_t,
5316 ::libloading::Error,
5317 >,
5318}
5319impl NvmlLib {
5320 pub unsafe fn new<P>(path: P) -> Result<Self, ::libloading::Error>
5321 where
5322 P: AsRef<::std::ffi::OsStr>,
5323 {
5324 let library = ::libloading::Library::new(path)?;
5325 Self::from_library(library)
5326 }
5327 pub unsafe fn from_library<L>(library: L) -> Result<Self, ::libloading::Error>
5328 where
5329 L: Into<::libloading::Library>,
5330 {
5331 let __library = library.into();
5332 let nvmlInit_v2 = __library.get(b"nvmlInit_v2\0").map(|sym| *sym);
5333 let nvmlInitWithFlags = __library.get(b"nvmlInitWithFlags\0").map(|sym| *sym);
5334 let nvmlShutdown = __library.get(b"nvmlShutdown\0").map(|sym| *sym);
5335 let nvmlErrorString = __library.get(b"nvmlErrorString\0").map(|sym| *sym);
5336 let nvmlSystemGetDriverVersion = __library
5337 .get(b"nvmlSystemGetDriverVersion\0")
5338 .map(|sym| *sym);
5339 let nvmlSystemGetNVMLVersion = __library.get(b"nvmlSystemGetNVMLVersion\0").map(|sym| *sym);
5340 let nvmlSystemGetCudaDriverVersion = __library
5341 .get(b"nvmlSystemGetCudaDriverVersion\0")
5342 .map(|sym| *sym);
5343 let nvmlSystemGetCudaDriverVersion_v2 = __library
5344 .get(b"nvmlSystemGetCudaDriverVersion_v2\0")
5345 .map(|sym| *sym);
5346 let nvmlSystemGetProcessName = __library.get(b"nvmlSystemGetProcessName\0").map(|sym| *sym);
5347 let nvmlSystemGetHicVersion = __library.get(b"nvmlSystemGetHicVersion\0").map(|sym| *sym);
5348 let nvmlSystemGetTopologyGpuSet = __library
5349 .get(b"nvmlSystemGetTopologyGpuSet\0")
5350 .map(|sym| *sym);
5351 let nvmlSystemGetDriverBranch = __library
5352 .get(b"nvmlSystemGetDriverBranch\0")
5353 .map(|sym| *sym);
5354 let nvmlUnitGetCount = __library.get(b"nvmlUnitGetCount\0").map(|sym| *sym);
5355 let nvmlUnitGetHandleByIndex = __library.get(b"nvmlUnitGetHandleByIndex\0").map(|sym| *sym);
5356 let nvmlUnitGetUnitInfo = __library.get(b"nvmlUnitGetUnitInfo\0").map(|sym| *sym);
5357 let nvmlUnitGetLedState = __library.get(b"nvmlUnitGetLedState\0").map(|sym| *sym);
5358 let nvmlUnitGetPsuInfo = __library.get(b"nvmlUnitGetPsuInfo\0").map(|sym| *sym);
5359 let nvmlUnitGetTemperature = __library.get(b"nvmlUnitGetTemperature\0").map(|sym| *sym);
5360 let nvmlUnitGetFanSpeedInfo = __library.get(b"nvmlUnitGetFanSpeedInfo\0").map(|sym| *sym);
5361 let nvmlUnitGetDevices = __library.get(b"nvmlUnitGetDevices\0").map(|sym| *sym);
5362 let nvmlDeviceGetCount_v2 = __library.get(b"nvmlDeviceGetCount_v2\0").map(|sym| *sym);
5363 let nvmlDeviceGetAttributes_v2 = __library
5364 .get(b"nvmlDeviceGetAttributes_v2\0")
5365 .map(|sym| *sym);
5366 let nvmlDeviceGetHandleByIndex_v2 = __library
5367 .get(b"nvmlDeviceGetHandleByIndex_v2\0")
5368 .map(|sym| *sym);
5369 let nvmlDeviceGetHandleBySerial = __library
5370 .get(b"nvmlDeviceGetHandleBySerial\0")
5371 .map(|sym| *sym);
5372 let nvmlDeviceGetHandleByUUID = __library
5373 .get(b"nvmlDeviceGetHandleByUUID\0")
5374 .map(|sym| *sym);
5375 let nvmlDeviceGetHandleByUUIDV = __library
5376 .get(b"nvmlDeviceGetHandleByUUIDV\0")
5377 .map(|sym| *sym);
5378 let nvmlDeviceGetHandleByPciBusId_v2 = __library
5379 .get(b"nvmlDeviceGetHandleByPciBusId_v2\0")
5380 .map(|sym| *sym);
5381 let nvmlDeviceGetName = __library.get(b"nvmlDeviceGetName\0").map(|sym| *sym);
5382 let nvmlDeviceGetBrand = __library.get(b"nvmlDeviceGetBrand\0").map(|sym| *sym);
5383 let nvmlDeviceGetIndex = __library.get(b"nvmlDeviceGetIndex\0").map(|sym| *sym);
5384 let nvmlDeviceGetSerial = __library.get(b"nvmlDeviceGetSerial\0").map(|sym| *sym);
5385 let nvmlDeviceGetModuleId = __library.get(b"nvmlDeviceGetModuleId\0").map(|sym| *sym);
5386 let nvmlDeviceGetC2cModeInfoV = __library
5387 .get(b"nvmlDeviceGetC2cModeInfoV\0")
5388 .map(|sym| *sym);
5389 let nvmlDeviceGetMemoryAffinity = __library
5390 .get(b"nvmlDeviceGetMemoryAffinity\0")
5391 .map(|sym| *sym);
5392 let nvmlDeviceGetCpuAffinityWithinScope = __library
5393 .get(b"nvmlDeviceGetCpuAffinityWithinScope\0")
5394 .map(|sym| *sym);
5395 let nvmlDeviceGetCpuAffinity = __library.get(b"nvmlDeviceGetCpuAffinity\0").map(|sym| *sym);
5396 let nvmlDeviceSetCpuAffinity = __library.get(b"nvmlDeviceSetCpuAffinity\0").map(|sym| *sym);
5397 let nvmlDeviceClearCpuAffinity = __library
5398 .get(b"nvmlDeviceClearCpuAffinity\0")
5399 .map(|sym| *sym);
5400 let nvmlDeviceGetNumaNodeId = __library.get(b"nvmlDeviceGetNumaNodeId\0").map(|sym| *sym);
5401 let nvmlDeviceGetAddressingMode = __library
5402 .get(b"nvmlDeviceGetAddressingMode\0")
5403 .map(|sym| *sym);
5404 let nvmlDeviceGetRepairStatus = __library
5405 .get(b"nvmlDeviceGetRepairStatus\0")
5406 .map(|sym| *sym);
5407 let nvmlDeviceGetTopologyCommonAncestor = __library
5408 .get(b"nvmlDeviceGetTopologyCommonAncestor\0")
5409 .map(|sym| *sym);
5410 let nvmlDeviceGetTopologyNearestGpus = __library
5411 .get(b"nvmlDeviceGetTopologyNearestGpus\0")
5412 .map(|sym| *sym);
5413 let nvmlDeviceGetP2PStatus = __library.get(b"nvmlDeviceGetP2PStatus\0").map(|sym| *sym);
5414 let nvmlDeviceGetUUID = __library.get(b"nvmlDeviceGetUUID\0").map(|sym| *sym);
5415 let nvmlDeviceGetMinorNumber = __library.get(b"nvmlDeviceGetMinorNumber\0").map(|sym| *sym);
5416 let nvmlDeviceGetBoardPartNumber = __library
5417 .get(b"nvmlDeviceGetBoardPartNumber\0")
5418 .map(|sym| *sym);
5419 let nvmlDeviceGetInforomVersion = __library
5420 .get(b"nvmlDeviceGetInforomVersion\0")
5421 .map(|sym| *sym);
5422 let nvmlDeviceGetInforomImageVersion = __library
5423 .get(b"nvmlDeviceGetInforomImageVersion\0")
5424 .map(|sym| *sym);
5425 let nvmlDeviceGetInforomConfigurationChecksum = __library
5426 .get(b"nvmlDeviceGetInforomConfigurationChecksum\0")
5427 .map(|sym| *sym);
5428 let nvmlDeviceValidateInforom = __library
5429 .get(b"nvmlDeviceValidateInforom\0")
5430 .map(|sym| *sym);
5431 let nvmlDeviceGetLastBBXFlushTime = __library
5432 .get(b"nvmlDeviceGetLastBBXFlushTime\0")
5433 .map(|sym| *sym);
5434 let nvmlDeviceGetDisplayMode = __library.get(b"nvmlDeviceGetDisplayMode\0").map(|sym| *sym);
5435 let nvmlDeviceGetDisplayActive = __library
5436 .get(b"nvmlDeviceGetDisplayActive\0")
5437 .map(|sym| *sym);
5438 let nvmlDeviceGetPersistenceMode = __library
5439 .get(b"nvmlDeviceGetPersistenceMode\0")
5440 .map(|sym| *sym);
5441 let nvmlDeviceGetPciInfoExt = __library.get(b"nvmlDeviceGetPciInfoExt\0").map(|sym| *sym);
5442 let nvmlDeviceGetPciInfo_v3 = __library.get(b"nvmlDeviceGetPciInfo_v3\0").map(|sym| *sym);
5443 let nvmlDeviceGetMaxPcieLinkGeneration = __library
5444 .get(b"nvmlDeviceGetMaxPcieLinkGeneration\0")
5445 .map(|sym| *sym);
5446 let nvmlDeviceGetGpuMaxPcieLinkGeneration = __library
5447 .get(b"nvmlDeviceGetGpuMaxPcieLinkGeneration\0")
5448 .map(|sym| *sym);
5449 let nvmlDeviceGetMaxPcieLinkWidth = __library
5450 .get(b"nvmlDeviceGetMaxPcieLinkWidth\0")
5451 .map(|sym| *sym);
5452 let nvmlDeviceGetCurrPcieLinkGeneration = __library
5453 .get(b"nvmlDeviceGetCurrPcieLinkGeneration\0")
5454 .map(|sym| *sym);
5455 let nvmlDeviceGetCurrPcieLinkWidth = __library
5456 .get(b"nvmlDeviceGetCurrPcieLinkWidth\0")
5457 .map(|sym| *sym);
5458 let nvmlDeviceGetPcieThroughput = __library
5459 .get(b"nvmlDeviceGetPcieThroughput\0")
5460 .map(|sym| *sym);
5461 let nvmlDeviceGetPcieReplayCounter = __library
5462 .get(b"nvmlDeviceGetPcieReplayCounter\0")
5463 .map(|sym| *sym);
5464 let nvmlDeviceGetClockInfo = __library.get(b"nvmlDeviceGetClockInfo\0").map(|sym| *sym);
5465 let nvmlDeviceGetMaxClockInfo = __library
5466 .get(b"nvmlDeviceGetMaxClockInfo\0")
5467 .map(|sym| *sym);
5468 let nvmlDeviceGetGpcClkVfOffset = __library
5469 .get(b"nvmlDeviceGetGpcClkVfOffset\0")
5470 .map(|sym| *sym);
5471 let nvmlDeviceGetApplicationsClock = __library
5472 .get(b"nvmlDeviceGetApplicationsClock\0")
5473 .map(|sym| *sym);
5474 let nvmlDeviceGetDefaultApplicationsClock = __library
5475 .get(b"nvmlDeviceGetDefaultApplicationsClock\0")
5476 .map(|sym| *sym);
5477 let nvmlDeviceGetClock = __library.get(b"nvmlDeviceGetClock\0").map(|sym| *sym);
5478 let nvmlDeviceGetMaxCustomerBoostClock = __library
5479 .get(b"nvmlDeviceGetMaxCustomerBoostClock\0")
5480 .map(|sym| *sym);
5481 let nvmlDeviceGetSupportedMemoryClocks = __library
5482 .get(b"nvmlDeviceGetSupportedMemoryClocks\0")
5483 .map(|sym| *sym);
5484 let nvmlDeviceGetSupportedGraphicsClocks = __library
5485 .get(b"nvmlDeviceGetSupportedGraphicsClocks\0")
5486 .map(|sym| *sym);
5487 let nvmlDeviceGetAutoBoostedClocksEnabled = __library
5488 .get(b"nvmlDeviceGetAutoBoostedClocksEnabled\0")
5489 .map(|sym| *sym);
5490 let nvmlDeviceGetFanSpeed = __library.get(b"nvmlDeviceGetFanSpeed\0").map(|sym| *sym);
5491 let nvmlDeviceGetFanSpeed_v2 = __library.get(b"nvmlDeviceGetFanSpeed_v2\0").map(|sym| *sym);
5492 let nvmlDeviceGetFanSpeedRPM = __library.get(b"nvmlDeviceGetFanSpeedRPM\0").map(|sym| *sym);
5493 let nvmlDeviceGetTargetFanSpeed = __library
5494 .get(b"nvmlDeviceGetTargetFanSpeed\0")
5495 .map(|sym| *sym);
5496 let nvmlDeviceGetMinMaxFanSpeed = __library
5497 .get(b"nvmlDeviceGetMinMaxFanSpeed\0")
5498 .map(|sym| *sym);
5499 let nvmlDeviceGetFanControlPolicy_v2 = __library
5500 .get(b"nvmlDeviceGetFanControlPolicy_v2\0")
5501 .map(|sym| *sym);
5502 let nvmlDeviceGetNumFans = __library.get(b"nvmlDeviceGetNumFans\0").map(|sym| *sym);
5503 let nvmlDeviceGetTemperature = __library.get(b"nvmlDeviceGetTemperature\0").map(|sym| *sym);
5504 let nvmlDeviceGetCoolerInfo = __library.get(b"nvmlDeviceGetCoolerInfo\0").map(|sym| *sym);
5505 let nvmlDeviceGetTemperatureV = __library
5506 .get(b"nvmlDeviceGetTemperatureV\0")
5507 .map(|sym| *sym);
5508 let nvmlDeviceGetTemperatureThreshold = __library
5509 .get(b"nvmlDeviceGetTemperatureThreshold\0")
5510 .map(|sym| *sym);
5511 let nvmlDeviceGetMarginTemperature = __library
5512 .get(b"nvmlDeviceGetMarginTemperature\0")
5513 .map(|sym| *sym);
5514 let nvmlDeviceGetThermalSettings = __library
5515 .get(b"nvmlDeviceGetThermalSettings\0")
5516 .map(|sym| *sym);
5517 let nvmlDeviceGetPerformanceState = __library
5518 .get(b"nvmlDeviceGetPerformanceState\0")
5519 .map(|sym| *sym);
5520 let nvmlDeviceGetCurrentClocksEventReasons = __library
5521 .get(b"nvmlDeviceGetCurrentClocksEventReasons\0")
5522 .map(|sym| *sym);
5523 let nvmlDeviceGetCurrentClocksThrottleReasons = __library
5524 .get(b"nvmlDeviceGetCurrentClocksThrottleReasons\0")
5525 .map(|sym| *sym);
5526 let nvmlDeviceGetSupportedClocksEventReasons = __library
5527 .get(b"nvmlDeviceGetSupportedClocksEventReasons\0")
5528 .map(|sym| *sym);
5529 let nvmlDeviceGetSupportedClocksThrottleReasons = __library
5530 .get(b"nvmlDeviceGetSupportedClocksThrottleReasons\0")
5531 .map(|sym| *sym);
5532 let nvmlDeviceGetPowerState = __library.get(b"nvmlDeviceGetPowerState\0").map(|sym| *sym);
5533 let nvmlDeviceGetDynamicPstatesInfo = __library
5534 .get(b"nvmlDeviceGetDynamicPstatesInfo\0")
5535 .map(|sym| *sym);
5536 let nvmlDeviceGetMemClkVfOffset = __library
5537 .get(b"nvmlDeviceGetMemClkVfOffset\0")
5538 .map(|sym| *sym);
5539 let nvmlDeviceGetMinMaxClockOfPState = __library
5540 .get(b"nvmlDeviceGetMinMaxClockOfPState\0")
5541 .map(|sym| *sym);
5542 let nvmlDeviceGetSupportedPerformanceStates = __library
5543 .get(b"nvmlDeviceGetSupportedPerformanceStates\0")
5544 .map(|sym| *sym);
5545 let nvmlDeviceGetGpcClkMinMaxVfOffset = __library
5546 .get(b"nvmlDeviceGetGpcClkMinMaxVfOffset\0")
5547 .map(|sym| *sym);
5548 let nvmlDeviceGetMemClkMinMaxVfOffset = __library
5549 .get(b"nvmlDeviceGetMemClkMinMaxVfOffset\0")
5550 .map(|sym| *sym);
5551 let nvmlDeviceGetClockOffsets = __library
5552 .get(b"nvmlDeviceGetClockOffsets\0")
5553 .map(|sym| *sym);
5554 let nvmlDeviceSetClockOffsets = __library
5555 .get(b"nvmlDeviceSetClockOffsets\0")
5556 .map(|sym| *sym);
5557 let nvmlDeviceGetPerformanceModes = __library
5558 .get(b"nvmlDeviceGetPerformanceModes\0")
5559 .map(|sym| *sym);
5560 let nvmlDeviceGetCurrentClockFreqs = __library
5561 .get(b"nvmlDeviceGetCurrentClockFreqs\0")
5562 .map(|sym| *sym);
5563 let nvmlDeviceGetPowerManagementMode = __library
5564 .get(b"nvmlDeviceGetPowerManagementMode\0")
5565 .map(|sym| *sym);
5566 let nvmlDeviceGetPowerManagementLimit = __library
5567 .get(b"nvmlDeviceGetPowerManagementLimit\0")
5568 .map(|sym| *sym);
5569 let nvmlDeviceGetPowerManagementLimitConstraints = __library
5570 .get(b"nvmlDeviceGetPowerManagementLimitConstraints\0")
5571 .map(|sym| *sym);
5572 let nvmlDeviceGetPowerManagementDefaultLimit = __library
5573 .get(b"nvmlDeviceGetPowerManagementDefaultLimit\0")
5574 .map(|sym| *sym);
5575 let nvmlDeviceGetPowerUsage = __library.get(b"nvmlDeviceGetPowerUsage\0").map(|sym| *sym);
5576 let nvmlDeviceGetPowerMizerMode_v1 = __library
5577 .get(b"nvmlDeviceGetPowerMizerMode_v1\0")
5578 .map(|sym| *sym);
5579 let nvmlDeviceSetPowerMizerMode_v1 = __library
5580 .get(b"nvmlDeviceSetPowerMizerMode_v1\0")
5581 .map(|sym| *sym);
5582 let nvmlDeviceGetTotalEnergyConsumption = __library
5583 .get(b"nvmlDeviceGetTotalEnergyConsumption\0")
5584 .map(|sym| *sym);
5585 let nvmlDeviceGetEnforcedPowerLimit = __library
5586 .get(b"nvmlDeviceGetEnforcedPowerLimit\0")
5587 .map(|sym| *sym);
5588 let nvmlDeviceGetGpuOperationMode = __library
5589 .get(b"nvmlDeviceGetGpuOperationMode\0")
5590 .map(|sym| *sym);
5591 let nvmlDeviceGetMemoryInfo = __library.get(b"nvmlDeviceGetMemoryInfo\0").map(|sym| *sym);
5592 let nvmlDeviceGetMemoryInfo_v2 = __library
5593 .get(b"nvmlDeviceGetMemoryInfo_v2\0")
5594 .map(|sym| *sym);
5595 let nvmlDeviceGetComputeMode = __library.get(b"nvmlDeviceGetComputeMode\0").map(|sym| *sym);
5596 let nvmlDeviceGetCudaComputeCapability = __library
5597 .get(b"nvmlDeviceGetCudaComputeCapability\0")
5598 .map(|sym| *sym);
5599 let nvmlDeviceGetDramEncryptionMode = __library
5600 .get(b"nvmlDeviceGetDramEncryptionMode\0")
5601 .map(|sym| *sym);
5602 let nvmlDeviceSetDramEncryptionMode = __library
5603 .get(b"nvmlDeviceSetDramEncryptionMode\0")
5604 .map(|sym| *sym);
5605 let nvmlDeviceGetEccMode = __library.get(b"nvmlDeviceGetEccMode\0").map(|sym| *sym);
5606 let nvmlDeviceGetDefaultEccMode = __library
5607 .get(b"nvmlDeviceGetDefaultEccMode\0")
5608 .map(|sym| *sym);
5609 let nvmlDeviceGetBoardId = __library.get(b"nvmlDeviceGetBoardId\0").map(|sym| *sym);
5610 let nvmlDeviceGetMultiGpuBoard = __library
5611 .get(b"nvmlDeviceGetMultiGpuBoard\0")
5612 .map(|sym| *sym);
5613 let nvmlDeviceGetTotalEccErrors = __library
5614 .get(b"nvmlDeviceGetTotalEccErrors\0")
5615 .map(|sym| *sym);
5616 let nvmlDeviceGetDetailedEccErrors = __library
5617 .get(b"nvmlDeviceGetDetailedEccErrors\0")
5618 .map(|sym| *sym);
5619 let nvmlDeviceGetMemoryErrorCounter = __library
5620 .get(b"nvmlDeviceGetMemoryErrorCounter\0")
5621 .map(|sym| *sym);
5622 let nvmlDeviceGetUtilizationRates = __library
5623 .get(b"nvmlDeviceGetUtilizationRates\0")
5624 .map(|sym| *sym);
5625 let nvmlDeviceGetEncoderUtilization = __library
5626 .get(b"nvmlDeviceGetEncoderUtilization\0")
5627 .map(|sym| *sym);
5628 let nvmlDeviceGetEncoderCapacity = __library
5629 .get(b"nvmlDeviceGetEncoderCapacity\0")
5630 .map(|sym| *sym);
5631 let nvmlDeviceGetEncoderStats = __library
5632 .get(b"nvmlDeviceGetEncoderStats\0")
5633 .map(|sym| *sym);
5634 let nvmlDeviceGetEncoderSessions = __library
5635 .get(b"nvmlDeviceGetEncoderSessions\0")
5636 .map(|sym| *sym);
5637 let nvmlDeviceGetDecoderUtilization = __library
5638 .get(b"nvmlDeviceGetDecoderUtilization\0")
5639 .map(|sym| *sym);
5640 let nvmlDeviceGetJpgUtilization = __library
5641 .get(b"nvmlDeviceGetJpgUtilization\0")
5642 .map(|sym| *sym);
5643 let nvmlDeviceGetOfaUtilization = __library
5644 .get(b"nvmlDeviceGetOfaUtilization\0")
5645 .map(|sym| *sym);
5646 let nvmlDeviceGetFBCStats = __library.get(b"nvmlDeviceGetFBCStats\0").map(|sym| *sym);
5647 let nvmlDeviceGetFBCSessions = __library.get(b"nvmlDeviceGetFBCSessions\0").map(|sym| *sym);
5648 let nvmlDeviceGetDriverModel_v2 = __library
5649 .get(b"nvmlDeviceGetDriverModel_v2\0")
5650 .map(|sym| *sym);
5651 let nvmlDeviceGetVbiosVersion = __library
5652 .get(b"nvmlDeviceGetVbiosVersion\0")
5653 .map(|sym| *sym);
5654 let nvmlDeviceGetBridgeChipInfo = __library
5655 .get(b"nvmlDeviceGetBridgeChipInfo\0")
5656 .map(|sym| *sym);
5657 let nvmlDeviceGetComputeRunningProcesses_v3 = __library
5658 .get(b"nvmlDeviceGetComputeRunningProcesses_v3\0")
5659 .map(|sym| *sym);
5660 let nvmlDeviceGetGraphicsRunningProcesses_v3 = __library
5661 .get(b"nvmlDeviceGetGraphicsRunningProcesses_v3\0")
5662 .map(|sym| *sym);
5663 let nvmlDeviceGetMPSComputeRunningProcesses_v3 = __library
5664 .get(b"nvmlDeviceGetMPSComputeRunningProcesses_v3\0")
5665 .map(|sym| *sym);
5666 let nvmlDeviceGetRunningProcessDetailList = __library
5667 .get(b"nvmlDeviceGetRunningProcessDetailList\0")
5668 .map(|sym| *sym);
5669 let nvmlDeviceOnSameBoard = __library.get(b"nvmlDeviceOnSameBoard\0").map(|sym| *sym);
5670 let nvmlDeviceGetAPIRestriction = __library
5671 .get(b"nvmlDeviceGetAPIRestriction\0")
5672 .map(|sym| *sym);
5673 let nvmlDeviceGetSamples = __library.get(b"nvmlDeviceGetSamples\0").map(|sym| *sym);
5674 let nvmlDeviceGetBAR1MemoryInfo = __library
5675 .get(b"nvmlDeviceGetBAR1MemoryInfo\0")
5676 .map(|sym| *sym);
5677 let nvmlDeviceGetViolationStatus = __library
5678 .get(b"nvmlDeviceGetViolationStatus\0")
5679 .map(|sym| *sym);
5680 let nvmlDeviceGetIrqNum = __library.get(b"nvmlDeviceGetIrqNum\0").map(|sym| *sym);
5681 let nvmlDeviceGetNumGpuCores = __library.get(b"nvmlDeviceGetNumGpuCores\0").map(|sym| *sym);
5682 let nvmlDeviceGetPowerSource = __library.get(b"nvmlDeviceGetPowerSource\0").map(|sym| *sym);
5683 let nvmlDeviceGetMemoryBusWidth = __library
5684 .get(b"nvmlDeviceGetMemoryBusWidth\0")
5685 .map(|sym| *sym);
5686 let nvmlDeviceGetPcieLinkMaxSpeed = __library
5687 .get(b"nvmlDeviceGetPcieLinkMaxSpeed\0")
5688 .map(|sym| *sym);
5689 let nvmlDeviceGetPcieSpeed = __library.get(b"nvmlDeviceGetPcieSpeed\0").map(|sym| *sym);
5690 let nvmlDeviceGetAdaptiveClockInfoStatus = __library
5691 .get(b"nvmlDeviceGetAdaptiveClockInfoStatus\0")
5692 .map(|sym| *sym);
5693 let nvmlDeviceGetBusType = __library.get(b"nvmlDeviceGetBusType\0").map(|sym| *sym);
5694 let nvmlDeviceGetGpuFabricInfo = __library
5695 .get(b"nvmlDeviceGetGpuFabricInfo\0")
5696 .map(|sym| *sym);
5697 let nvmlDeviceGetGpuFabricInfoV = __library
5698 .get(b"nvmlDeviceGetGpuFabricInfoV\0")
5699 .map(|sym| *sym);
5700 let nvmlSystemGetConfComputeCapabilities = __library
5701 .get(b"nvmlSystemGetConfComputeCapabilities\0")
5702 .map(|sym| *sym);
5703 let nvmlSystemGetConfComputeState = __library
5704 .get(b"nvmlSystemGetConfComputeState\0")
5705 .map(|sym| *sym);
5706 let nvmlDeviceGetConfComputeMemSizeInfo = __library
5707 .get(b"nvmlDeviceGetConfComputeMemSizeInfo\0")
5708 .map(|sym| *sym);
5709 let nvmlSystemGetConfComputeGpusReadyState = __library
5710 .get(b"nvmlSystemGetConfComputeGpusReadyState\0")
5711 .map(|sym| *sym);
5712 let nvmlDeviceGetConfComputeProtectedMemoryUsage = __library
5713 .get(b"nvmlDeviceGetConfComputeProtectedMemoryUsage\0")
5714 .map(|sym| *sym);
5715 let nvmlDeviceGetConfComputeGpuCertificate = __library
5716 .get(b"nvmlDeviceGetConfComputeGpuCertificate\0")
5717 .map(|sym| *sym);
5718 let nvmlDeviceGetConfComputeGpuAttestationReport = __library
5719 .get(b"nvmlDeviceGetConfComputeGpuAttestationReport\0")
5720 .map(|sym| *sym);
5721 let nvmlSystemGetConfComputeKeyRotationThresholdInfo = __library
5722 .get(b"nvmlSystemGetConfComputeKeyRotationThresholdInfo\0")
5723 .map(|sym| *sym);
5724 let nvmlDeviceSetConfComputeUnprotectedMemSize = __library
5725 .get(b"nvmlDeviceSetConfComputeUnprotectedMemSize\0")
5726 .map(|sym| *sym);
5727 let nvmlSystemSetConfComputeGpusReadyState = __library
5728 .get(b"nvmlSystemSetConfComputeGpusReadyState\0")
5729 .map(|sym| *sym);
5730 let nvmlSystemSetConfComputeKeyRotationThresholdInfo = __library
5731 .get(b"nvmlSystemSetConfComputeKeyRotationThresholdInfo\0")
5732 .map(|sym| *sym);
5733 let nvmlSystemGetConfComputeSettings = __library
5734 .get(b"nvmlSystemGetConfComputeSettings\0")
5735 .map(|sym| *sym);
5736 let nvmlDeviceGetGspFirmwareVersion = __library
5737 .get(b"nvmlDeviceGetGspFirmwareVersion\0")
5738 .map(|sym| *sym);
5739 let nvmlDeviceGetGspFirmwareMode = __library
5740 .get(b"nvmlDeviceGetGspFirmwareMode\0")
5741 .map(|sym| *sym);
5742 let nvmlDeviceGetSramEccErrorStatus = __library
5743 .get(b"nvmlDeviceGetSramEccErrorStatus\0")
5744 .map(|sym| *sym);
5745 let nvmlDeviceSetPowerManagementLimit_v2 = __library
5746 .get(b"nvmlDeviceSetPowerManagementLimit_v2\0")
5747 .map(|sym| *sym);
5748 let nvmlDeviceGetAccountingMode = __library
5749 .get(b"nvmlDeviceGetAccountingMode\0")
5750 .map(|sym| *sym);
5751 let nvmlDeviceGetAccountingStats = __library
5752 .get(b"nvmlDeviceGetAccountingStats\0")
5753 .map(|sym| *sym);
5754 let nvmlDeviceGetAccountingPids = __library
5755 .get(b"nvmlDeviceGetAccountingPids\0")
5756 .map(|sym| *sym);
5757 let nvmlDeviceGetAccountingBufferSize = __library
5758 .get(b"nvmlDeviceGetAccountingBufferSize\0")
5759 .map(|sym| *sym);
5760 let nvmlDeviceGetRetiredPages = __library
5761 .get(b"nvmlDeviceGetRetiredPages\0")
5762 .map(|sym| *sym);
5763 let nvmlDeviceGetRetiredPages_v2 = __library
5764 .get(b"nvmlDeviceGetRetiredPages_v2\0")
5765 .map(|sym| *sym);
5766 let nvmlDeviceGetRetiredPagesPendingStatus = __library
5767 .get(b"nvmlDeviceGetRetiredPagesPendingStatus\0")
5768 .map(|sym| *sym);
5769 let nvmlDeviceGetRemappedRows = __library
5770 .get(b"nvmlDeviceGetRemappedRows\0")
5771 .map(|sym| *sym);
5772 let nvmlDeviceGetRowRemapperHistogram = __library
5773 .get(b"nvmlDeviceGetRowRemapperHistogram\0")
5774 .map(|sym| *sym);
5775 let nvmlDeviceGetArchitecture = __library
5776 .get(b"nvmlDeviceGetArchitecture\0")
5777 .map(|sym| *sym);
5778 let nvmlDeviceGetClkMonStatus = __library
5779 .get(b"nvmlDeviceGetClkMonStatus\0")
5780 .map(|sym| *sym);
5781 let nvmlDeviceGetProcessUtilization = __library
5782 .get(b"nvmlDeviceGetProcessUtilization\0")
5783 .map(|sym| *sym);
5784 let nvmlDeviceGetProcessesUtilizationInfo = __library
5785 .get(b"nvmlDeviceGetProcessesUtilizationInfo\0")
5786 .map(|sym| *sym);
5787 let nvmlDeviceGetPlatformInfo = __library
5788 .get(b"nvmlDeviceGetPlatformInfo\0")
5789 .map(|sym| *sym);
5790 let nvmlDeviceGetPdi = __library.get(b"nvmlDeviceGetPdi\0").map(|sym| *sym);
5791 let nvmlUnitSetLedState = __library.get(b"nvmlUnitSetLedState\0").map(|sym| *sym);
5792 let nvmlDeviceSetPersistenceMode = __library
5793 .get(b"nvmlDeviceSetPersistenceMode\0")
5794 .map(|sym| *sym);
5795 let nvmlDeviceSetComputeMode = __library.get(b"nvmlDeviceSetComputeMode\0").map(|sym| *sym);
5796 let nvmlDeviceSetEccMode = __library.get(b"nvmlDeviceSetEccMode\0").map(|sym| *sym);
5797 let nvmlDeviceClearEccErrorCounts = __library
5798 .get(b"nvmlDeviceClearEccErrorCounts\0")
5799 .map(|sym| *sym);
5800 let nvmlDeviceSetDriverModel = __library.get(b"nvmlDeviceSetDriverModel\0").map(|sym| *sym);
5801 let nvmlDeviceSetGpuLockedClocks = __library
5802 .get(b"nvmlDeviceSetGpuLockedClocks\0")
5803 .map(|sym| *sym);
5804 let nvmlDeviceResetGpuLockedClocks = __library
5805 .get(b"nvmlDeviceResetGpuLockedClocks\0")
5806 .map(|sym| *sym);
5807 let nvmlDeviceSetMemoryLockedClocks = __library
5808 .get(b"nvmlDeviceSetMemoryLockedClocks\0")
5809 .map(|sym| *sym);
5810 let nvmlDeviceResetMemoryLockedClocks = __library
5811 .get(b"nvmlDeviceResetMemoryLockedClocks\0")
5812 .map(|sym| *sym);
5813 let nvmlDeviceSetApplicationsClocks = __library
5814 .get(b"nvmlDeviceSetApplicationsClocks\0")
5815 .map(|sym| *sym);
5816 let nvmlDeviceResetApplicationsClocks = __library
5817 .get(b"nvmlDeviceResetApplicationsClocks\0")
5818 .map(|sym| *sym);
5819 let nvmlDeviceSetAutoBoostedClocksEnabled = __library
5820 .get(b"nvmlDeviceSetAutoBoostedClocksEnabled\0")
5821 .map(|sym| *sym);
5822 let nvmlDeviceSetDefaultAutoBoostedClocksEnabled = __library
5823 .get(b"nvmlDeviceSetDefaultAutoBoostedClocksEnabled\0")
5824 .map(|sym| *sym);
5825 let nvmlDeviceSetDefaultFanSpeed_v2 = __library
5826 .get(b"nvmlDeviceSetDefaultFanSpeed_v2\0")
5827 .map(|sym| *sym);
5828 let nvmlDeviceSetFanControlPolicy = __library
5829 .get(b"nvmlDeviceSetFanControlPolicy\0")
5830 .map(|sym| *sym);
5831 let nvmlDeviceSetTemperatureThreshold = __library
5832 .get(b"nvmlDeviceSetTemperatureThreshold\0")
5833 .map(|sym| *sym);
5834 let nvmlDeviceSetPowerManagementLimit = __library
5835 .get(b"nvmlDeviceSetPowerManagementLimit\0")
5836 .map(|sym| *sym);
5837 let nvmlDeviceSetGpuOperationMode = __library
5838 .get(b"nvmlDeviceSetGpuOperationMode\0")
5839 .map(|sym| *sym);
5840 let nvmlDeviceSetAPIRestriction = __library
5841 .get(b"nvmlDeviceSetAPIRestriction\0")
5842 .map(|sym| *sym);
5843 let nvmlDeviceSetFanSpeed_v2 = __library.get(b"nvmlDeviceSetFanSpeed_v2\0").map(|sym| *sym);
5844 let nvmlDeviceSetGpcClkVfOffset = __library
5845 .get(b"nvmlDeviceSetGpcClkVfOffset\0")
5846 .map(|sym| *sym);
5847 let nvmlDeviceSetMemClkVfOffset = __library
5848 .get(b"nvmlDeviceSetMemClkVfOffset\0")
5849 .map(|sym| *sym);
5850 let nvmlDeviceSetAccountingMode = __library
5851 .get(b"nvmlDeviceSetAccountingMode\0")
5852 .map(|sym| *sym);
5853 let nvmlDeviceClearAccountingPids = __library
5854 .get(b"nvmlDeviceClearAccountingPids\0")
5855 .map(|sym| *sym);
5856 let nvmlDeviceGetNvLinkState = __library.get(b"nvmlDeviceGetNvLinkState\0").map(|sym| *sym);
5857 let nvmlDeviceGetNvLinkVersion = __library
5858 .get(b"nvmlDeviceGetNvLinkVersion\0")
5859 .map(|sym| *sym);
5860 let nvmlDeviceGetNvLinkCapability = __library
5861 .get(b"nvmlDeviceGetNvLinkCapability\0")
5862 .map(|sym| *sym);
5863 let nvmlDeviceGetNvLinkRemotePciInfo_v2 = __library
5864 .get(b"nvmlDeviceGetNvLinkRemotePciInfo_v2\0")
5865 .map(|sym| *sym);
5866 let nvmlDeviceGetNvLinkErrorCounter = __library
5867 .get(b"nvmlDeviceGetNvLinkErrorCounter\0")
5868 .map(|sym| *sym);
5869 let nvmlDeviceResetNvLinkErrorCounters = __library
5870 .get(b"nvmlDeviceResetNvLinkErrorCounters\0")
5871 .map(|sym| *sym);
5872 let nvmlDeviceSetNvLinkUtilizationControl = __library
5873 .get(b"nvmlDeviceSetNvLinkUtilizationControl\0")
5874 .map(|sym| *sym);
5875 let nvmlDeviceGetNvLinkUtilizationControl = __library
5876 .get(b"nvmlDeviceGetNvLinkUtilizationControl\0")
5877 .map(|sym| *sym);
5878 let nvmlDeviceGetNvLinkUtilizationCounter = __library
5879 .get(b"nvmlDeviceGetNvLinkUtilizationCounter\0")
5880 .map(|sym| *sym);
5881 let nvmlDeviceFreezeNvLinkUtilizationCounter = __library
5882 .get(b"nvmlDeviceFreezeNvLinkUtilizationCounter\0")
5883 .map(|sym| *sym);
5884 let nvmlDeviceResetNvLinkUtilizationCounter = __library
5885 .get(b"nvmlDeviceResetNvLinkUtilizationCounter\0")
5886 .map(|sym| *sym);
5887 let nvmlDeviceGetNvLinkRemoteDeviceType = __library
5888 .get(b"nvmlDeviceGetNvLinkRemoteDeviceType\0")
5889 .map(|sym| *sym);
5890 let nvmlDeviceSetNvLinkDeviceLowPowerThreshold = __library
5891 .get(b"nvmlDeviceSetNvLinkDeviceLowPowerThreshold\0")
5892 .map(|sym| *sym);
5893 let nvmlSystemSetNvlinkBwMode = __library
5894 .get(b"nvmlSystemSetNvlinkBwMode\0")
5895 .map(|sym| *sym);
5896 let nvmlSystemGetNvlinkBwMode = __library
5897 .get(b"nvmlSystemGetNvlinkBwMode\0")
5898 .map(|sym| *sym);
5899 let nvmlDeviceGetNvlinkSupportedBwModes = __library
5900 .get(b"nvmlDeviceGetNvlinkSupportedBwModes\0")
5901 .map(|sym| *sym);
5902 let nvmlDeviceGetNvlinkBwMode = __library
5903 .get(b"nvmlDeviceGetNvlinkBwMode\0")
5904 .map(|sym| *sym);
5905 let nvmlDeviceSetNvlinkBwMode = __library
5906 .get(b"nvmlDeviceSetNvlinkBwMode\0")
5907 .map(|sym| *sym);
5908 let nvmlDeviceGetNvLinkInfo = __library.get(b"nvmlDeviceGetNvLinkInfo\0").map(|sym| *sym);
5909 let nvmlEventSetCreate = __library.get(b"nvmlEventSetCreate\0").map(|sym| *sym);
5910 let nvmlDeviceRegisterEvents = __library.get(b"nvmlDeviceRegisterEvents\0").map(|sym| *sym);
5911 let nvmlDeviceGetSupportedEventTypes = __library
5912 .get(b"nvmlDeviceGetSupportedEventTypes\0")
5913 .map(|sym| *sym);
5914 let nvmlEventSetWait_v2 = __library.get(b"nvmlEventSetWait_v2\0").map(|sym| *sym);
5915 let nvmlEventSetFree = __library.get(b"nvmlEventSetFree\0").map(|sym| *sym);
5916 let nvmlSystemEventSetCreate = __library.get(b"nvmlSystemEventSetCreate\0").map(|sym| *sym);
5917 let nvmlSystemEventSetFree = __library.get(b"nvmlSystemEventSetFree\0").map(|sym| *sym);
5918 let nvmlSystemRegisterEvents = __library.get(b"nvmlSystemRegisterEvents\0").map(|sym| *sym);
5919 let nvmlSystemEventSetWait = __library.get(b"nvmlSystemEventSetWait\0").map(|sym| *sym);
5920 let nvmlDeviceModifyDrainState = __library
5921 .get(b"nvmlDeviceModifyDrainState\0")
5922 .map(|sym| *sym);
5923 let nvmlDeviceQueryDrainState = __library
5924 .get(b"nvmlDeviceQueryDrainState\0")
5925 .map(|sym| *sym);
5926 let nvmlDeviceRemoveGpu_v2 = __library.get(b"nvmlDeviceRemoveGpu_v2\0").map(|sym| *sym);
5927 let nvmlDeviceDiscoverGpus = __library.get(b"nvmlDeviceDiscoverGpus\0").map(|sym| *sym);
5928 let nvmlDeviceGetFieldValues = __library.get(b"nvmlDeviceGetFieldValues\0").map(|sym| *sym);
5929 let nvmlDeviceClearFieldValues = __library
5930 .get(b"nvmlDeviceClearFieldValues\0")
5931 .map(|sym| *sym);
5932 let nvmlDeviceGetVirtualizationMode = __library
5933 .get(b"nvmlDeviceGetVirtualizationMode\0")
5934 .map(|sym| *sym);
5935 let nvmlDeviceGetHostVgpuMode = __library
5936 .get(b"nvmlDeviceGetHostVgpuMode\0")
5937 .map(|sym| *sym);
5938 let nvmlDeviceSetVirtualizationMode = __library
5939 .get(b"nvmlDeviceSetVirtualizationMode\0")
5940 .map(|sym| *sym);
5941 let nvmlDeviceGetVgpuHeterogeneousMode = __library
5942 .get(b"nvmlDeviceGetVgpuHeterogeneousMode\0")
5943 .map(|sym| *sym);
5944 let nvmlDeviceSetVgpuHeterogeneousMode = __library
5945 .get(b"nvmlDeviceSetVgpuHeterogeneousMode\0")
5946 .map(|sym| *sym);
5947 let nvmlVgpuInstanceGetPlacementId = __library
5948 .get(b"nvmlVgpuInstanceGetPlacementId\0")
5949 .map(|sym| *sym);
5950 let nvmlDeviceGetVgpuTypeSupportedPlacements = __library
5951 .get(b"nvmlDeviceGetVgpuTypeSupportedPlacements\0")
5952 .map(|sym| *sym);
5953 let nvmlDeviceGetVgpuTypeCreatablePlacements = __library
5954 .get(b"nvmlDeviceGetVgpuTypeCreatablePlacements\0")
5955 .map(|sym| *sym);
5956 let nvmlVgpuTypeGetGspHeapSize = __library
5957 .get(b"nvmlVgpuTypeGetGspHeapSize\0")
5958 .map(|sym| *sym);
5959 let nvmlVgpuTypeGetFbReservation = __library
5960 .get(b"nvmlVgpuTypeGetFbReservation\0")
5961 .map(|sym| *sym);
5962 let nvmlVgpuInstanceGetRuntimeStateSize = __library
5963 .get(b"nvmlVgpuInstanceGetRuntimeStateSize\0")
5964 .map(|sym| *sym);
5965 let nvmlDeviceSetVgpuCapabilities = __library
5966 .get(b"nvmlDeviceSetVgpuCapabilities\0")
5967 .map(|sym| *sym);
5968 let nvmlDeviceGetGridLicensableFeatures_v4 = __library
5969 .get(b"nvmlDeviceGetGridLicensableFeatures_v4\0")
5970 .map(|sym| *sym);
5971 let nvmlGetVgpuDriverCapabilities = __library
5972 .get(b"nvmlGetVgpuDriverCapabilities\0")
5973 .map(|sym| *sym);
5974 let nvmlDeviceGetVgpuCapabilities = __library
5975 .get(b"nvmlDeviceGetVgpuCapabilities\0")
5976 .map(|sym| *sym);
5977 let nvmlDeviceGetSupportedVgpus = __library
5978 .get(b"nvmlDeviceGetSupportedVgpus\0")
5979 .map(|sym| *sym);
5980 let nvmlDeviceGetCreatableVgpus = __library
5981 .get(b"nvmlDeviceGetCreatableVgpus\0")
5982 .map(|sym| *sym);
5983 let nvmlVgpuTypeGetClass = __library.get(b"nvmlVgpuTypeGetClass\0").map(|sym| *sym);
5984 let nvmlVgpuTypeGetName = __library.get(b"nvmlVgpuTypeGetName\0").map(|sym| *sym);
5985 let nvmlVgpuTypeGetGpuInstanceProfileId = __library
5986 .get(b"nvmlVgpuTypeGetGpuInstanceProfileId\0")
5987 .map(|sym| *sym);
5988 let nvmlVgpuTypeGetDeviceID = __library.get(b"nvmlVgpuTypeGetDeviceID\0").map(|sym| *sym);
5989 let nvmlVgpuTypeGetFramebufferSize = __library
5990 .get(b"nvmlVgpuTypeGetFramebufferSize\0")
5991 .map(|sym| *sym);
5992 let nvmlVgpuTypeGetNumDisplayHeads = __library
5993 .get(b"nvmlVgpuTypeGetNumDisplayHeads\0")
5994 .map(|sym| *sym);
5995 let nvmlVgpuTypeGetResolution = __library
5996 .get(b"nvmlVgpuTypeGetResolution\0")
5997 .map(|sym| *sym);
5998 let nvmlVgpuTypeGetLicense = __library.get(b"nvmlVgpuTypeGetLicense\0").map(|sym| *sym);
5999 let nvmlVgpuTypeGetFrameRateLimit = __library
6000 .get(b"nvmlVgpuTypeGetFrameRateLimit\0")
6001 .map(|sym| *sym);
6002 let nvmlVgpuTypeGetMaxInstances = __library
6003 .get(b"nvmlVgpuTypeGetMaxInstances\0")
6004 .map(|sym| *sym);
6005 let nvmlVgpuTypeGetMaxInstancesPerVm = __library
6006 .get(b"nvmlVgpuTypeGetMaxInstancesPerVm\0")
6007 .map(|sym| *sym);
6008 let nvmlVgpuTypeGetBAR1Info = __library.get(b"nvmlVgpuTypeGetBAR1Info\0").map(|sym| *sym);
6009 let nvmlDeviceGetActiveVgpus = __library.get(b"nvmlDeviceGetActiveVgpus\0").map(|sym| *sym);
6010 let nvmlVgpuInstanceGetVmID = __library.get(b"nvmlVgpuInstanceGetVmID\0").map(|sym| *sym);
6011 let nvmlVgpuInstanceGetUUID = __library.get(b"nvmlVgpuInstanceGetUUID\0").map(|sym| *sym);
6012 let nvmlVgpuInstanceGetVmDriverVersion = __library
6013 .get(b"nvmlVgpuInstanceGetVmDriverVersion\0")
6014 .map(|sym| *sym);
6015 let nvmlVgpuInstanceGetFbUsage = __library
6016 .get(b"nvmlVgpuInstanceGetFbUsage\0")
6017 .map(|sym| *sym);
6018 let nvmlVgpuInstanceGetLicenseStatus = __library
6019 .get(b"nvmlVgpuInstanceGetLicenseStatus\0")
6020 .map(|sym| *sym);
6021 let nvmlVgpuInstanceGetType = __library.get(b"nvmlVgpuInstanceGetType\0").map(|sym| *sym);
6022 let nvmlVgpuInstanceGetFrameRateLimit = __library
6023 .get(b"nvmlVgpuInstanceGetFrameRateLimit\0")
6024 .map(|sym| *sym);
6025 let nvmlVgpuInstanceGetEccMode = __library
6026 .get(b"nvmlVgpuInstanceGetEccMode\0")
6027 .map(|sym| *sym);
6028 let nvmlVgpuInstanceGetEncoderCapacity = __library
6029 .get(b"nvmlVgpuInstanceGetEncoderCapacity\0")
6030 .map(|sym| *sym);
6031 let nvmlVgpuInstanceSetEncoderCapacity = __library
6032 .get(b"nvmlVgpuInstanceSetEncoderCapacity\0")
6033 .map(|sym| *sym);
6034 let nvmlVgpuInstanceGetEncoderStats = __library
6035 .get(b"nvmlVgpuInstanceGetEncoderStats\0")
6036 .map(|sym| *sym);
6037 let nvmlVgpuInstanceGetEncoderSessions = __library
6038 .get(b"nvmlVgpuInstanceGetEncoderSessions\0")
6039 .map(|sym| *sym);
6040 let nvmlVgpuInstanceGetFBCStats = __library
6041 .get(b"nvmlVgpuInstanceGetFBCStats\0")
6042 .map(|sym| *sym);
6043 let nvmlVgpuInstanceGetFBCSessions = __library
6044 .get(b"nvmlVgpuInstanceGetFBCSessions\0")
6045 .map(|sym| *sym);
6046 let nvmlVgpuInstanceGetGpuInstanceId = __library
6047 .get(b"nvmlVgpuInstanceGetGpuInstanceId\0")
6048 .map(|sym| *sym);
6049 let nvmlVgpuInstanceGetGpuPciId = __library
6050 .get(b"nvmlVgpuInstanceGetGpuPciId\0")
6051 .map(|sym| *sym);
6052 let nvmlVgpuTypeGetCapabilities = __library
6053 .get(b"nvmlVgpuTypeGetCapabilities\0")
6054 .map(|sym| *sym);
6055 let nvmlVgpuInstanceGetMdevUUID = __library
6056 .get(b"nvmlVgpuInstanceGetMdevUUID\0")
6057 .map(|sym| *sym);
6058 let nvmlGpuInstanceGetCreatableVgpus = __library
6059 .get(b"nvmlGpuInstanceGetCreatableVgpus\0")
6060 .map(|sym| *sym);
6061 let nvmlVgpuTypeGetMaxInstancesPerGpuInstance = __library
6062 .get(b"nvmlVgpuTypeGetMaxInstancesPerGpuInstance\0")
6063 .map(|sym| *sym);
6064 let nvmlGpuInstanceGetActiveVgpus = __library
6065 .get(b"nvmlGpuInstanceGetActiveVgpus\0")
6066 .map(|sym| *sym);
6067 let nvmlGpuInstanceSetVgpuSchedulerState = __library
6068 .get(b"nvmlGpuInstanceSetVgpuSchedulerState\0")
6069 .map(|sym| *sym);
6070 let nvmlGpuInstanceGetVgpuSchedulerState = __library
6071 .get(b"nvmlGpuInstanceGetVgpuSchedulerState\0")
6072 .map(|sym| *sym);
6073 let nvmlGpuInstanceGetVgpuSchedulerLog = __library
6074 .get(b"nvmlGpuInstanceGetVgpuSchedulerLog\0")
6075 .map(|sym| *sym);
6076 let nvmlGpuInstanceGetVgpuTypeCreatablePlacements = __library
6077 .get(b"nvmlGpuInstanceGetVgpuTypeCreatablePlacements\0")
6078 .map(|sym| *sym);
6079 let nvmlGpuInstanceGetVgpuHeterogeneousMode = __library
6080 .get(b"nvmlGpuInstanceGetVgpuHeterogeneousMode\0")
6081 .map(|sym| *sym);
6082 let nvmlGpuInstanceSetVgpuHeterogeneousMode = __library
6083 .get(b"nvmlGpuInstanceSetVgpuHeterogeneousMode\0")
6084 .map(|sym| *sym);
6085 let nvmlVgpuInstanceGetMetadata = __library
6086 .get(b"nvmlVgpuInstanceGetMetadata\0")
6087 .map(|sym| *sym);
6088 let nvmlDeviceGetVgpuMetadata = __library
6089 .get(b"nvmlDeviceGetVgpuMetadata\0")
6090 .map(|sym| *sym);
6091 let nvmlGetVgpuCompatibility = __library.get(b"nvmlGetVgpuCompatibility\0").map(|sym| *sym);
6092 let nvmlDeviceGetPgpuMetadataString = __library
6093 .get(b"nvmlDeviceGetPgpuMetadataString\0")
6094 .map(|sym| *sym);
6095 let nvmlDeviceGetVgpuSchedulerLog = __library
6096 .get(b"nvmlDeviceGetVgpuSchedulerLog\0")
6097 .map(|sym| *sym);
6098 let nvmlDeviceGetVgpuSchedulerState = __library
6099 .get(b"nvmlDeviceGetVgpuSchedulerState\0")
6100 .map(|sym| *sym);
6101 let nvmlDeviceGetVgpuSchedulerCapabilities = __library
6102 .get(b"nvmlDeviceGetVgpuSchedulerCapabilities\0")
6103 .map(|sym| *sym);
6104 let nvmlDeviceSetVgpuSchedulerState = __library
6105 .get(b"nvmlDeviceSetVgpuSchedulerState\0")
6106 .map(|sym| *sym);
6107 let nvmlGetVgpuVersion = __library.get(b"nvmlGetVgpuVersion\0").map(|sym| *sym);
6108 let nvmlSetVgpuVersion = __library.get(b"nvmlSetVgpuVersion\0").map(|sym| *sym);
6109 let nvmlDeviceGetVgpuUtilization = __library
6110 .get(b"nvmlDeviceGetVgpuUtilization\0")
6111 .map(|sym| *sym);
6112 let nvmlDeviceGetVgpuInstancesUtilizationInfo = __library
6113 .get(b"nvmlDeviceGetVgpuInstancesUtilizationInfo\0")
6114 .map(|sym| *sym);
6115 let nvmlDeviceGetVgpuProcessUtilization = __library
6116 .get(b"nvmlDeviceGetVgpuProcessUtilization\0")
6117 .map(|sym| *sym);
6118 let nvmlDeviceGetVgpuProcessesUtilizationInfo = __library
6119 .get(b"nvmlDeviceGetVgpuProcessesUtilizationInfo\0")
6120 .map(|sym| *sym);
6121 let nvmlVgpuInstanceGetAccountingMode = __library
6122 .get(b"nvmlVgpuInstanceGetAccountingMode\0")
6123 .map(|sym| *sym);
6124 let nvmlVgpuInstanceGetAccountingPids = __library
6125 .get(b"nvmlVgpuInstanceGetAccountingPids\0")
6126 .map(|sym| *sym);
6127 let nvmlVgpuInstanceGetAccountingStats = __library
6128 .get(b"nvmlVgpuInstanceGetAccountingStats\0")
6129 .map(|sym| *sym);
6130 let nvmlVgpuInstanceClearAccountingPids = __library
6131 .get(b"nvmlVgpuInstanceClearAccountingPids\0")
6132 .map(|sym| *sym);
6133 let nvmlVgpuInstanceGetLicenseInfo_v2 = __library
6134 .get(b"nvmlVgpuInstanceGetLicenseInfo_v2\0")
6135 .map(|sym| *sym);
6136 let nvmlGetExcludedDeviceCount = __library
6137 .get(b"nvmlGetExcludedDeviceCount\0")
6138 .map(|sym| *sym);
6139 let nvmlGetExcludedDeviceInfoByIndex = __library
6140 .get(b"nvmlGetExcludedDeviceInfoByIndex\0")
6141 .map(|sym| *sym);
6142 let nvmlDeviceReadWritePRM_v1 = __library
6143 .get(b"nvmlDeviceReadWritePRM_v1\0")
6144 .map(|sym| *sym);
6145 let nvmlDeviceSetMigMode = __library.get(b"nvmlDeviceSetMigMode\0").map(|sym| *sym);
6146 let nvmlDeviceGetMigMode = __library.get(b"nvmlDeviceGetMigMode\0").map(|sym| *sym);
6147 let nvmlDeviceGetGpuInstanceProfileInfo = __library
6148 .get(b"nvmlDeviceGetGpuInstanceProfileInfo\0")
6149 .map(|sym| *sym);
6150 let nvmlDeviceGetGpuInstanceProfileInfoV = __library
6151 .get(b"nvmlDeviceGetGpuInstanceProfileInfoV\0")
6152 .map(|sym| *sym);
6153 let nvmlDeviceGetGpuInstanceProfileInfoByIdV = __library
6154 .get(b"nvmlDeviceGetGpuInstanceProfileInfoByIdV\0")
6155 .map(|sym| *sym);
6156 let nvmlDeviceGetGpuInstancePossiblePlacements_v2 = __library
6157 .get(b"nvmlDeviceGetGpuInstancePossiblePlacements_v2\0")
6158 .map(|sym| *sym);
6159 let nvmlDeviceGetGpuInstanceRemainingCapacity = __library
6160 .get(b"nvmlDeviceGetGpuInstanceRemainingCapacity\0")
6161 .map(|sym| *sym);
6162 let nvmlDeviceCreateGpuInstance = __library
6163 .get(b"nvmlDeviceCreateGpuInstance\0")
6164 .map(|sym| *sym);
6165 let nvmlDeviceCreateGpuInstanceWithPlacement = __library
6166 .get(b"nvmlDeviceCreateGpuInstanceWithPlacement\0")
6167 .map(|sym| *sym);
6168 let nvmlGpuInstanceDestroy = __library.get(b"nvmlGpuInstanceDestroy\0").map(|sym| *sym);
6169 let nvmlDeviceGetGpuInstances = __library
6170 .get(b"nvmlDeviceGetGpuInstances\0")
6171 .map(|sym| *sym);
6172 let nvmlDeviceGetGpuInstanceById = __library
6173 .get(b"nvmlDeviceGetGpuInstanceById\0")
6174 .map(|sym| *sym);
6175 let nvmlGpuInstanceGetInfo = __library.get(b"nvmlGpuInstanceGetInfo\0").map(|sym| *sym);
6176 let nvmlGpuInstanceGetComputeInstanceProfileInfo = __library
6177 .get(b"nvmlGpuInstanceGetComputeInstanceProfileInfo\0")
6178 .map(|sym| *sym);
6179 let nvmlGpuInstanceGetComputeInstanceProfileInfoV = __library
6180 .get(b"nvmlGpuInstanceGetComputeInstanceProfileInfoV\0")
6181 .map(|sym| *sym);
6182 let nvmlGpuInstanceGetComputeInstanceRemainingCapacity = __library
6183 .get(b"nvmlGpuInstanceGetComputeInstanceRemainingCapacity\0")
6184 .map(|sym| *sym);
6185 let nvmlGpuInstanceGetComputeInstancePossiblePlacements = __library
6186 .get(b"nvmlGpuInstanceGetComputeInstancePossiblePlacements\0")
6187 .map(|sym| *sym);
6188 let nvmlGpuInstanceCreateComputeInstance = __library
6189 .get(b"nvmlGpuInstanceCreateComputeInstance\0")
6190 .map(|sym| *sym);
6191 let nvmlGpuInstanceCreateComputeInstanceWithPlacement = __library
6192 .get(b"nvmlGpuInstanceCreateComputeInstanceWithPlacement\0")
6193 .map(|sym| *sym);
6194 let nvmlComputeInstanceDestroy = __library
6195 .get(b"nvmlComputeInstanceDestroy\0")
6196 .map(|sym| *sym);
6197 let nvmlGpuInstanceGetComputeInstances = __library
6198 .get(b"nvmlGpuInstanceGetComputeInstances\0")
6199 .map(|sym| *sym);
6200 let nvmlGpuInstanceGetComputeInstanceById = __library
6201 .get(b"nvmlGpuInstanceGetComputeInstanceById\0")
6202 .map(|sym| *sym);
6203 let nvmlComputeInstanceGetInfo_v2 = __library
6204 .get(b"nvmlComputeInstanceGetInfo_v2\0")
6205 .map(|sym| *sym);
6206 let nvmlDeviceIsMigDeviceHandle = __library
6207 .get(b"nvmlDeviceIsMigDeviceHandle\0")
6208 .map(|sym| *sym);
6209 let nvmlDeviceGetGpuInstanceId = __library
6210 .get(b"nvmlDeviceGetGpuInstanceId\0")
6211 .map(|sym| *sym);
6212 let nvmlDeviceGetComputeInstanceId = __library
6213 .get(b"nvmlDeviceGetComputeInstanceId\0")
6214 .map(|sym| *sym);
6215 let nvmlDeviceGetMaxMigDeviceCount = __library
6216 .get(b"nvmlDeviceGetMaxMigDeviceCount\0")
6217 .map(|sym| *sym);
6218 let nvmlDeviceGetMigDeviceHandleByIndex = __library
6219 .get(b"nvmlDeviceGetMigDeviceHandleByIndex\0")
6220 .map(|sym| *sym);
6221 let nvmlDeviceGetDeviceHandleFromMigDeviceHandle = __library
6222 .get(b"nvmlDeviceGetDeviceHandleFromMigDeviceHandle\0")
6223 .map(|sym| *sym);
6224 let nvmlGpmMetricsGet = __library.get(b"nvmlGpmMetricsGet\0").map(|sym| *sym);
6225 let nvmlGpmSampleFree = __library.get(b"nvmlGpmSampleFree\0").map(|sym| *sym);
6226 let nvmlGpmSampleAlloc = __library.get(b"nvmlGpmSampleAlloc\0").map(|sym| *sym);
6227 let nvmlGpmSampleGet = __library.get(b"nvmlGpmSampleGet\0").map(|sym| *sym);
6228 let nvmlGpmMigSampleGet = __library.get(b"nvmlGpmMigSampleGet\0").map(|sym| *sym);
6229 let nvmlGpmQueryDeviceSupport = __library
6230 .get(b"nvmlGpmQueryDeviceSupport\0")
6231 .map(|sym| *sym);
6232 let nvmlGpmQueryIfStreamingEnabled = __library
6233 .get(b"nvmlGpmQueryIfStreamingEnabled\0")
6234 .map(|sym| *sym);
6235 let nvmlGpmSetStreamingEnabled = __library
6236 .get(b"nvmlGpmSetStreamingEnabled\0")
6237 .map(|sym| *sym);
6238 let nvmlDeviceGetCapabilities = __library
6239 .get(b"nvmlDeviceGetCapabilities\0")
6240 .map(|sym| *sym);
6241 let nvmlDeviceWorkloadPowerProfileGetProfilesInfo = __library
6242 .get(b"nvmlDeviceWorkloadPowerProfileGetProfilesInfo\0")
6243 .map(|sym| *sym);
6244 let nvmlDeviceWorkloadPowerProfileGetCurrentProfiles = __library
6245 .get(b"nvmlDeviceWorkloadPowerProfileGetCurrentProfiles\0")
6246 .map(|sym| *sym);
6247 let nvmlDeviceWorkloadPowerProfileSetRequestedProfiles = __library
6248 .get(b"nvmlDeviceWorkloadPowerProfileSetRequestedProfiles\0")
6249 .map(|sym| *sym);
6250 let nvmlDeviceWorkloadPowerProfileClearRequestedProfiles = __library
6251 .get(b"nvmlDeviceWorkloadPowerProfileClearRequestedProfiles\0")
6252 .map(|sym| *sym);
6253 let nvmlDevicePowerSmoothingActivatePresetProfile = __library
6254 .get(b"nvmlDevicePowerSmoothingActivatePresetProfile\0")
6255 .map(|sym| *sym);
6256 let nvmlDevicePowerSmoothingUpdatePresetProfileParam = __library
6257 .get(b"nvmlDevicePowerSmoothingUpdatePresetProfileParam\0")
6258 .map(|sym| *sym);
6259 let nvmlDevicePowerSmoothingSetState = __library
6260 .get(b"nvmlDevicePowerSmoothingSetState\0")
6261 .map(|sym| *sym);
6262 let nvmlDeviceGetSramUniqueUncorrectedEccErrorCounts = __library
6263 .get(b"nvmlDeviceGetSramUniqueUncorrectedEccErrorCounts\0")
6264 .map(|sym| *sym);
6265 #[cfg(feature = "legacy-functions")]
6266 let nvmlInit = __library.get(b"nvmlInit\0").map(|sym| *sym);
6267 #[cfg(feature = "legacy-functions")]
6268 let nvmlDeviceGetCount = __library.get(b"nvmlDeviceGetCount\0").map(|sym| *sym);
6269 #[cfg(feature = "legacy-functions")]
6270 let nvmlDeviceGetHandleByIndex = __library
6271 .get(b"nvmlDeviceGetHandleByIndex\0")
6272 .map(|sym| *sym);
6273 #[cfg(feature = "legacy-functions")]
6274 let nvmlDeviceGetHandleByPciBusId = __library
6275 .get(b"nvmlDeviceGetHandleByPciBusId\0")
6276 .map(|sym| *sym);
6277 #[cfg(feature = "legacy-functions")]
6278 let nvmlDeviceGetPciInfo = __library.get(b"nvmlDeviceGetPciInfo\0").map(|sym| *sym);
6279 #[cfg(feature = "legacy-functions")]
6280 let nvmlDeviceGetPciInfo_v2 = __library.get(b"nvmlDeviceGetPciInfo_v2\0").map(|sym| *sym);
6281 #[cfg(feature = "legacy-functions")]
6282 let nvmlDeviceGetNvLinkRemotePciInfo = __library
6283 .get(b"nvmlDeviceGetNvLinkRemotePciInfo\0")
6284 .map(|sym| *sym);
6285 #[cfg(feature = "legacy-functions")]
6286 let nvmlDeviceGetGridLicensableFeatures = __library
6287 .get(b"nvmlDeviceGetGridLicensableFeatures\0")
6288 .map(|sym| *sym);
6289 #[cfg(feature = "legacy-functions")]
6290 let nvmlDeviceGetGridLicensableFeatures_v2 = __library
6291 .get(b"nvmlDeviceGetGridLicensableFeatures_v2\0")
6292 .map(|sym| *sym);
6293 #[cfg(feature = "legacy-functions")]
6294 let nvmlDeviceGetGridLicensableFeatures_v3 = __library
6295 .get(b"nvmlDeviceGetGridLicensableFeatures_v3\0")
6296 .map(|sym| *sym);
6297 #[cfg(feature = "legacy-functions")]
6298 let nvmlDeviceRemoveGpu = __library.get(b"nvmlDeviceRemoveGpu\0").map(|sym| *sym);
6299 #[cfg(feature = "legacy-functions")]
6300 let nvmlEventSetWait = __library.get(b"nvmlEventSetWait\0").map(|sym| *sym);
6301 #[cfg(feature = "legacy-functions")]
6302 let nvmlDeviceGetAttributes = __library.get(b"nvmlDeviceGetAttributes\0").map(|sym| *sym);
6303 #[cfg(feature = "legacy-functions")]
6304 let nvmlComputeInstanceGetInfo = __library
6305 .get(b"nvmlComputeInstanceGetInfo\0")
6306 .map(|sym| *sym);
6307 #[cfg(feature = "legacy-functions")]
6308 let nvmlDeviceGetComputeRunningProcesses = __library
6309 .get(b"nvmlDeviceGetComputeRunningProcesses\0")
6310 .map(|sym| *sym);
6311 #[cfg(feature = "legacy-functions")]
6312 let nvmlDeviceGetComputeRunningProcesses_v2 = __library
6313 .get(b"nvmlDeviceGetComputeRunningProcesses_v2\0")
6314 .map(|sym| *sym);
6315 #[cfg(feature = "legacy-functions")]
6316 let nvmlDeviceGetGraphicsRunningProcesses = __library
6317 .get(b"nvmlDeviceGetGraphicsRunningProcesses\0")
6318 .map(|sym| *sym);
6319 #[cfg(feature = "legacy-functions")]
6320 let nvmlDeviceGetGraphicsRunningProcesses_v2 = __library
6321 .get(b"nvmlDeviceGetGraphicsRunningProcesses_v2\0")
6322 .map(|sym| *sym);
6323 #[cfg(feature = "legacy-functions")]
6324 let nvmlDeviceGetMPSComputeRunningProcesses = __library
6325 .get(b"nvmlDeviceGetMPSComputeRunningProcesses\0")
6326 .map(|sym| *sym);
6327 #[cfg(feature = "legacy-functions")]
6328 let nvmlDeviceGetMPSComputeRunningProcesses_v2 = __library
6329 .get(b"nvmlDeviceGetMPSComputeRunningProcesses_v2\0")
6330 .map(|sym| *sym);
6331 #[cfg(feature = "legacy-functions")]
6332 let nvmlDeviceGetGpuInstancePossiblePlacements = __library
6333 .get(b"nvmlDeviceGetGpuInstancePossiblePlacements\0")
6334 .map(|sym| *sym);
6335 #[cfg(feature = "legacy-functions")]
6336 let nvmlVgpuInstanceGetLicenseInfo = __library
6337 .get(b"nvmlVgpuInstanceGetLicenseInfo\0")
6338 .map(|sym| *sym);
6339 let nvmlDeviceGetDriverModel = __library.get(b"nvmlDeviceGetDriverModel\0").map(|sym| *sym);
6340 Ok(NvmlLib {
6341 __library,
6342 nvmlInit_v2,
6343 nvmlInitWithFlags,
6344 nvmlShutdown,
6345 nvmlErrorString,
6346 nvmlSystemGetDriverVersion,
6347 nvmlSystemGetNVMLVersion,
6348 nvmlSystemGetCudaDriverVersion,
6349 nvmlSystemGetCudaDriverVersion_v2,
6350 nvmlSystemGetProcessName,
6351 nvmlSystemGetHicVersion,
6352 nvmlSystemGetTopologyGpuSet,
6353 nvmlSystemGetDriverBranch,
6354 nvmlUnitGetCount,
6355 nvmlUnitGetHandleByIndex,
6356 nvmlUnitGetUnitInfo,
6357 nvmlUnitGetLedState,
6358 nvmlUnitGetPsuInfo,
6359 nvmlUnitGetTemperature,
6360 nvmlUnitGetFanSpeedInfo,
6361 nvmlUnitGetDevices,
6362 nvmlDeviceGetCount_v2,
6363 nvmlDeviceGetAttributes_v2,
6364 nvmlDeviceGetHandleByIndex_v2,
6365 nvmlDeviceGetHandleBySerial,
6366 nvmlDeviceGetHandleByUUID,
6367 nvmlDeviceGetHandleByUUIDV,
6368 nvmlDeviceGetHandleByPciBusId_v2,
6369 nvmlDeviceGetName,
6370 nvmlDeviceGetBrand,
6371 nvmlDeviceGetIndex,
6372 nvmlDeviceGetSerial,
6373 nvmlDeviceGetModuleId,
6374 nvmlDeviceGetC2cModeInfoV,
6375 nvmlDeviceGetMemoryAffinity,
6376 nvmlDeviceGetCpuAffinityWithinScope,
6377 nvmlDeviceGetCpuAffinity,
6378 nvmlDeviceSetCpuAffinity,
6379 nvmlDeviceClearCpuAffinity,
6380 nvmlDeviceGetNumaNodeId,
6381 nvmlDeviceGetAddressingMode,
6382 nvmlDeviceGetRepairStatus,
6383 nvmlDeviceGetTopologyCommonAncestor,
6384 nvmlDeviceGetTopologyNearestGpus,
6385 nvmlDeviceGetP2PStatus,
6386 nvmlDeviceGetUUID,
6387 nvmlDeviceGetMinorNumber,
6388 nvmlDeviceGetBoardPartNumber,
6389 nvmlDeviceGetInforomVersion,
6390 nvmlDeviceGetInforomImageVersion,
6391 nvmlDeviceGetInforomConfigurationChecksum,
6392 nvmlDeviceValidateInforom,
6393 nvmlDeviceGetLastBBXFlushTime,
6394 nvmlDeviceGetDisplayMode,
6395 nvmlDeviceGetDisplayActive,
6396 nvmlDeviceGetPersistenceMode,
6397 nvmlDeviceGetPciInfoExt,
6398 nvmlDeviceGetPciInfo_v3,
6399 nvmlDeviceGetMaxPcieLinkGeneration,
6400 nvmlDeviceGetGpuMaxPcieLinkGeneration,
6401 nvmlDeviceGetMaxPcieLinkWidth,
6402 nvmlDeviceGetCurrPcieLinkGeneration,
6403 nvmlDeviceGetCurrPcieLinkWidth,
6404 nvmlDeviceGetPcieThroughput,
6405 nvmlDeviceGetPcieReplayCounter,
6406 nvmlDeviceGetClockInfo,
6407 nvmlDeviceGetMaxClockInfo,
6408 nvmlDeviceGetGpcClkVfOffset,
6409 nvmlDeviceGetApplicationsClock,
6410 nvmlDeviceGetDefaultApplicationsClock,
6411 nvmlDeviceGetClock,
6412 nvmlDeviceGetMaxCustomerBoostClock,
6413 nvmlDeviceGetSupportedMemoryClocks,
6414 nvmlDeviceGetSupportedGraphicsClocks,
6415 nvmlDeviceGetAutoBoostedClocksEnabled,
6416 nvmlDeviceGetFanSpeed,
6417 nvmlDeviceGetFanSpeed_v2,
6418 nvmlDeviceGetFanSpeedRPM,
6419 nvmlDeviceGetTargetFanSpeed,
6420 nvmlDeviceGetMinMaxFanSpeed,
6421 nvmlDeviceGetFanControlPolicy_v2,
6422 nvmlDeviceGetNumFans,
6423 nvmlDeviceGetTemperature,
6424 nvmlDeviceGetCoolerInfo,
6425 nvmlDeviceGetTemperatureV,
6426 nvmlDeviceGetTemperatureThreshold,
6427 nvmlDeviceGetMarginTemperature,
6428 nvmlDeviceGetThermalSettings,
6429 nvmlDeviceGetPerformanceState,
6430 nvmlDeviceGetCurrentClocksEventReasons,
6431 nvmlDeviceGetCurrentClocksThrottleReasons,
6432 nvmlDeviceGetSupportedClocksEventReasons,
6433 nvmlDeviceGetSupportedClocksThrottleReasons,
6434 nvmlDeviceGetPowerState,
6435 nvmlDeviceGetDynamicPstatesInfo,
6436 nvmlDeviceGetMemClkVfOffset,
6437 nvmlDeviceGetMinMaxClockOfPState,
6438 nvmlDeviceGetSupportedPerformanceStates,
6439 nvmlDeviceGetGpcClkMinMaxVfOffset,
6440 nvmlDeviceGetMemClkMinMaxVfOffset,
6441 nvmlDeviceGetClockOffsets,
6442 nvmlDeviceSetClockOffsets,
6443 nvmlDeviceGetPerformanceModes,
6444 nvmlDeviceGetCurrentClockFreqs,
6445 nvmlDeviceGetPowerManagementMode,
6446 nvmlDeviceGetPowerManagementLimit,
6447 nvmlDeviceGetPowerManagementLimitConstraints,
6448 nvmlDeviceGetPowerManagementDefaultLimit,
6449 nvmlDeviceGetPowerUsage,
6450 nvmlDeviceGetPowerMizerMode_v1,
6451 nvmlDeviceSetPowerMizerMode_v1,
6452 nvmlDeviceGetTotalEnergyConsumption,
6453 nvmlDeviceGetEnforcedPowerLimit,
6454 nvmlDeviceGetGpuOperationMode,
6455 nvmlDeviceGetMemoryInfo,
6456 nvmlDeviceGetMemoryInfo_v2,
6457 nvmlDeviceGetComputeMode,
6458 nvmlDeviceGetCudaComputeCapability,
6459 nvmlDeviceGetDramEncryptionMode,
6460 nvmlDeviceSetDramEncryptionMode,
6461 nvmlDeviceGetEccMode,
6462 nvmlDeviceGetDefaultEccMode,
6463 nvmlDeviceGetBoardId,
6464 nvmlDeviceGetMultiGpuBoard,
6465 nvmlDeviceGetTotalEccErrors,
6466 nvmlDeviceGetDetailedEccErrors,
6467 nvmlDeviceGetMemoryErrorCounter,
6468 nvmlDeviceGetUtilizationRates,
6469 nvmlDeviceGetEncoderUtilization,
6470 nvmlDeviceGetEncoderCapacity,
6471 nvmlDeviceGetEncoderStats,
6472 nvmlDeviceGetEncoderSessions,
6473 nvmlDeviceGetDecoderUtilization,
6474 nvmlDeviceGetJpgUtilization,
6475 nvmlDeviceGetOfaUtilization,
6476 nvmlDeviceGetFBCStats,
6477 nvmlDeviceGetFBCSessions,
6478 nvmlDeviceGetDriverModel_v2,
6479 nvmlDeviceGetVbiosVersion,
6480 nvmlDeviceGetBridgeChipInfo,
6481 nvmlDeviceGetComputeRunningProcesses_v3,
6482 nvmlDeviceGetGraphicsRunningProcesses_v3,
6483 nvmlDeviceGetMPSComputeRunningProcesses_v3,
6484 nvmlDeviceGetRunningProcessDetailList,
6485 nvmlDeviceOnSameBoard,
6486 nvmlDeviceGetAPIRestriction,
6487 nvmlDeviceGetSamples,
6488 nvmlDeviceGetBAR1MemoryInfo,
6489 nvmlDeviceGetViolationStatus,
6490 nvmlDeviceGetIrqNum,
6491 nvmlDeviceGetNumGpuCores,
6492 nvmlDeviceGetPowerSource,
6493 nvmlDeviceGetMemoryBusWidth,
6494 nvmlDeviceGetPcieLinkMaxSpeed,
6495 nvmlDeviceGetPcieSpeed,
6496 nvmlDeviceGetAdaptiveClockInfoStatus,
6497 nvmlDeviceGetBusType,
6498 nvmlDeviceGetGpuFabricInfo,
6499 nvmlDeviceGetGpuFabricInfoV,
6500 nvmlSystemGetConfComputeCapabilities,
6501 nvmlSystemGetConfComputeState,
6502 nvmlDeviceGetConfComputeMemSizeInfo,
6503 nvmlSystemGetConfComputeGpusReadyState,
6504 nvmlDeviceGetConfComputeProtectedMemoryUsage,
6505 nvmlDeviceGetConfComputeGpuCertificate,
6506 nvmlDeviceGetConfComputeGpuAttestationReport,
6507 nvmlSystemGetConfComputeKeyRotationThresholdInfo,
6508 nvmlDeviceSetConfComputeUnprotectedMemSize,
6509 nvmlSystemSetConfComputeGpusReadyState,
6510 nvmlSystemSetConfComputeKeyRotationThresholdInfo,
6511 nvmlSystemGetConfComputeSettings,
6512 nvmlDeviceGetGspFirmwareVersion,
6513 nvmlDeviceGetGspFirmwareMode,
6514 nvmlDeviceGetSramEccErrorStatus,
6515 nvmlDeviceSetPowerManagementLimit_v2,
6516 nvmlDeviceGetAccountingMode,
6517 nvmlDeviceGetAccountingStats,
6518 nvmlDeviceGetAccountingPids,
6519 nvmlDeviceGetAccountingBufferSize,
6520 nvmlDeviceGetRetiredPages,
6521 nvmlDeviceGetRetiredPages_v2,
6522 nvmlDeviceGetRetiredPagesPendingStatus,
6523 nvmlDeviceGetRemappedRows,
6524 nvmlDeviceGetRowRemapperHistogram,
6525 nvmlDeviceGetArchitecture,
6526 nvmlDeviceGetClkMonStatus,
6527 nvmlDeviceGetProcessUtilization,
6528 nvmlDeviceGetProcessesUtilizationInfo,
6529 nvmlDeviceGetPlatformInfo,
6530 nvmlDeviceGetPdi,
6531 nvmlUnitSetLedState,
6532 nvmlDeviceSetPersistenceMode,
6533 nvmlDeviceSetComputeMode,
6534 nvmlDeviceSetEccMode,
6535 nvmlDeviceClearEccErrorCounts,
6536 nvmlDeviceSetDriverModel,
6537 nvmlDeviceSetGpuLockedClocks,
6538 nvmlDeviceResetGpuLockedClocks,
6539 nvmlDeviceSetMemoryLockedClocks,
6540 nvmlDeviceResetMemoryLockedClocks,
6541 nvmlDeviceSetApplicationsClocks,
6542 nvmlDeviceResetApplicationsClocks,
6543 nvmlDeviceSetAutoBoostedClocksEnabled,
6544 nvmlDeviceSetDefaultAutoBoostedClocksEnabled,
6545 nvmlDeviceSetDefaultFanSpeed_v2,
6546 nvmlDeviceSetFanControlPolicy,
6547 nvmlDeviceSetTemperatureThreshold,
6548 nvmlDeviceSetPowerManagementLimit,
6549 nvmlDeviceSetGpuOperationMode,
6550 nvmlDeviceSetAPIRestriction,
6551 nvmlDeviceSetFanSpeed_v2,
6552 nvmlDeviceSetGpcClkVfOffset,
6553 nvmlDeviceSetMemClkVfOffset,
6554 nvmlDeviceSetAccountingMode,
6555 nvmlDeviceClearAccountingPids,
6556 nvmlDeviceGetNvLinkState,
6557 nvmlDeviceGetNvLinkVersion,
6558 nvmlDeviceGetNvLinkCapability,
6559 nvmlDeviceGetNvLinkRemotePciInfo_v2,
6560 nvmlDeviceGetNvLinkErrorCounter,
6561 nvmlDeviceResetNvLinkErrorCounters,
6562 nvmlDeviceSetNvLinkUtilizationControl,
6563 nvmlDeviceGetNvLinkUtilizationControl,
6564 nvmlDeviceGetNvLinkUtilizationCounter,
6565 nvmlDeviceFreezeNvLinkUtilizationCounter,
6566 nvmlDeviceResetNvLinkUtilizationCounter,
6567 nvmlDeviceGetNvLinkRemoteDeviceType,
6568 nvmlDeviceSetNvLinkDeviceLowPowerThreshold,
6569 nvmlSystemSetNvlinkBwMode,
6570 nvmlSystemGetNvlinkBwMode,
6571 nvmlDeviceGetNvlinkSupportedBwModes,
6572 nvmlDeviceGetNvlinkBwMode,
6573 nvmlDeviceSetNvlinkBwMode,
6574 nvmlDeviceGetNvLinkInfo,
6575 nvmlEventSetCreate,
6576 nvmlDeviceRegisterEvents,
6577 nvmlDeviceGetSupportedEventTypes,
6578 nvmlEventSetWait_v2,
6579 nvmlEventSetFree,
6580 nvmlSystemEventSetCreate,
6581 nvmlSystemEventSetFree,
6582 nvmlSystemRegisterEvents,
6583 nvmlSystemEventSetWait,
6584 nvmlDeviceModifyDrainState,
6585 nvmlDeviceQueryDrainState,
6586 nvmlDeviceRemoveGpu_v2,
6587 nvmlDeviceDiscoverGpus,
6588 nvmlDeviceGetFieldValues,
6589 nvmlDeviceClearFieldValues,
6590 nvmlDeviceGetVirtualizationMode,
6591 nvmlDeviceGetHostVgpuMode,
6592 nvmlDeviceSetVirtualizationMode,
6593 nvmlDeviceGetVgpuHeterogeneousMode,
6594 nvmlDeviceSetVgpuHeterogeneousMode,
6595 nvmlVgpuInstanceGetPlacementId,
6596 nvmlDeviceGetVgpuTypeSupportedPlacements,
6597 nvmlDeviceGetVgpuTypeCreatablePlacements,
6598 nvmlVgpuTypeGetGspHeapSize,
6599 nvmlVgpuTypeGetFbReservation,
6600 nvmlVgpuInstanceGetRuntimeStateSize,
6601 nvmlDeviceSetVgpuCapabilities,
6602 nvmlDeviceGetGridLicensableFeatures_v4,
6603 nvmlGetVgpuDriverCapabilities,
6604 nvmlDeviceGetVgpuCapabilities,
6605 nvmlDeviceGetSupportedVgpus,
6606 nvmlDeviceGetCreatableVgpus,
6607 nvmlVgpuTypeGetClass,
6608 nvmlVgpuTypeGetName,
6609 nvmlVgpuTypeGetGpuInstanceProfileId,
6610 nvmlVgpuTypeGetDeviceID,
6611 nvmlVgpuTypeGetFramebufferSize,
6612 nvmlVgpuTypeGetNumDisplayHeads,
6613 nvmlVgpuTypeGetResolution,
6614 nvmlVgpuTypeGetLicense,
6615 nvmlVgpuTypeGetFrameRateLimit,
6616 nvmlVgpuTypeGetMaxInstances,
6617 nvmlVgpuTypeGetMaxInstancesPerVm,
6618 nvmlVgpuTypeGetBAR1Info,
6619 nvmlDeviceGetActiveVgpus,
6620 nvmlVgpuInstanceGetVmID,
6621 nvmlVgpuInstanceGetUUID,
6622 nvmlVgpuInstanceGetVmDriverVersion,
6623 nvmlVgpuInstanceGetFbUsage,
6624 nvmlVgpuInstanceGetLicenseStatus,
6625 nvmlVgpuInstanceGetType,
6626 nvmlVgpuInstanceGetFrameRateLimit,
6627 nvmlVgpuInstanceGetEccMode,
6628 nvmlVgpuInstanceGetEncoderCapacity,
6629 nvmlVgpuInstanceSetEncoderCapacity,
6630 nvmlVgpuInstanceGetEncoderStats,
6631 nvmlVgpuInstanceGetEncoderSessions,
6632 nvmlVgpuInstanceGetFBCStats,
6633 nvmlVgpuInstanceGetFBCSessions,
6634 nvmlVgpuInstanceGetGpuInstanceId,
6635 nvmlVgpuInstanceGetGpuPciId,
6636 nvmlVgpuTypeGetCapabilities,
6637 nvmlVgpuInstanceGetMdevUUID,
6638 nvmlGpuInstanceGetCreatableVgpus,
6639 nvmlVgpuTypeGetMaxInstancesPerGpuInstance,
6640 nvmlGpuInstanceGetActiveVgpus,
6641 nvmlGpuInstanceSetVgpuSchedulerState,
6642 nvmlGpuInstanceGetVgpuSchedulerState,
6643 nvmlGpuInstanceGetVgpuSchedulerLog,
6644 nvmlGpuInstanceGetVgpuTypeCreatablePlacements,
6645 nvmlGpuInstanceGetVgpuHeterogeneousMode,
6646 nvmlGpuInstanceSetVgpuHeterogeneousMode,
6647 nvmlVgpuInstanceGetMetadata,
6648 nvmlDeviceGetVgpuMetadata,
6649 nvmlGetVgpuCompatibility,
6650 nvmlDeviceGetPgpuMetadataString,
6651 nvmlDeviceGetVgpuSchedulerLog,
6652 nvmlDeviceGetVgpuSchedulerState,
6653 nvmlDeviceGetVgpuSchedulerCapabilities,
6654 nvmlDeviceSetVgpuSchedulerState,
6655 nvmlGetVgpuVersion,
6656 nvmlSetVgpuVersion,
6657 nvmlDeviceGetVgpuUtilization,
6658 nvmlDeviceGetVgpuInstancesUtilizationInfo,
6659 nvmlDeviceGetVgpuProcessUtilization,
6660 nvmlDeviceGetVgpuProcessesUtilizationInfo,
6661 nvmlVgpuInstanceGetAccountingMode,
6662 nvmlVgpuInstanceGetAccountingPids,
6663 nvmlVgpuInstanceGetAccountingStats,
6664 nvmlVgpuInstanceClearAccountingPids,
6665 nvmlVgpuInstanceGetLicenseInfo_v2,
6666 nvmlGetExcludedDeviceCount,
6667 nvmlGetExcludedDeviceInfoByIndex,
6668 nvmlDeviceReadWritePRM_v1,
6669 nvmlDeviceSetMigMode,
6670 nvmlDeviceGetMigMode,
6671 nvmlDeviceGetGpuInstanceProfileInfo,
6672 nvmlDeviceGetGpuInstanceProfileInfoV,
6673 nvmlDeviceGetGpuInstanceProfileInfoByIdV,
6674 nvmlDeviceGetGpuInstancePossiblePlacements_v2,
6675 nvmlDeviceGetGpuInstanceRemainingCapacity,
6676 nvmlDeviceCreateGpuInstance,
6677 nvmlDeviceCreateGpuInstanceWithPlacement,
6678 nvmlGpuInstanceDestroy,
6679 nvmlDeviceGetGpuInstances,
6680 nvmlDeviceGetGpuInstanceById,
6681 nvmlGpuInstanceGetInfo,
6682 nvmlGpuInstanceGetComputeInstanceProfileInfo,
6683 nvmlGpuInstanceGetComputeInstanceProfileInfoV,
6684 nvmlGpuInstanceGetComputeInstanceRemainingCapacity,
6685 nvmlGpuInstanceGetComputeInstancePossiblePlacements,
6686 nvmlGpuInstanceCreateComputeInstance,
6687 nvmlGpuInstanceCreateComputeInstanceWithPlacement,
6688 nvmlComputeInstanceDestroy,
6689 nvmlGpuInstanceGetComputeInstances,
6690 nvmlGpuInstanceGetComputeInstanceById,
6691 nvmlComputeInstanceGetInfo_v2,
6692 nvmlDeviceIsMigDeviceHandle,
6693 nvmlDeviceGetGpuInstanceId,
6694 nvmlDeviceGetComputeInstanceId,
6695 nvmlDeviceGetMaxMigDeviceCount,
6696 nvmlDeviceGetMigDeviceHandleByIndex,
6697 nvmlDeviceGetDeviceHandleFromMigDeviceHandle,
6698 nvmlGpmMetricsGet,
6699 nvmlGpmSampleFree,
6700 nvmlGpmSampleAlloc,
6701 nvmlGpmSampleGet,
6702 nvmlGpmMigSampleGet,
6703 nvmlGpmQueryDeviceSupport,
6704 nvmlGpmQueryIfStreamingEnabled,
6705 nvmlGpmSetStreamingEnabled,
6706 nvmlDeviceGetCapabilities,
6707 nvmlDeviceWorkloadPowerProfileGetProfilesInfo,
6708 nvmlDeviceWorkloadPowerProfileGetCurrentProfiles,
6709 nvmlDeviceWorkloadPowerProfileSetRequestedProfiles,
6710 nvmlDeviceWorkloadPowerProfileClearRequestedProfiles,
6711 nvmlDevicePowerSmoothingActivatePresetProfile,
6712 nvmlDevicePowerSmoothingUpdatePresetProfileParam,
6713 nvmlDevicePowerSmoothingSetState,
6714 nvmlDeviceGetSramUniqueUncorrectedEccErrorCounts,
6715 #[cfg(feature = "legacy-functions")]
6716 nvmlInit,
6717 #[cfg(feature = "legacy-functions")]
6718 nvmlDeviceGetCount,
6719 #[cfg(feature = "legacy-functions")]
6720 nvmlDeviceGetHandleByIndex,
6721 #[cfg(feature = "legacy-functions")]
6722 nvmlDeviceGetHandleByPciBusId,
6723 #[cfg(feature = "legacy-functions")]
6724 nvmlDeviceGetPciInfo,
6725 #[cfg(feature = "legacy-functions")]
6726 nvmlDeviceGetPciInfo_v2,
6727 #[cfg(feature = "legacy-functions")]
6728 nvmlDeviceGetNvLinkRemotePciInfo,
6729 #[cfg(feature = "legacy-functions")]
6730 nvmlDeviceGetGridLicensableFeatures,
6731 #[cfg(feature = "legacy-functions")]
6732 nvmlDeviceGetGridLicensableFeatures_v2,
6733 #[cfg(feature = "legacy-functions")]
6734 nvmlDeviceGetGridLicensableFeatures_v3,
6735 #[cfg(feature = "legacy-functions")]
6736 nvmlDeviceRemoveGpu,
6737 #[cfg(feature = "legacy-functions")]
6738 nvmlEventSetWait,
6739 #[cfg(feature = "legacy-functions")]
6740 nvmlDeviceGetAttributes,
6741 #[cfg(feature = "legacy-functions")]
6742 nvmlComputeInstanceGetInfo,
6743 #[cfg(feature = "legacy-functions")]
6744 nvmlDeviceGetComputeRunningProcesses,
6745 #[cfg(feature = "legacy-functions")]
6746 nvmlDeviceGetComputeRunningProcesses_v2,
6747 #[cfg(feature = "legacy-functions")]
6748 nvmlDeviceGetGraphicsRunningProcesses,
6749 #[cfg(feature = "legacy-functions")]
6750 nvmlDeviceGetGraphicsRunningProcesses_v2,
6751 #[cfg(feature = "legacy-functions")]
6752 nvmlDeviceGetMPSComputeRunningProcesses,
6753 #[cfg(feature = "legacy-functions")]
6754 nvmlDeviceGetMPSComputeRunningProcesses_v2,
6755 #[cfg(feature = "legacy-functions")]
6756 nvmlDeviceGetGpuInstancePossiblePlacements,
6757 #[cfg(feature = "legacy-functions")]
6758 nvmlVgpuInstanceGetLicenseInfo,
6759 nvmlDeviceGetDriverModel,
6760 })
6761 }
6762 pub unsafe fn nvmlInit_v2(&self) -> nvmlReturn_t {
6763 (self
6764 .nvmlInit_v2
6765 .as_ref()
6766 .expect("Expected function, got error."))()
6767 }
6768 pub unsafe fn nvmlInitWithFlags(&self, flags: raw::c_uint) -> nvmlReturn_t {
6769 (self
6770 .nvmlInitWithFlags
6771 .as_ref()
6772 .expect("Expected function, got error."))(flags)
6773 }
6774 pub unsafe fn nvmlShutdown(&self) -> nvmlReturn_t {
6775 (self
6776 .nvmlShutdown
6777 .as_ref()
6778 .expect("Expected function, got error."))()
6779 }
6780 pub unsafe fn nvmlErrorString(&self, result: nvmlReturn_t) -> *const raw::c_char {
6781 (self
6782 .nvmlErrorString
6783 .as_ref()
6784 .expect("Expected function, got error."))(result)
6785 }
6786 pub unsafe fn nvmlSystemGetDriverVersion(
6787 &self,
6788 version: *mut raw::c_char,
6789 length: raw::c_uint,
6790 ) -> nvmlReturn_t {
6791 (self
6792 .nvmlSystemGetDriverVersion
6793 .as_ref()
6794 .expect("Expected function, got error."))(version, length)
6795 }
6796 pub unsafe fn nvmlSystemGetNVMLVersion(
6797 &self,
6798 version: *mut raw::c_char,
6799 length: raw::c_uint,
6800 ) -> nvmlReturn_t {
6801 (self
6802 .nvmlSystemGetNVMLVersion
6803 .as_ref()
6804 .expect("Expected function, got error."))(version, length)
6805 }
6806 pub unsafe fn nvmlSystemGetCudaDriverVersion(
6807 &self,
6808 cudaDriverVersion: *mut raw::c_int,
6809 ) -> nvmlReturn_t {
6810 (self
6811 .nvmlSystemGetCudaDriverVersion
6812 .as_ref()
6813 .expect("Expected function, got error."))(cudaDriverVersion)
6814 }
6815 pub unsafe fn nvmlSystemGetCudaDriverVersion_v2(
6816 &self,
6817 cudaDriverVersion: *mut raw::c_int,
6818 ) -> nvmlReturn_t {
6819 (self
6820 .nvmlSystemGetCudaDriverVersion_v2
6821 .as_ref()
6822 .expect("Expected function, got error."))(cudaDriverVersion)
6823 }
6824 pub unsafe fn nvmlSystemGetProcessName(
6825 &self,
6826 pid: raw::c_uint,
6827 name: *mut raw::c_char,
6828 length: raw::c_uint,
6829 ) -> nvmlReturn_t {
6830 (self
6831 .nvmlSystemGetProcessName
6832 .as_ref()
6833 .expect("Expected function, got error."))(pid, name, length)
6834 }
6835 pub unsafe fn nvmlSystemGetHicVersion(
6836 &self,
6837 hwbcCount: *mut raw::c_uint,
6838 hwbcEntries: *mut nvmlHwbcEntry_t,
6839 ) -> nvmlReturn_t {
6840 (self
6841 .nvmlSystemGetHicVersion
6842 .as_ref()
6843 .expect("Expected function, got error."))(hwbcCount, hwbcEntries)
6844 }
6845 pub unsafe fn nvmlSystemGetTopologyGpuSet(
6846 &self,
6847 cpuNumber: raw::c_uint,
6848 count: *mut raw::c_uint,
6849 deviceArray: *mut nvmlDevice_t,
6850 ) -> nvmlReturn_t {
6851 (self
6852 .nvmlSystemGetTopologyGpuSet
6853 .as_ref()
6854 .expect("Expected function, got error."))(cpuNumber, count, deviceArray)
6855 }
6856 pub unsafe fn nvmlSystemGetDriverBranch(
6857 &self,
6858 branchInfo: *mut nvmlSystemDriverBranchInfo_t,
6859 length: raw::c_uint,
6860 ) -> nvmlReturn_t {
6861 (self
6862 .nvmlSystemGetDriverBranch
6863 .as_ref()
6864 .expect("Expected function, got error."))(branchInfo, length)
6865 }
6866 pub unsafe fn nvmlUnitGetCount(&self, unitCount: *mut raw::c_uint) -> nvmlReturn_t {
6867 (self
6868 .nvmlUnitGetCount
6869 .as_ref()
6870 .expect("Expected function, got error."))(unitCount)
6871 }
6872 pub unsafe fn nvmlUnitGetHandleByIndex(
6873 &self,
6874 index: raw::c_uint,
6875 unit: *mut nvmlUnit_t,
6876 ) -> nvmlReturn_t {
6877 (self
6878 .nvmlUnitGetHandleByIndex
6879 .as_ref()
6880 .expect("Expected function, got error."))(index, unit)
6881 }
6882 pub unsafe fn nvmlUnitGetUnitInfo(
6883 &self,
6884 unit: nvmlUnit_t,
6885 info: *mut nvmlUnitInfo_t,
6886 ) -> nvmlReturn_t {
6887 (self
6888 .nvmlUnitGetUnitInfo
6889 .as_ref()
6890 .expect("Expected function, got error."))(unit, info)
6891 }
6892 pub unsafe fn nvmlUnitGetLedState(
6893 &self,
6894 unit: nvmlUnit_t,
6895 state: *mut nvmlLedState_t,
6896 ) -> nvmlReturn_t {
6897 (self
6898 .nvmlUnitGetLedState
6899 .as_ref()
6900 .expect("Expected function, got error."))(unit, state)
6901 }
6902 pub unsafe fn nvmlUnitGetPsuInfo(
6903 &self,
6904 unit: nvmlUnit_t,
6905 psu: *mut nvmlPSUInfo_t,
6906 ) -> nvmlReturn_t {
6907 (self
6908 .nvmlUnitGetPsuInfo
6909 .as_ref()
6910 .expect("Expected function, got error."))(unit, psu)
6911 }
6912 pub unsafe fn nvmlUnitGetTemperature(
6913 &self,
6914 unit: nvmlUnit_t,
6915 type_: raw::c_uint,
6916 temp: *mut raw::c_uint,
6917 ) -> nvmlReturn_t {
6918 (self
6919 .nvmlUnitGetTemperature
6920 .as_ref()
6921 .expect("Expected function, got error."))(unit, type_, temp)
6922 }
6923 pub unsafe fn nvmlUnitGetFanSpeedInfo(
6924 &self,
6925 unit: nvmlUnit_t,
6926 fanSpeeds: *mut nvmlUnitFanSpeeds_t,
6927 ) -> nvmlReturn_t {
6928 (self
6929 .nvmlUnitGetFanSpeedInfo
6930 .as_ref()
6931 .expect("Expected function, got error."))(unit, fanSpeeds)
6932 }
6933 pub unsafe fn nvmlUnitGetDevices(
6934 &self,
6935 unit: nvmlUnit_t,
6936 deviceCount: *mut raw::c_uint,
6937 devices: *mut nvmlDevice_t,
6938 ) -> nvmlReturn_t {
6939 (self
6940 .nvmlUnitGetDevices
6941 .as_ref()
6942 .expect("Expected function, got error."))(unit, deviceCount, devices)
6943 }
6944 pub unsafe fn nvmlDeviceGetCount_v2(&self, deviceCount: *mut raw::c_uint) -> nvmlReturn_t {
6945 (self
6946 .nvmlDeviceGetCount_v2
6947 .as_ref()
6948 .expect("Expected function, got error."))(deviceCount)
6949 }
6950 pub unsafe fn nvmlDeviceGetAttributes_v2(
6951 &self,
6952 device: nvmlDevice_t,
6953 attributes: *mut nvmlDeviceAttributes_t,
6954 ) -> nvmlReturn_t {
6955 (self
6956 .nvmlDeviceGetAttributes_v2
6957 .as_ref()
6958 .expect("Expected function, got error."))(device, attributes)
6959 }
6960 pub unsafe fn nvmlDeviceGetHandleByIndex_v2(
6961 &self,
6962 index: raw::c_uint,
6963 device: *mut nvmlDevice_t,
6964 ) -> nvmlReturn_t {
6965 (self
6966 .nvmlDeviceGetHandleByIndex_v2
6967 .as_ref()
6968 .expect("Expected function, got error."))(index, device)
6969 }
6970 pub unsafe fn nvmlDeviceGetHandleBySerial(
6971 &self,
6972 serial: *const raw::c_char,
6973 device: *mut nvmlDevice_t,
6974 ) -> nvmlReturn_t {
6975 (self
6976 .nvmlDeviceGetHandleBySerial
6977 .as_ref()
6978 .expect("Expected function, got error."))(serial, device)
6979 }
6980 pub unsafe fn nvmlDeviceGetHandleByUUID(
6981 &self,
6982 uuid: *const raw::c_char,
6983 device: *mut nvmlDevice_t,
6984 ) -> nvmlReturn_t {
6985 (self
6986 .nvmlDeviceGetHandleByUUID
6987 .as_ref()
6988 .expect("Expected function, got error."))(uuid, device)
6989 }
6990 pub unsafe fn nvmlDeviceGetHandleByUUIDV(
6991 &self,
6992 uuid: *const nvmlUUID_t,
6993 device: *mut nvmlDevice_t,
6994 ) -> nvmlReturn_t {
6995 (self
6996 .nvmlDeviceGetHandleByUUIDV
6997 .as_ref()
6998 .expect("Expected function, got error."))(uuid, device)
6999 }
7000 pub unsafe fn nvmlDeviceGetHandleByPciBusId_v2(
7001 &self,
7002 pciBusId: *const raw::c_char,
7003 device: *mut nvmlDevice_t,
7004 ) -> nvmlReturn_t {
7005 (self
7006 .nvmlDeviceGetHandleByPciBusId_v2
7007 .as_ref()
7008 .expect("Expected function, got error."))(pciBusId, device)
7009 }
7010 pub unsafe fn nvmlDeviceGetName(
7011 &self,
7012 device: nvmlDevice_t,
7013 name: *mut raw::c_char,
7014 length: raw::c_uint,
7015 ) -> nvmlReturn_t {
7016 (self
7017 .nvmlDeviceGetName
7018 .as_ref()
7019 .expect("Expected function, got error."))(device, name, length)
7020 }
7021 pub unsafe fn nvmlDeviceGetBrand(
7022 &self,
7023 device: nvmlDevice_t,
7024 type_: *mut nvmlBrandType_t,
7025 ) -> nvmlReturn_t {
7026 (self
7027 .nvmlDeviceGetBrand
7028 .as_ref()
7029 .expect("Expected function, got error."))(device, type_)
7030 }
7031 pub unsafe fn nvmlDeviceGetIndex(
7032 &self,
7033 device: nvmlDevice_t,
7034 index: *mut raw::c_uint,
7035 ) -> nvmlReturn_t {
7036 (self
7037 .nvmlDeviceGetIndex
7038 .as_ref()
7039 .expect("Expected function, got error."))(device, index)
7040 }
7041 pub unsafe fn nvmlDeviceGetSerial(
7042 &self,
7043 device: nvmlDevice_t,
7044 serial: *mut raw::c_char,
7045 length: raw::c_uint,
7046 ) -> nvmlReturn_t {
7047 (self
7048 .nvmlDeviceGetSerial
7049 .as_ref()
7050 .expect("Expected function, got error."))(device, serial, length)
7051 }
7052 pub unsafe fn nvmlDeviceGetModuleId(
7053 &self,
7054 device: nvmlDevice_t,
7055 moduleId: *mut raw::c_uint,
7056 ) -> nvmlReturn_t {
7057 (self
7058 .nvmlDeviceGetModuleId
7059 .as_ref()
7060 .expect("Expected function, got error."))(device, moduleId)
7061 }
7062 pub unsafe fn nvmlDeviceGetC2cModeInfoV(
7063 &self,
7064 device: nvmlDevice_t,
7065 c2cModeInfo: *mut nvmlC2cModeInfo_v1_t,
7066 ) -> nvmlReturn_t {
7067 (self
7068 .nvmlDeviceGetC2cModeInfoV
7069 .as_ref()
7070 .expect("Expected function, got error."))(device, c2cModeInfo)
7071 }
7072 pub unsafe fn nvmlDeviceGetMemoryAffinity(
7073 &self,
7074 device: nvmlDevice_t,
7075 nodeSetSize: raw::c_uint,
7076 nodeSet: *mut raw::c_ulong,
7077 scope: nvmlAffinityScope_t,
7078 ) -> nvmlReturn_t {
7079 (self
7080 .nvmlDeviceGetMemoryAffinity
7081 .as_ref()
7082 .expect("Expected function, got error."))(device, nodeSetSize, nodeSet, scope)
7083 }
7084 pub unsafe fn nvmlDeviceGetCpuAffinityWithinScope(
7085 &self,
7086 device: nvmlDevice_t,
7087 cpuSetSize: raw::c_uint,
7088 cpuSet: *mut raw::c_ulong,
7089 scope: nvmlAffinityScope_t,
7090 ) -> nvmlReturn_t {
7091 (self
7092 .nvmlDeviceGetCpuAffinityWithinScope
7093 .as_ref()
7094 .expect("Expected function, got error."))(device, cpuSetSize, cpuSet, scope)
7095 }
7096 pub unsafe fn nvmlDeviceGetCpuAffinity(
7097 &self,
7098 device: nvmlDevice_t,
7099 cpuSetSize: raw::c_uint,
7100 cpuSet: *mut raw::c_ulong,
7101 ) -> nvmlReturn_t {
7102 (self
7103 .nvmlDeviceGetCpuAffinity
7104 .as_ref()
7105 .expect("Expected function, got error."))(device, cpuSetSize, cpuSet)
7106 }
7107 pub unsafe fn nvmlDeviceSetCpuAffinity(&self, device: nvmlDevice_t) -> nvmlReturn_t {
7108 (self
7109 .nvmlDeviceSetCpuAffinity
7110 .as_ref()
7111 .expect("Expected function, got error."))(device)
7112 }
7113 pub unsafe fn nvmlDeviceClearCpuAffinity(&self, device: nvmlDevice_t) -> nvmlReturn_t {
7114 (self
7115 .nvmlDeviceClearCpuAffinity
7116 .as_ref()
7117 .expect("Expected function, got error."))(device)
7118 }
7119 pub unsafe fn nvmlDeviceGetNumaNodeId(
7120 &self,
7121 device: nvmlDevice_t,
7122 node: *mut raw::c_uint,
7123 ) -> nvmlReturn_t {
7124 (self
7125 .nvmlDeviceGetNumaNodeId
7126 .as_ref()
7127 .expect("Expected function, got error."))(device, node)
7128 }
7129 pub unsafe fn nvmlDeviceGetAddressingMode(
7130 &self,
7131 device: nvmlDevice_t,
7132 mode: *mut nvmlDeviceAddressingMode_t,
7133 ) -> nvmlReturn_t {
7134 (self
7135 .nvmlDeviceGetAddressingMode
7136 .as_ref()
7137 .expect("Expected function, got error."))(device, mode)
7138 }
7139 pub unsafe fn nvmlDeviceGetRepairStatus(
7140 &self,
7141 device: nvmlDevice_t,
7142 repairStatus: *mut nvmlRepairStatus_t,
7143 ) -> nvmlReturn_t {
7144 (self
7145 .nvmlDeviceGetRepairStatus
7146 .as_ref()
7147 .expect("Expected function, got error."))(device, repairStatus)
7148 }
7149 pub unsafe fn nvmlDeviceGetTopologyCommonAncestor(
7150 &self,
7151 device1: nvmlDevice_t,
7152 device2: nvmlDevice_t,
7153 pathInfo: *mut nvmlGpuTopologyLevel_t,
7154 ) -> nvmlReturn_t {
7155 (self
7156 .nvmlDeviceGetTopologyCommonAncestor
7157 .as_ref()
7158 .expect("Expected function, got error."))(device1, device2, pathInfo)
7159 }
7160 pub unsafe fn nvmlDeviceGetTopologyNearestGpus(
7161 &self,
7162 device: nvmlDevice_t,
7163 level: nvmlGpuTopologyLevel_t,
7164 count: *mut raw::c_uint,
7165 deviceArray: *mut nvmlDevice_t,
7166 ) -> nvmlReturn_t {
7167 (self
7168 .nvmlDeviceGetTopologyNearestGpus
7169 .as_ref()
7170 .expect("Expected function, got error."))(device, level, count, deviceArray)
7171 }
7172 pub unsafe fn nvmlDeviceGetP2PStatus(
7173 &self,
7174 device1: nvmlDevice_t,
7175 device2: nvmlDevice_t,
7176 p2pIndex: nvmlGpuP2PCapsIndex_t,
7177 p2pStatus: *mut nvmlGpuP2PStatus_t,
7178 ) -> nvmlReturn_t {
7179 (self
7180 .nvmlDeviceGetP2PStatus
7181 .as_ref()
7182 .expect("Expected function, got error."))(device1, device2, p2pIndex, p2pStatus)
7183 }
7184 pub unsafe fn nvmlDeviceGetUUID(
7185 &self,
7186 device: nvmlDevice_t,
7187 uuid: *mut raw::c_char,
7188 length: raw::c_uint,
7189 ) -> nvmlReturn_t {
7190 (self
7191 .nvmlDeviceGetUUID
7192 .as_ref()
7193 .expect("Expected function, got error."))(device, uuid, length)
7194 }
7195 pub unsafe fn nvmlDeviceGetMinorNumber(
7196 &self,
7197 device: nvmlDevice_t,
7198 minorNumber: *mut raw::c_uint,
7199 ) -> nvmlReturn_t {
7200 (self
7201 .nvmlDeviceGetMinorNumber
7202 .as_ref()
7203 .expect("Expected function, got error."))(device, minorNumber)
7204 }
7205 pub unsafe fn nvmlDeviceGetBoardPartNumber(
7206 &self,
7207 device: nvmlDevice_t,
7208 partNumber: *mut raw::c_char,
7209 length: raw::c_uint,
7210 ) -> nvmlReturn_t {
7211 (self
7212 .nvmlDeviceGetBoardPartNumber
7213 .as_ref()
7214 .expect("Expected function, got error."))(device, partNumber, length)
7215 }
7216 pub unsafe fn nvmlDeviceGetInforomVersion(
7217 &self,
7218 device: nvmlDevice_t,
7219 object: nvmlInforomObject_t,
7220 version: *mut raw::c_char,
7221 length: raw::c_uint,
7222 ) -> nvmlReturn_t {
7223 (self
7224 .nvmlDeviceGetInforomVersion
7225 .as_ref()
7226 .expect("Expected function, got error."))(device, object, version, length)
7227 }
7228 pub unsafe fn nvmlDeviceGetInforomImageVersion(
7229 &self,
7230 device: nvmlDevice_t,
7231 version: *mut raw::c_char,
7232 length: raw::c_uint,
7233 ) -> nvmlReturn_t {
7234 (self
7235 .nvmlDeviceGetInforomImageVersion
7236 .as_ref()
7237 .expect("Expected function, got error."))(device, version, length)
7238 }
7239 pub unsafe fn nvmlDeviceGetInforomConfigurationChecksum(
7240 &self,
7241 device: nvmlDevice_t,
7242 checksum: *mut raw::c_uint,
7243 ) -> nvmlReturn_t {
7244 (self
7245 .nvmlDeviceGetInforomConfigurationChecksum
7246 .as_ref()
7247 .expect("Expected function, got error."))(device, checksum)
7248 }
7249 pub unsafe fn nvmlDeviceValidateInforom(&self, device: nvmlDevice_t) -> nvmlReturn_t {
7250 (self
7251 .nvmlDeviceValidateInforom
7252 .as_ref()
7253 .expect("Expected function, got error."))(device)
7254 }
7255 pub unsafe fn nvmlDeviceGetLastBBXFlushTime(
7256 &self,
7257 device: nvmlDevice_t,
7258 timestamp: *mut raw::c_ulonglong,
7259 durationUs: *mut raw::c_ulong,
7260 ) -> nvmlReturn_t {
7261 (self
7262 .nvmlDeviceGetLastBBXFlushTime
7263 .as_ref()
7264 .expect("Expected function, got error."))(device, timestamp, durationUs)
7265 }
7266 pub unsafe fn nvmlDeviceGetDisplayMode(
7267 &self,
7268 device: nvmlDevice_t,
7269 display: *mut nvmlEnableState_t,
7270 ) -> nvmlReturn_t {
7271 (self
7272 .nvmlDeviceGetDisplayMode
7273 .as_ref()
7274 .expect("Expected function, got error."))(device, display)
7275 }
7276 pub unsafe fn nvmlDeviceGetDisplayActive(
7277 &self,
7278 device: nvmlDevice_t,
7279 isActive: *mut nvmlEnableState_t,
7280 ) -> nvmlReturn_t {
7281 (self
7282 .nvmlDeviceGetDisplayActive
7283 .as_ref()
7284 .expect("Expected function, got error."))(device, isActive)
7285 }
7286 pub unsafe fn nvmlDeviceGetPersistenceMode(
7287 &self,
7288 device: nvmlDevice_t,
7289 mode: *mut nvmlEnableState_t,
7290 ) -> nvmlReturn_t {
7291 (self
7292 .nvmlDeviceGetPersistenceMode
7293 .as_ref()
7294 .expect("Expected function, got error."))(device, mode)
7295 }
7296 pub unsafe fn nvmlDeviceGetPciInfoExt(
7297 &self,
7298 device: nvmlDevice_t,
7299 pci: *mut nvmlPciInfoExt_t,
7300 ) -> nvmlReturn_t {
7301 (self
7302 .nvmlDeviceGetPciInfoExt
7303 .as_ref()
7304 .expect("Expected function, got error."))(device, pci)
7305 }
7306 pub unsafe fn nvmlDeviceGetPciInfo_v3(
7307 &self,
7308 device: nvmlDevice_t,
7309 pci: *mut nvmlPciInfo_t,
7310 ) -> nvmlReturn_t {
7311 (self
7312 .nvmlDeviceGetPciInfo_v3
7313 .as_ref()
7314 .expect("Expected function, got error."))(device, pci)
7315 }
7316 pub unsafe fn nvmlDeviceGetMaxPcieLinkGeneration(
7317 &self,
7318 device: nvmlDevice_t,
7319 maxLinkGen: *mut raw::c_uint,
7320 ) -> nvmlReturn_t {
7321 (self
7322 .nvmlDeviceGetMaxPcieLinkGeneration
7323 .as_ref()
7324 .expect("Expected function, got error."))(device, maxLinkGen)
7325 }
7326 pub unsafe fn nvmlDeviceGetGpuMaxPcieLinkGeneration(
7327 &self,
7328 device: nvmlDevice_t,
7329 maxLinkGenDevice: *mut raw::c_uint,
7330 ) -> nvmlReturn_t {
7331 (self
7332 .nvmlDeviceGetGpuMaxPcieLinkGeneration
7333 .as_ref()
7334 .expect("Expected function, got error."))(device, maxLinkGenDevice)
7335 }
7336 pub unsafe fn nvmlDeviceGetMaxPcieLinkWidth(
7337 &self,
7338 device: nvmlDevice_t,
7339 maxLinkWidth: *mut raw::c_uint,
7340 ) -> nvmlReturn_t {
7341 (self
7342 .nvmlDeviceGetMaxPcieLinkWidth
7343 .as_ref()
7344 .expect("Expected function, got error."))(device, maxLinkWidth)
7345 }
7346 pub unsafe fn nvmlDeviceGetCurrPcieLinkGeneration(
7347 &self,
7348 device: nvmlDevice_t,
7349 currLinkGen: *mut raw::c_uint,
7350 ) -> nvmlReturn_t {
7351 (self
7352 .nvmlDeviceGetCurrPcieLinkGeneration
7353 .as_ref()
7354 .expect("Expected function, got error."))(device, currLinkGen)
7355 }
7356 pub unsafe fn nvmlDeviceGetCurrPcieLinkWidth(
7357 &self,
7358 device: nvmlDevice_t,
7359 currLinkWidth: *mut raw::c_uint,
7360 ) -> nvmlReturn_t {
7361 (self
7362 .nvmlDeviceGetCurrPcieLinkWidth
7363 .as_ref()
7364 .expect("Expected function, got error."))(device, currLinkWidth)
7365 }
7366 pub unsafe fn nvmlDeviceGetPcieThroughput(
7367 &self,
7368 device: nvmlDevice_t,
7369 counter: nvmlPcieUtilCounter_t,
7370 value: *mut raw::c_uint,
7371 ) -> nvmlReturn_t {
7372 (self
7373 .nvmlDeviceGetPcieThroughput
7374 .as_ref()
7375 .expect("Expected function, got error."))(device, counter, value)
7376 }
7377 pub unsafe fn nvmlDeviceGetPcieReplayCounter(
7378 &self,
7379 device: nvmlDevice_t,
7380 value: *mut raw::c_uint,
7381 ) -> nvmlReturn_t {
7382 (self
7383 .nvmlDeviceGetPcieReplayCounter
7384 .as_ref()
7385 .expect("Expected function, got error."))(device, value)
7386 }
7387 pub unsafe fn nvmlDeviceGetClockInfo(
7388 &self,
7389 device: nvmlDevice_t,
7390 type_: nvmlClockType_t,
7391 clock: *mut raw::c_uint,
7392 ) -> nvmlReturn_t {
7393 (self
7394 .nvmlDeviceGetClockInfo
7395 .as_ref()
7396 .expect("Expected function, got error."))(device, type_, clock)
7397 }
7398 pub unsafe fn nvmlDeviceGetMaxClockInfo(
7399 &self,
7400 device: nvmlDevice_t,
7401 type_: nvmlClockType_t,
7402 clock: *mut raw::c_uint,
7403 ) -> nvmlReturn_t {
7404 (self
7405 .nvmlDeviceGetMaxClockInfo
7406 .as_ref()
7407 .expect("Expected function, got error."))(device, type_, clock)
7408 }
7409 pub unsafe fn nvmlDeviceGetGpcClkVfOffset(
7410 &self,
7411 device: nvmlDevice_t,
7412 offset: *mut raw::c_int,
7413 ) -> nvmlReturn_t {
7414 (self
7415 .nvmlDeviceGetGpcClkVfOffset
7416 .as_ref()
7417 .expect("Expected function, got error."))(device, offset)
7418 }
7419 pub unsafe fn nvmlDeviceGetApplicationsClock(
7420 &self,
7421 device: nvmlDevice_t,
7422 clockType: nvmlClockType_t,
7423 clockMHz: *mut raw::c_uint,
7424 ) -> nvmlReturn_t {
7425 (self
7426 .nvmlDeviceGetApplicationsClock
7427 .as_ref()
7428 .expect("Expected function, got error."))(device, clockType, clockMHz)
7429 }
7430 pub unsafe fn nvmlDeviceGetDefaultApplicationsClock(
7431 &self,
7432 device: nvmlDevice_t,
7433 clockType: nvmlClockType_t,
7434 clockMHz: *mut raw::c_uint,
7435 ) -> nvmlReturn_t {
7436 (self
7437 .nvmlDeviceGetDefaultApplicationsClock
7438 .as_ref()
7439 .expect("Expected function, got error."))(device, clockType, clockMHz)
7440 }
7441 pub unsafe fn nvmlDeviceGetClock(
7442 &self,
7443 device: nvmlDevice_t,
7444 clockType: nvmlClockType_t,
7445 clockId: nvmlClockId_t,
7446 clockMHz: *mut raw::c_uint,
7447 ) -> nvmlReturn_t {
7448 (self
7449 .nvmlDeviceGetClock
7450 .as_ref()
7451 .expect("Expected function, got error."))(device, clockType, clockId, clockMHz)
7452 }
7453 pub unsafe fn nvmlDeviceGetMaxCustomerBoostClock(
7454 &self,
7455 device: nvmlDevice_t,
7456 clockType: nvmlClockType_t,
7457 clockMHz: *mut raw::c_uint,
7458 ) -> nvmlReturn_t {
7459 (self
7460 .nvmlDeviceGetMaxCustomerBoostClock
7461 .as_ref()
7462 .expect("Expected function, got error."))(device, clockType, clockMHz)
7463 }
7464 pub unsafe fn nvmlDeviceGetSupportedMemoryClocks(
7465 &self,
7466 device: nvmlDevice_t,
7467 count: *mut raw::c_uint,
7468 clocksMHz: *mut raw::c_uint,
7469 ) -> nvmlReturn_t {
7470 (self
7471 .nvmlDeviceGetSupportedMemoryClocks
7472 .as_ref()
7473 .expect("Expected function, got error."))(device, count, clocksMHz)
7474 }
7475 pub unsafe fn nvmlDeviceGetSupportedGraphicsClocks(
7476 &self,
7477 device: nvmlDevice_t,
7478 memoryClockMHz: raw::c_uint,
7479 count: *mut raw::c_uint,
7480 clocksMHz: *mut raw::c_uint,
7481 ) -> nvmlReturn_t {
7482 (self
7483 .nvmlDeviceGetSupportedGraphicsClocks
7484 .as_ref()
7485 .expect("Expected function, got error."))(
7486 device, memoryClockMHz, count, clocksMHz
7487 )
7488 }
7489 pub unsafe fn nvmlDeviceGetAutoBoostedClocksEnabled(
7490 &self,
7491 device: nvmlDevice_t,
7492 isEnabled: *mut nvmlEnableState_t,
7493 defaultIsEnabled: *mut nvmlEnableState_t,
7494 ) -> nvmlReturn_t {
7495 (self
7496 .nvmlDeviceGetAutoBoostedClocksEnabled
7497 .as_ref()
7498 .expect("Expected function, got error."))(device, isEnabled, defaultIsEnabled)
7499 }
7500 pub unsafe fn nvmlDeviceGetFanSpeed(
7501 &self,
7502 device: nvmlDevice_t,
7503 speed: *mut raw::c_uint,
7504 ) -> nvmlReturn_t {
7505 (self
7506 .nvmlDeviceGetFanSpeed
7507 .as_ref()
7508 .expect("Expected function, got error."))(device, speed)
7509 }
7510 pub unsafe fn nvmlDeviceGetFanSpeed_v2(
7511 &self,
7512 device: nvmlDevice_t,
7513 fan: raw::c_uint,
7514 speed: *mut raw::c_uint,
7515 ) -> nvmlReturn_t {
7516 (self
7517 .nvmlDeviceGetFanSpeed_v2
7518 .as_ref()
7519 .expect("Expected function, got error."))(device, fan, speed)
7520 }
7521 pub unsafe fn nvmlDeviceGetFanSpeedRPM(
7522 &self,
7523 device: nvmlDevice_t,
7524 fanSpeed: *mut nvmlFanSpeedInfo_t,
7525 ) -> nvmlReturn_t {
7526 (self
7527 .nvmlDeviceGetFanSpeedRPM
7528 .as_ref()
7529 .expect("Expected function, got error."))(device, fanSpeed)
7530 }
7531 pub unsafe fn nvmlDeviceGetTargetFanSpeed(
7532 &self,
7533 device: nvmlDevice_t,
7534 fan: raw::c_uint,
7535 targetSpeed: *mut raw::c_uint,
7536 ) -> nvmlReturn_t {
7537 (self
7538 .nvmlDeviceGetTargetFanSpeed
7539 .as_ref()
7540 .expect("Expected function, got error."))(device, fan, targetSpeed)
7541 }
7542 pub unsafe fn nvmlDeviceGetMinMaxFanSpeed(
7543 &self,
7544 device: nvmlDevice_t,
7545 minSpeed: *mut raw::c_uint,
7546 maxSpeed: *mut raw::c_uint,
7547 ) -> nvmlReturn_t {
7548 (self
7549 .nvmlDeviceGetMinMaxFanSpeed
7550 .as_ref()
7551 .expect("Expected function, got error."))(device, minSpeed, maxSpeed)
7552 }
7553 pub unsafe fn nvmlDeviceGetFanControlPolicy_v2(
7554 &self,
7555 device: nvmlDevice_t,
7556 fan: raw::c_uint,
7557 policy: *mut nvmlFanControlPolicy_t,
7558 ) -> nvmlReturn_t {
7559 (self
7560 .nvmlDeviceGetFanControlPolicy_v2
7561 .as_ref()
7562 .expect("Expected function, got error."))(device, fan, policy)
7563 }
7564 pub unsafe fn nvmlDeviceGetNumFans(
7565 &self,
7566 device: nvmlDevice_t,
7567 numFans: *mut raw::c_uint,
7568 ) -> nvmlReturn_t {
7569 (self
7570 .nvmlDeviceGetNumFans
7571 .as_ref()
7572 .expect("Expected function, got error."))(device, numFans)
7573 }
7574 pub unsafe fn nvmlDeviceGetTemperature(
7575 &self,
7576 device: nvmlDevice_t,
7577 sensorType: nvmlTemperatureSensors_t,
7578 temp: *mut raw::c_uint,
7579 ) -> nvmlReturn_t {
7580 (self
7581 .nvmlDeviceGetTemperature
7582 .as_ref()
7583 .expect("Expected function, got error."))(device, sensorType, temp)
7584 }
7585 pub unsafe fn nvmlDeviceGetCoolerInfo(
7586 &self,
7587 device: nvmlDevice_t,
7588 coolerInfo: *mut nvmlCoolerInfo_t,
7589 ) -> nvmlReturn_t {
7590 (self
7591 .nvmlDeviceGetCoolerInfo
7592 .as_ref()
7593 .expect("Expected function, got error."))(device, coolerInfo)
7594 }
7595 pub unsafe fn nvmlDeviceGetTemperatureV(
7596 &self,
7597 device: nvmlDevice_t,
7598 temperature: *mut nvmlTemperature_t,
7599 ) -> nvmlReturn_t {
7600 (self
7601 .nvmlDeviceGetTemperatureV
7602 .as_ref()
7603 .expect("Expected function, got error."))(device, temperature)
7604 }
7605 pub unsafe fn nvmlDeviceGetTemperatureThreshold(
7606 &self,
7607 device: nvmlDevice_t,
7608 thresholdType: nvmlTemperatureThresholds_t,
7609 temp: *mut raw::c_uint,
7610 ) -> nvmlReturn_t {
7611 (self
7612 .nvmlDeviceGetTemperatureThreshold
7613 .as_ref()
7614 .expect("Expected function, got error."))(device, thresholdType, temp)
7615 }
7616 pub unsafe fn nvmlDeviceGetMarginTemperature(
7617 &self,
7618 device: nvmlDevice_t,
7619 marginTempInfo: *mut nvmlMarginTemperature_t,
7620 ) -> nvmlReturn_t {
7621 (self
7622 .nvmlDeviceGetMarginTemperature
7623 .as_ref()
7624 .expect("Expected function, got error."))(device, marginTempInfo)
7625 }
7626 pub unsafe fn nvmlDeviceGetThermalSettings(
7627 &self,
7628 device: nvmlDevice_t,
7629 sensorIndex: raw::c_uint,
7630 pThermalSettings: *mut nvmlGpuThermalSettings_t,
7631 ) -> nvmlReturn_t {
7632 (self
7633 .nvmlDeviceGetThermalSettings
7634 .as_ref()
7635 .expect("Expected function, got error."))(device, sensorIndex, pThermalSettings)
7636 }
7637 pub unsafe fn nvmlDeviceGetPerformanceState(
7638 &self,
7639 device: nvmlDevice_t,
7640 pState: *mut nvmlPstates_t,
7641 ) -> nvmlReturn_t {
7642 (self
7643 .nvmlDeviceGetPerformanceState
7644 .as_ref()
7645 .expect("Expected function, got error."))(device, pState)
7646 }
7647 pub unsafe fn nvmlDeviceGetCurrentClocksEventReasons(
7648 &self,
7649 device: nvmlDevice_t,
7650 clocksEventReasons: *mut raw::c_ulonglong,
7651 ) -> nvmlReturn_t {
7652 (self
7653 .nvmlDeviceGetCurrentClocksEventReasons
7654 .as_ref()
7655 .expect("Expected function, got error."))(device, clocksEventReasons)
7656 }
7657 pub unsafe fn nvmlDeviceGetCurrentClocksThrottleReasons(
7658 &self,
7659 device: nvmlDevice_t,
7660 clocksThrottleReasons: *mut raw::c_ulonglong,
7661 ) -> nvmlReturn_t {
7662 (self
7663 .nvmlDeviceGetCurrentClocksThrottleReasons
7664 .as_ref()
7665 .expect("Expected function, got error."))(device, clocksThrottleReasons)
7666 }
7667 pub unsafe fn nvmlDeviceGetSupportedClocksEventReasons(
7668 &self,
7669 device: nvmlDevice_t,
7670 supportedClocksEventReasons: *mut raw::c_ulonglong,
7671 ) -> nvmlReturn_t {
7672 (self
7673 .nvmlDeviceGetSupportedClocksEventReasons
7674 .as_ref()
7675 .expect("Expected function, got error."))(device, supportedClocksEventReasons)
7676 }
7677 pub unsafe fn nvmlDeviceGetSupportedClocksThrottleReasons(
7678 &self,
7679 device: nvmlDevice_t,
7680 supportedClocksThrottleReasons: *mut raw::c_ulonglong,
7681 ) -> nvmlReturn_t {
7682 (self
7683 .nvmlDeviceGetSupportedClocksThrottleReasons
7684 .as_ref()
7685 .expect("Expected function, got error."))(device, supportedClocksThrottleReasons)
7686 }
7687 pub unsafe fn nvmlDeviceGetPowerState(
7688 &self,
7689 device: nvmlDevice_t,
7690 pState: *mut nvmlPstates_t,
7691 ) -> nvmlReturn_t {
7692 (self
7693 .nvmlDeviceGetPowerState
7694 .as_ref()
7695 .expect("Expected function, got error."))(device, pState)
7696 }
7697 pub unsafe fn nvmlDeviceGetDynamicPstatesInfo(
7698 &self,
7699 device: nvmlDevice_t,
7700 pDynamicPstatesInfo: *mut nvmlGpuDynamicPstatesInfo_t,
7701 ) -> nvmlReturn_t {
7702 (self
7703 .nvmlDeviceGetDynamicPstatesInfo
7704 .as_ref()
7705 .expect("Expected function, got error."))(device, pDynamicPstatesInfo)
7706 }
7707 pub unsafe fn nvmlDeviceGetMemClkVfOffset(
7708 &self,
7709 device: nvmlDevice_t,
7710 offset: *mut raw::c_int,
7711 ) -> nvmlReturn_t {
7712 (self
7713 .nvmlDeviceGetMemClkVfOffset
7714 .as_ref()
7715 .expect("Expected function, got error."))(device, offset)
7716 }
7717 pub unsafe fn nvmlDeviceGetMinMaxClockOfPState(
7718 &self,
7719 device: nvmlDevice_t,
7720 type_: nvmlClockType_t,
7721 pstate: nvmlPstates_t,
7722 minClockMHz: *mut raw::c_uint,
7723 maxClockMHz: *mut raw::c_uint,
7724 ) -> nvmlReturn_t {
7725 (self
7726 .nvmlDeviceGetMinMaxClockOfPState
7727 .as_ref()
7728 .expect("Expected function, got error."))(
7729 device,
7730 type_,
7731 pstate,
7732 minClockMHz,
7733 maxClockMHz,
7734 )
7735 }
7736 pub unsafe fn nvmlDeviceGetSupportedPerformanceStates(
7737 &self,
7738 device: nvmlDevice_t,
7739 pstates: *mut nvmlPstates_t,
7740 size: raw::c_uint,
7741 ) -> nvmlReturn_t {
7742 (self
7743 .nvmlDeviceGetSupportedPerformanceStates
7744 .as_ref()
7745 .expect("Expected function, got error."))(device, pstates, size)
7746 }
7747 pub unsafe fn nvmlDeviceGetGpcClkMinMaxVfOffset(
7748 &self,
7749 device: nvmlDevice_t,
7750 minOffset: *mut raw::c_int,
7751 maxOffset: *mut raw::c_int,
7752 ) -> nvmlReturn_t {
7753 (self
7754 .nvmlDeviceGetGpcClkMinMaxVfOffset
7755 .as_ref()
7756 .expect("Expected function, got error."))(device, minOffset, maxOffset)
7757 }
7758 pub unsafe fn nvmlDeviceGetMemClkMinMaxVfOffset(
7759 &self,
7760 device: nvmlDevice_t,
7761 minOffset: *mut raw::c_int,
7762 maxOffset: *mut raw::c_int,
7763 ) -> nvmlReturn_t {
7764 (self
7765 .nvmlDeviceGetMemClkMinMaxVfOffset
7766 .as_ref()
7767 .expect("Expected function, got error."))(device, minOffset, maxOffset)
7768 }
7769 pub unsafe fn nvmlDeviceGetClockOffsets(
7770 &self,
7771 device: nvmlDevice_t,
7772 info: *mut nvmlClockOffset_t,
7773 ) -> nvmlReturn_t {
7774 (self
7775 .nvmlDeviceGetClockOffsets
7776 .as_ref()
7777 .expect("Expected function, got error."))(device, info)
7778 }
7779 pub unsafe fn nvmlDeviceSetClockOffsets(
7780 &self,
7781 device: nvmlDevice_t,
7782 info: *mut nvmlClockOffset_t,
7783 ) -> nvmlReturn_t {
7784 (self
7785 .nvmlDeviceSetClockOffsets
7786 .as_ref()
7787 .expect("Expected function, got error."))(device, info)
7788 }
7789 pub unsafe fn nvmlDeviceGetPerformanceModes(
7790 &self,
7791 device: nvmlDevice_t,
7792 perfModes: *mut nvmlDevicePerfModes_t,
7793 ) -> nvmlReturn_t {
7794 (self
7795 .nvmlDeviceGetPerformanceModes
7796 .as_ref()
7797 .expect("Expected function, got error."))(device, perfModes)
7798 }
7799 pub unsafe fn nvmlDeviceGetCurrentClockFreqs(
7800 &self,
7801 device: nvmlDevice_t,
7802 currentClockFreqs: *mut nvmlDeviceCurrentClockFreqs_t,
7803 ) -> nvmlReturn_t {
7804 (self
7805 .nvmlDeviceGetCurrentClockFreqs
7806 .as_ref()
7807 .expect("Expected function, got error."))(device, currentClockFreqs)
7808 }
7809 pub unsafe fn nvmlDeviceGetPowerManagementMode(
7810 &self,
7811 device: nvmlDevice_t,
7812 mode: *mut nvmlEnableState_t,
7813 ) -> nvmlReturn_t {
7814 (self
7815 .nvmlDeviceGetPowerManagementMode
7816 .as_ref()
7817 .expect("Expected function, got error."))(device, mode)
7818 }
7819 pub unsafe fn nvmlDeviceGetPowerManagementLimit(
7820 &self,
7821 device: nvmlDevice_t,
7822 limit: *mut raw::c_uint,
7823 ) -> nvmlReturn_t {
7824 (self
7825 .nvmlDeviceGetPowerManagementLimit
7826 .as_ref()
7827 .expect("Expected function, got error."))(device, limit)
7828 }
7829 pub unsafe fn nvmlDeviceGetPowerManagementLimitConstraints(
7830 &self,
7831 device: nvmlDevice_t,
7832 minLimit: *mut raw::c_uint,
7833 maxLimit: *mut raw::c_uint,
7834 ) -> nvmlReturn_t {
7835 (self
7836 .nvmlDeviceGetPowerManagementLimitConstraints
7837 .as_ref()
7838 .expect("Expected function, got error."))(device, minLimit, maxLimit)
7839 }
7840 pub unsafe fn nvmlDeviceGetPowerManagementDefaultLimit(
7841 &self,
7842 device: nvmlDevice_t,
7843 defaultLimit: *mut raw::c_uint,
7844 ) -> nvmlReturn_t {
7845 (self
7846 .nvmlDeviceGetPowerManagementDefaultLimit
7847 .as_ref()
7848 .expect("Expected function, got error."))(device, defaultLimit)
7849 }
7850 pub unsafe fn nvmlDeviceGetPowerUsage(
7851 &self,
7852 device: nvmlDevice_t,
7853 power: *mut raw::c_uint,
7854 ) -> nvmlReturn_t {
7855 (self
7856 .nvmlDeviceGetPowerUsage
7857 .as_ref()
7858 .expect("Expected function, got error."))(device, power)
7859 }
7860 pub unsafe fn nvmlDeviceGetPowerMizerMode_v1(
7861 &self,
7862 device: nvmlDevice_t,
7863 powerMizerMode: *mut nvmlDevicePowerMizerModes_v1_t,
7864 ) -> nvmlReturn_t {
7865 (self
7866 .nvmlDeviceGetPowerMizerMode_v1
7867 .as_ref()
7868 .expect("Expected function, got error."))(device, powerMizerMode)
7869 }
7870 pub unsafe fn nvmlDeviceSetPowerMizerMode_v1(
7871 &self,
7872 device: nvmlDevice_t,
7873 powerMizerMode: *mut nvmlDevicePowerMizerModes_v1_t,
7874 ) -> nvmlReturn_t {
7875 (self
7876 .nvmlDeviceSetPowerMizerMode_v1
7877 .as_ref()
7878 .expect("Expected function, got error."))(device, powerMizerMode)
7879 }
7880 pub unsafe fn nvmlDeviceGetTotalEnergyConsumption(
7881 &self,
7882 device: nvmlDevice_t,
7883 energy: *mut raw::c_ulonglong,
7884 ) -> nvmlReturn_t {
7885 (self
7886 .nvmlDeviceGetTotalEnergyConsumption
7887 .as_ref()
7888 .expect("Expected function, got error."))(device, energy)
7889 }
7890 pub unsafe fn nvmlDeviceGetEnforcedPowerLimit(
7891 &self,
7892 device: nvmlDevice_t,
7893 limit: *mut raw::c_uint,
7894 ) -> nvmlReturn_t {
7895 (self
7896 .nvmlDeviceGetEnforcedPowerLimit
7897 .as_ref()
7898 .expect("Expected function, got error."))(device, limit)
7899 }
7900 pub unsafe fn nvmlDeviceGetGpuOperationMode(
7901 &self,
7902 device: nvmlDevice_t,
7903 current: *mut nvmlGpuOperationMode_t,
7904 pending: *mut nvmlGpuOperationMode_t,
7905 ) -> nvmlReturn_t {
7906 (self
7907 .nvmlDeviceGetGpuOperationMode
7908 .as_ref()
7909 .expect("Expected function, got error."))(device, current, pending)
7910 }
7911 pub unsafe fn nvmlDeviceGetMemoryInfo(
7912 &self,
7913 device: nvmlDevice_t,
7914 memory: *mut nvmlMemory_t,
7915 ) -> nvmlReturn_t {
7916 (self
7917 .nvmlDeviceGetMemoryInfo
7918 .as_ref()
7919 .expect("Expected function, got error."))(device, memory)
7920 }
7921 pub unsafe fn nvmlDeviceGetMemoryInfo_v2(
7922 &self,
7923 device: nvmlDevice_t,
7924 memory: *mut nvmlMemory_v2_t,
7925 ) -> nvmlReturn_t {
7926 (self
7927 .nvmlDeviceGetMemoryInfo_v2
7928 .as_ref()
7929 .expect("Expected function, got error."))(device, memory)
7930 }
7931 pub unsafe fn nvmlDeviceGetComputeMode(
7932 &self,
7933 device: nvmlDevice_t,
7934 mode: *mut nvmlComputeMode_t,
7935 ) -> nvmlReturn_t {
7936 (self
7937 .nvmlDeviceGetComputeMode
7938 .as_ref()
7939 .expect("Expected function, got error."))(device, mode)
7940 }
7941 pub unsafe fn nvmlDeviceGetCudaComputeCapability(
7942 &self,
7943 device: nvmlDevice_t,
7944 major: *mut raw::c_int,
7945 minor: *mut raw::c_int,
7946 ) -> nvmlReturn_t {
7947 (self
7948 .nvmlDeviceGetCudaComputeCapability
7949 .as_ref()
7950 .expect("Expected function, got error."))(device, major, minor)
7951 }
7952 pub unsafe fn nvmlDeviceGetDramEncryptionMode(
7953 &self,
7954 device: nvmlDevice_t,
7955 current: *mut nvmlDramEncryptionInfo_t,
7956 pending: *mut nvmlDramEncryptionInfo_t,
7957 ) -> nvmlReturn_t {
7958 (self
7959 .nvmlDeviceGetDramEncryptionMode
7960 .as_ref()
7961 .expect("Expected function, got error."))(device, current, pending)
7962 }
7963 pub unsafe fn nvmlDeviceSetDramEncryptionMode(
7964 &self,
7965 device: nvmlDevice_t,
7966 dramEncryption: *const nvmlDramEncryptionInfo_t,
7967 ) -> nvmlReturn_t {
7968 (self
7969 .nvmlDeviceSetDramEncryptionMode
7970 .as_ref()
7971 .expect("Expected function, got error."))(device, dramEncryption)
7972 }
7973 pub unsafe fn nvmlDeviceGetEccMode(
7974 &self,
7975 device: nvmlDevice_t,
7976 current: *mut nvmlEnableState_t,
7977 pending: *mut nvmlEnableState_t,
7978 ) -> nvmlReturn_t {
7979 (self
7980 .nvmlDeviceGetEccMode
7981 .as_ref()
7982 .expect("Expected function, got error."))(device, current, pending)
7983 }
7984 pub unsafe fn nvmlDeviceGetDefaultEccMode(
7985 &self,
7986 device: nvmlDevice_t,
7987 defaultMode: *mut nvmlEnableState_t,
7988 ) -> nvmlReturn_t {
7989 (self
7990 .nvmlDeviceGetDefaultEccMode
7991 .as_ref()
7992 .expect("Expected function, got error."))(device, defaultMode)
7993 }
7994 pub unsafe fn nvmlDeviceGetBoardId(
7995 &self,
7996 device: nvmlDevice_t,
7997 boardId: *mut raw::c_uint,
7998 ) -> nvmlReturn_t {
7999 (self
8000 .nvmlDeviceGetBoardId
8001 .as_ref()
8002 .expect("Expected function, got error."))(device, boardId)
8003 }
8004 pub unsafe fn nvmlDeviceGetMultiGpuBoard(
8005 &self,
8006 device: nvmlDevice_t,
8007 multiGpuBool: *mut raw::c_uint,
8008 ) -> nvmlReturn_t {
8009 (self
8010 .nvmlDeviceGetMultiGpuBoard
8011 .as_ref()
8012 .expect("Expected function, got error."))(device, multiGpuBool)
8013 }
8014 pub unsafe fn nvmlDeviceGetTotalEccErrors(
8015 &self,
8016 device: nvmlDevice_t,
8017 errorType: nvmlMemoryErrorType_t,
8018 counterType: nvmlEccCounterType_t,
8019 eccCounts: *mut raw::c_ulonglong,
8020 ) -> nvmlReturn_t {
8021 (self
8022 .nvmlDeviceGetTotalEccErrors
8023 .as_ref()
8024 .expect("Expected function, got error."))(
8025 device, errorType, counterType, eccCounts
8026 )
8027 }
8028 pub unsafe fn nvmlDeviceGetDetailedEccErrors(
8029 &self,
8030 device: nvmlDevice_t,
8031 errorType: nvmlMemoryErrorType_t,
8032 counterType: nvmlEccCounterType_t,
8033 eccCounts: *mut nvmlEccErrorCounts_t,
8034 ) -> nvmlReturn_t {
8035 (self
8036 .nvmlDeviceGetDetailedEccErrors
8037 .as_ref()
8038 .expect("Expected function, got error."))(
8039 device, errorType, counterType, eccCounts
8040 )
8041 }
8042 pub unsafe fn nvmlDeviceGetMemoryErrorCounter(
8043 &self,
8044 device: nvmlDevice_t,
8045 errorType: nvmlMemoryErrorType_t,
8046 counterType: nvmlEccCounterType_t,
8047 locationType: nvmlMemoryLocation_t,
8048 count: *mut raw::c_ulonglong,
8049 ) -> nvmlReturn_t {
8050 (self
8051 .nvmlDeviceGetMemoryErrorCounter
8052 .as_ref()
8053 .expect("Expected function, got error."))(
8054 device,
8055 errorType,
8056 counterType,
8057 locationType,
8058 count,
8059 )
8060 }
8061 pub unsafe fn nvmlDeviceGetUtilizationRates(
8062 &self,
8063 device: nvmlDevice_t,
8064 utilization: *mut nvmlUtilization_t,
8065 ) -> nvmlReturn_t {
8066 (self
8067 .nvmlDeviceGetUtilizationRates
8068 .as_ref()
8069 .expect("Expected function, got error."))(device, utilization)
8070 }
8071 pub unsafe fn nvmlDeviceGetEncoderUtilization(
8072 &self,
8073 device: nvmlDevice_t,
8074 utilization: *mut raw::c_uint,
8075 samplingPeriodUs: *mut raw::c_uint,
8076 ) -> nvmlReturn_t {
8077 (self
8078 .nvmlDeviceGetEncoderUtilization
8079 .as_ref()
8080 .expect("Expected function, got error."))(device, utilization, samplingPeriodUs)
8081 }
8082 pub unsafe fn nvmlDeviceGetEncoderCapacity(
8083 &self,
8084 device: nvmlDevice_t,
8085 encoderQueryType: nvmlEncoderType_t,
8086 encoderCapacity: *mut raw::c_uint,
8087 ) -> nvmlReturn_t {
8088 (self
8089 .nvmlDeviceGetEncoderCapacity
8090 .as_ref()
8091 .expect("Expected function, got error."))(
8092 device, encoderQueryType, encoderCapacity
8093 )
8094 }
8095 pub unsafe fn nvmlDeviceGetEncoderStats(
8096 &self,
8097 device: nvmlDevice_t,
8098 sessionCount: *mut raw::c_uint,
8099 averageFps: *mut raw::c_uint,
8100 averageLatency: *mut raw::c_uint,
8101 ) -> nvmlReturn_t {
8102 (self
8103 .nvmlDeviceGetEncoderStats
8104 .as_ref()
8105 .expect("Expected function, got error."))(
8106 device,
8107 sessionCount,
8108 averageFps,
8109 averageLatency,
8110 )
8111 }
8112 pub unsafe fn nvmlDeviceGetEncoderSessions(
8113 &self,
8114 device: nvmlDevice_t,
8115 sessionCount: *mut raw::c_uint,
8116 sessionInfos: *mut nvmlEncoderSessionInfo_t,
8117 ) -> nvmlReturn_t {
8118 (self
8119 .nvmlDeviceGetEncoderSessions
8120 .as_ref()
8121 .expect("Expected function, got error."))(device, sessionCount, sessionInfos)
8122 }
8123 pub unsafe fn nvmlDeviceGetDecoderUtilization(
8124 &self,
8125 device: nvmlDevice_t,
8126 utilization: *mut raw::c_uint,
8127 samplingPeriodUs: *mut raw::c_uint,
8128 ) -> nvmlReturn_t {
8129 (self
8130 .nvmlDeviceGetDecoderUtilization
8131 .as_ref()
8132 .expect("Expected function, got error."))(device, utilization, samplingPeriodUs)
8133 }
8134 pub unsafe fn nvmlDeviceGetJpgUtilization(
8135 &self,
8136 device: nvmlDevice_t,
8137 utilization: *mut raw::c_uint,
8138 samplingPeriodUs: *mut raw::c_uint,
8139 ) -> nvmlReturn_t {
8140 (self
8141 .nvmlDeviceGetJpgUtilization
8142 .as_ref()
8143 .expect("Expected function, got error."))(device, utilization, samplingPeriodUs)
8144 }
8145 pub unsafe fn nvmlDeviceGetOfaUtilization(
8146 &self,
8147 device: nvmlDevice_t,
8148 utilization: *mut raw::c_uint,
8149 samplingPeriodUs: *mut raw::c_uint,
8150 ) -> nvmlReturn_t {
8151 (self
8152 .nvmlDeviceGetOfaUtilization
8153 .as_ref()
8154 .expect("Expected function, got error."))(device, utilization, samplingPeriodUs)
8155 }
8156 pub unsafe fn nvmlDeviceGetFBCStats(
8157 &self,
8158 device: nvmlDevice_t,
8159 fbcStats: *mut nvmlFBCStats_t,
8160 ) -> nvmlReturn_t {
8161 (self
8162 .nvmlDeviceGetFBCStats
8163 .as_ref()
8164 .expect("Expected function, got error."))(device, fbcStats)
8165 }
8166 pub unsafe fn nvmlDeviceGetFBCSessions(
8167 &self,
8168 device: nvmlDevice_t,
8169 sessionCount: *mut raw::c_uint,
8170 sessionInfo: *mut nvmlFBCSessionInfo_t,
8171 ) -> nvmlReturn_t {
8172 (self
8173 .nvmlDeviceGetFBCSessions
8174 .as_ref()
8175 .expect("Expected function, got error."))(device, sessionCount, sessionInfo)
8176 }
8177 pub unsafe fn nvmlDeviceGetDriverModel_v2(
8178 &self,
8179 device: nvmlDevice_t,
8180 current: *mut nvmlDriverModel_t,
8181 pending: *mut nvmlDriverModel_t,
8182 ) -> nvmlReturn_t {
8183 (self
8184 .nvmlDeviceGetDriverModel_v2
8185 .as_ref()
8186 .expect("Expected function, got error."))(device, current, pending)
8187 }
8188 pub unsafe fn nvmlDeviceGetVbiosVersion(
8189 &self,
8190 device: nvmlDevice_t,
8191 version: *mut raw::c_char,
8192 length: raw::c_uint,
8193 ) -> nvmlReturn_t {
8194 (self
8195 .nvmlDeviceGetVbiosVersion
8196 .as_ref()
8197 .expect("Expected function, got error."))(device, version, length)
8198 }
8199 pub unsafe fn nvmlDeviceGetBridgeChipInfo(
8200 &self,
8201 device: nvmlDevice_t,
8202 bridgeHierarchy: *mut nvmlBridgeChipHierarchy_t,
8203 ) -> nvmlReturn_t {
8204 (self
8205 .nvmlDeviceGetBridgeChipInfo
8206 .as_ref()
8207 .expect("Expected function, got error."))(device, bridgeHierarchy)
8208 }
8209 pub unsafe fn nvmlDeviceGetComputeRunningProcesses_v3(
8210 &self,
8211 device: nvmlDevice_t,
8212 infoCount: *mut raw::c_uint,
8213 infos: *mut nvmlProcessInfo_t,
8214 ) -> nvmlReturn_t {
8215 (self
8216 .nvmlDeviceGetComputeRunningProcesses_v3
8217 .as_ref()
8218 .expect("Expected function, got error."))(device, infoCount, infos)
8219 }
8220 pub unsafe fn nvmlDeviceGetGraphicsRunningProcesses_v3(
8221 &self,
8222 device: nvmlDevice_t,
8223 infoCount: *mut raw::c_uint,
8224 infos: *mut nvmlProcessInfo_t,
8225 ) -> nvmlReturn_t {
8226 (self
8227 .nvmlDeviceGetGraphicsRunningProcesses_v3
8228 .as_ref()
8229 .expect("Expected function, got error."))(device, infoCount, infos)
8230 }
8231 pub unsafe fn nvmlDeviceGetMPSComputeRunningProcesses_v3(
8232 &self,
8233 device: nvmlDevice_t,
8234 infoCount: *mut raw::c_uint,
8235 infos: *mut nvmlProcessInfo_t,
8236 ) -> nvmlReturn_t {
8237 (self
8238 .nvmlDeviceGetMPSComputeRunningProcesses_v3
8239 .as_ref()
8240 .expect("Expected function, got error."))(device, infoCount, infos)
8241 }
8242 pub unsafe fn nvmlDeviceGetRunningProcessDetailList(
8243 &self,
8244 device: nvmlDevice_t,
8245 plist: *mut nvmlProcessDetailList_t,
8246 ) -> nvmlReturn_t {
8247 (self
8248 .nvmlDeviceGetRunningProcessDetailList
8249 .as_ref()
8250 .expect("Expected function, got error."))(device, plist)
8251 }
8252 pub unsafe fn nvmlDeviceOnSameBoard(
8253 &self,
8254 device1: nvmlDevice_t,
8255 device2: nvmlDevice_t,
8256 onSameBoard: *mut raw::c_int,
8257 ) -> nvmlReturn_t {
8258 (self
8259 .nvmlDeviceOnSameBoard
8260 .as_ref()
8261 .expect("Expected function, got error."))(device1, device2, onSameBoard)
8262 }
8263 pub unsafe fn nvmlDeviceGetAPIRestriction(
8264 &self,
8265 device: nvmlDevice_t,
8266 apiType: nvmlRestrictedAPI_t,
8267 isRestricted: *mut nvmlEnableState_t,
8268 ) -> nvmlReturn_t {
8269 (self
8270 .nvmlDeviceGetAPIRestriction
8271 .as_ref()
8272 .expect("Expected function, got error."))(device, apiType, isRestricted)
8273 }
8274 pub unsafe fn nvmlDeviceGetSamples(
8275 &self,
8276 device: nvmlDevice_t,
8277 type_: nvmlSamplingType_t,
8278 lastSeenTimeStamp: raw::c_ulonglong,
8279 sampleValType: *mut nvmlValueType_t,
8280 sampleCount: *mut raw::c_uint,
8281 samples: *mut nvmlSample_t,
8282 ) -> nvmlReturn_t {
8283 (self
8284 .nvmlDeviceGetSamples
8285 .as_ref()
8286 .expect("Expected function, got error."))(
8287 device,
8288 type_,
8289 lastSeenTimeStamp,
8290 sampleValType,
8291 sampleCount,
8292 samples,
8293 )
8294 }
8295 pub unsafe fn nvmlDeviceGetBAR1MemoryInfo(
8296 &self,
8297 device: nvmlDevice_t,
8298 bar1Memory: *mut nvmlBAR1Memory_t,
8299 ) -> nvmlReturn_t {
8300 (self
8301 .nvmlDeviceGetBAR1MemoryInfo
8302 .as_ref()
8303 .expect("Expected function, got error."))(device, bar1Memory)
8304 }
8305 pub unsafe fn nvmlDeviceGetViolationStatus(
8306 &self,
8307 device: nvmlDevice_t,
8308 perfPolicyType: nvmlPerfPolicyType_t,
8309 violTime: *mut nvmlViolationTime_t,
8310 ) -> nvmlReturn_t {
8311 (self
8312 .nvmlDeviceGetViolationStatus
8313 .as_ref()
8314 .expect("Expected function, got error."))(device, perfPolicyType, violTime)
8315 }
8316 pub unsafe fn nvmlDeviceGetIrqNum(
8317 &self,
8318 device: nvmlDevice_t,
8319 irqNum: *mut raw::c_uint,
8320 ) -> nvmlReturn_t {
8321 (self
8322 .nvmlDeviceGetIrqNum
8323 .as_ref()
8324 .expect("Expected function, got error."))(device, irqNum)
8325 }
8326 pub unsafe fn nvmlDeviceGetNumGpuCores(
8327 &self,
8328 device: nvmlDevice_t,
8329 numCores: *mut raw::c_uint,
8330 ) -> nvmlReturn_t {
8331 (self
8332 .nvmlDeviceGetNumGpuCores
8333 .as_ref()
8334 .expect("Expected function, got error."))(device, numCores)
8335 }
8336 pub unsafe fn nvmlDeviceGetPowerSource(
8337 &self,
8338 device: nvmlDevice_t,
8339 powerSource: *mut nvmlPowerSource_t,
8340 ) -> nvmlReturn_t {
8341 (self
8342 .nvmlDeviceGetPowerSource
8343 .as_ref()
8344 .expect("Expected function, got error."))(device, powerSource)
8345 }
8346 pub unsafe fn nvmlDeviceGetMemoryBusWidth(
8347 &self,
8348 device: nvmlDevice_t,
8349 busWidth: *mut raw::c_uint,
8350 ) -> nvmlReturn_t {
8351 (self
8352 .nvmlDeviceGetMemoryBusWidth
8353 .as_ref()
8354 .expect("Expected function, got error."))(device, busWidth)
8355 }
8356 pub unsafe fn nvmlDeviceGetPcieLinkMaxSpeed(
8357 &self,
8358 device: nvmlDevice_t,
8359 maxSpeed: *mut raw::c_uint,
8360 ) -> nvmlReturn_t {
8361 (self
8362 .nvmlDeviceGetPcieLinkMaxSpeed
8363 .as_ref()
8364 .expect("Expected function, got error."))(device, maxSpeed)
8365 }
8366 pub unsafe fn nvmlDeviceGetPcieSpeed(
8367 &self,
8368 device: nvmlDevice_t,
8369 pcieSpeed: *mut raw::c_uint,
8370 ) -> nvmlReturn_t {
8371 (self
8372 .nvmlDeviceGetPcieSpeed
8373 .as_ref()
8374 .expect("Expected function, got error."))(device, pcieSpeed)
8375 }
8376 pub unsafe fn nvmlDeviceGetAdaptiveClockInfoStatus(
8377 &self,
8378 device: nvmlDevice_t,
8379 adaptiveClockStatus: *mut raw::c_uint,
8380 ) -> nvmlReturn_t {
8381 (self
8382 .nvmlDeviceGetAdaptiveClockInfoStatus
8383 .as_ref()
8384 .expect("Expected function, got error."))(device, adaptiveClockStatus)
8385 }
8386 pub unsafe fn nvmlDeviceGetBusType(
8387 &self,
8388 device: nvmlDevice_t,
8389 type_: *mut nvmlBusType_t,
8390 ) -> nvmlReturn_t {
8391 (self
8392 .nvmlDeviceGetBusType
8393 .as_ref()
8394 .expect("Expected function, got error."))(device, type_)
8395 }
8396 pub unsafe fn nvmlDeviceGetGpuFabricInfo(
8397 &self,
8398 device: nvmlDevice_t,
8399 gpuFabricInfo: *mut nvmlGpuFabricInfo_t,
8400 ) -> nvmlReturn_t {
8401 (self
8402 .nvmlDeviceGetGpuFabricInfo
8403 .as_ref()
8404 .expect("Expected function, got error."))(device, gpuFabricInfo)
8405 }
8406 pub unsafe fn nvmlDeviceGetGpuFabricInfoV(
8407 &self,
8408 device: nvmlDevice_t,
8409 gpuFabricInfo: *mut nvmlGpuFabricInfoV_t,
8410 ) -> nvmlReturn_t {
8411 (self
8412 .nvmlDeviceGetGpuFabricInfoV
8413 .as_ref()
8414 .expect("Expected function, got error."))(device, gpuFabricInfo)
8415 }
8416 pub unsafe fn nvmlSystemGetConfComputeCapabilities(
8417 &self,
8418 capabilities: *mut nvmlConfComputeSystemCaps_t,
8419 ) -> nvmlReturn_t {
8420 (self
8421 .nvmlSystemGetConfComputeCapabilities
8422 .as_ref()
8423 .expect("Expected function, got error."))(capabilities)
8424 }
8425 pub unsafe fn nvmlSystemGetConfComputeState(
8426 &self,
8427 state: *mut nvmlConfComputeSystemState_t,
8428 ) -> nvmlReturn_t {
8429 (self
8430 .nvmlSystemGetConfComputeState
8431 .as_ref()
8432 .expect("Expected function, got error."))(state)
8433 }
8434 pub unsafe fn nvmlDeviceGetConfComputeMemSizeInfo(
8435 &self,
8436 device: nvmlDevice_t,
8437 memInfo: *mut nvmlConfComputeMemSizeInfo_t,
8438 ) -> nvmlReturn_t {
8439 (self
8440 .nvmlDeviceGetConfComputeMemSizeInfo
8441 .as_ref()
8442 .expect("Expected function, got error."))(device, memInfo)
8443 }
8444 pub unsafe fn nvmlSystemGetConfComputeGpusReadyState(
8445 &self,
8446 isAcceptingWork: *mut raw::c_uint,
8447 ) -> nvmlReturn_t {
8448 (self
8449 .nvmlSystemGetConfComputeGpusReadyState
8450 .as_ref()
8451 .expect("Expected function, got error."))(isAcceptingWork)
8452 }
8453 pub unsafe fn nvmlDeviceGetConfComputeProtectedMemoryUsage(
8454 &self,
8455 device: nvmlDevice_t,
8456 memory: *mut nvmlMemory_t,
8457 ) -> nvmlReturn_t {
8458 (self
8459 .nvmlDeviceGetConfComputeProtectedMemoryUsage
8460 .as_ref()
8461 .expect("Expected function, got error."))(device, memory)
8462 }
8463 pub unsafe fn nvmlDeviceGetConfComputeGpuCertificate(
8464 &self,
8465 device: nvmlDevice_t,
8466 gpuCert: *mut nvmlConfComputeGpuCertificate_t,
8467 ) -> nvmlReturn_t {
8468 (self
8469 .nvmlDeviceGetConfComputeGpuCertificate
8470 .as_ref()
8471 .expect("Expected function, got error."))(device, gpuCert)
8472 }
8473 pub unsafe fn nvmlDeviceGetConfComputeGpuAttestationReport(
8474 &self,
8475 device: nvmlDevice_t,
8476 gpuAtstReport: *mut nvmlConfComputeGpuAttestationReport_t,
8477 ) -> nvmlReturn_t {
8478 (self
8479 .nvmlDeviceGetConfComputeGpuAttestationReport
8480 .as_ref()
8481 .expect("Expected function, got error."))(device, gpuAtstReport)
8482 }
8483 pub unsafe fn nvmlSystemGetConfComputeKeyRotationThresholdInfo(
8484 &self,
8485 pKeyRotationThrInfo: *mut nvmlConfComputeGetKeyRotationThresholdInfo_t,
8486 ) -> nvmlReturn_t {
8487 (self
8488 .nvmlSystemGetConfComputeKeyRotationThresholdInfo
8489 .as_ref()
8490 .expect("Expected function, got error."))(pKeyRotationThrInfo)
8491 }
8492 pub unsafe fn nvmlDeviceSetConfComputeUnprotectedMemSize(
8493 &self,
8494 device: nvmlDevice_t,
8495 sizeKiB: raw::c_ulonglong,
8496 ) -> nvmlReturn_t {
8497 (self
8498 .nvmlDeviceSetConfComputeUnprotectedMemSize
8499 .as_ref()
8500 .expect("Expected function, got error."))(device, sizeKiB)
8501 }
8502 pub unsafe fn nvmlSystemSetConfComputeGpusReadyState(
8503 &self,
8504 isAcceptingWork: raw::c_uint,
8505 ) -> nvmlReturn_t {
8506 (self
8507 .nvmlSystemSetConfComputeGpusReadyState
8508 .as_ref()
8509 .expect("Expected function, got error."))(isAcceptingWork)
8510 }
8511 pub unsafe fn nvmlSystemSetConfComputeKeyRotationThresholdInfo(
8512 &self,
8513 pKeyRotationThrInfo: *mut nvmlConfComputeSetKeyRotationThresholdInfo_t,
8514 ) -> nvmlReturn_t {
8515 (self
8516 .nvmlSystemSetConfComputeKeyRotationThresholdInfo
8517 .as_ref()
8518 .expect("Expected function, got error."))(pKeyRotationThrInfo)
8519 }
8520 pub unsafe fn nvmlSystemGetConfComputeSettings(
8521 &self,
8522 settings: *mut nvmlSystemConfComputeSettings_t,
8523 ) -> nvmlReturn_t {
8524 (self
8525 .nvmlSystemGetConfComputeSettings
8526 .as_ref()
8527 .expect("Expected function, got error."))(settings)
8528 }
8529 pub unsafe fn nvmlDeviceGetGspFirmwareVersion(
8530 &self,
8531 device: nvmlDevice_t,
8532 version: *mut raw::c_char,
8533 ) -> nvmlReturn_t {
8534 (self
8535 .nvmlDeviceGetGspFirmwareVersion
8536 .as_ref()
8537 .expect("Expected function, got error."))(device, version)
8538 }
8539 pub unsafe fn nvmlDeviceGetGspFirmwareMode(
8540 &self,
8541 device: nvmlDevice_t,
8542 isEnabled: *mut raw::c_uint,
8543 defaultMode: *mut raw::c_uint,
8544 ) -> nvmlReturn_t {
8545 (self
8546 .nvmlDeviceGetGspFirmwareMode
8547 .as_ref()
8548 .expect("Expected function, got error."))(device, isEnabled, defaultMode)
8549 }
8550 pub unsafe fn nvmlDeviceGetSramEccErrorStatus(
8551 &self,
8552 device: nvmlDevice_t,
8553 status: *mut nvmlEccSramErrorStatus_t,
8554 ) -> nvmlReturn_t {
8555 (self
8556 .nvmlDeviceGetSramEccErrorStatus
8557 .as_ref()
8558 .expect("Expected function, got error."))(device, status)
8559 }
8560 pub unsafe fn nvmlDeviceSetPowerManagementLimit_v2(
8561 &self,
8562 device: nvmlDevice_t,
8563 powerValue: *mut nvmlPowerValue_v2_t,
8564 ) -> nvmlReturn_t {
8565 (self
8566 .nvmlDeviceSetPowerManagementLimit_v2
8567 .as_ref()
8568 .expect("Expected function, got error."))(device, powerValue)
8569 }
8570 pub unsafe fn nvmlDeviceGetAccountingMode(
8571 &self,
8572 device: nvmlDevice_t,
8573 mode: *mut nvmlEnableState_t,
8574 ) -> nvmlReturn_t {
8575 (self
8576 .nvmlDeviceGetAccountingMode
8577 .as_ref()
8578 .expect("Expected function, got error."))(device, mode)
8579 }
8580 pub unsafe fn nvmlDeviceGetAccountingStats(
8581 &self,
8582 device: nvmlDevice_t,
8583 pid: raw::c_uint,
8584 stats: *mut nvmlAccountingStats_t,
8585 ) -> nvmlReturn_t {
8586 (self
8587 .nvmlDeviceGetAccountingStats
8588 .as_ref()
8589 .expect("Expected function, got error."))(device, pid, stats)
8590 }
8591 pub unsafe fn nvmlDeviceGetAccountingPids(
8592 &self,
8593 device: nvmlDevice_t,
8594 count: *mut raw::c_uint,
8595 pids: *mut raw::c_uint,
8596 ) -> nvmlReturn_t {
8597 (self
8598 .nvmlDeviceGetAccountingPids
8599 .as_ref()
8600 .expect("Expected function, got error."))(device, count, pids)
8601 }
8602 pub unsafe fn nvmlDeviceGetAccountingBufferSize(
8603 &self,
8604 device: nvmlDevice_t,
8605 bufferSize: *mut raw::c_uint,
8606 ) -> nvmlReturn_t {
8607 (self
8608 .nvmlDeviceGetAccountingBufferSize
8609 .as_ref()
8610 .expect("Expected function, got error."))(device, bufferSize)
8611 }
8612 pub unsafe fn nvmlDeviceGetRetiredPages(
8613 &self,
8614 device: nvmlDevice_t,
8615 cause: nvmlPageRetirementCause_t,
8616 pageCount: *mut raw::c_uint,
8617 addresses: *mut raw::c_ulonglong,
8618 ) -> nvmlReturn_t {
8619 (self
8620 .nvmlDeviceGetRetiredPages
8621 .as_ref()
8622 .expect("Expected function, got error."))(device, cause, pageCount, addresses)
8623 }
8624 pub unsafe fn nvmlDeviceGetRetiredPages_v2(
8625 &self,
8626 device: nvmlDevice_t,
8627 cause: nvmlPageRetirementCause_t,
8628 pageCount: *mut raw::c_uint,
8629 addresses: *mut raw::c_ulonglong,
8630 timestamps: *mut raw::c_ulonglong,
8631 ) -> nvmlReturn_t {
8632 (self
8633 .nvmlDeviceGetRetiredPages_v2
8634 .as_ref()
8635 .expect("Expected function, got error."))(
8636 device, cause, pageCount, addresses, timestamps,
8637 )
8638 }
8639 pub unsafe fn nvmlDeviceGetRetiredPagesPendingStatus(
8640 &self,
8641 device: nvmlDevice_t,
8642 isPending: *mut nvmlEnableState_t,
8643 ) -> nvmlReturn_t {
8644 (self
8645 .nvmlDeviceGetRetiredPagesPendingStatus
8646 .as_ref()
8647 .expect("Expected function, got error."))(device, isPending)
8648 }
8649 pub unsafe fn nvmlDeviceGetRemappedRows(
8650 &self,
8651 device: nvmlDevice_t,
8652 corrRows: *mut raw::c_uint,
8653 uncRows: *mut raw::c_uint,
8654 isPending: *mut raw::c_uint,
8655 failureOccurred: *mut raw::c_uint,
8656 ) -> nvmlReturn_t {
8657 (self
8658 .nvmlDeviceGetRemappedRows
8659 .as_ref()
8660 .expect("Expected function, got error."))(
8661 device,
8662 corrRows,
8663 uncRows,
8664 isPending,
8665 failureOccurred,
8666 )
8667 }
8668 pub unsafe fn nvmlDeviceGetRowRemapperHistogram(
8669 &self,
8670 device: nvmlDevice_t,
8671 values: *mut nvmlRowRemapperHistogramValues_t,
8672 ) -> nvmlReturn_t {
8673 (self
8674 .nvmlDeviceGetRowRemapperHistogram
8675 .as_ref()
8676 .expect("Expected function, got error."))(device, values)
8677 }
8678 pub unsafe fn nvmlDeviceGetArchitecture(
8679 &self,
8680 device: nvmlDevice_t,
8681 arch: *mut nvmlDeviceArchitecture_t,
8682 ) -> nvmlReturn_t {
8683 (self
8684 .nvmlDeviceGetArchitecture
8685 .as_ref()
8686 .expect("Expected function, got error."))(device, arch)
8687 }
8688 pub unsafe fn nvmlDeviceGetClkMonStatus(
8689 &self,
8690 device: nvmlDevice_t,
8691 status: *mut nvmlClkMonStatus_t,
8692 ) -> nvmlReturn_t {
8693 (self
8694 .nvmlDeviceGetClkMonStatus
8695 .as_ref()
8696 .expect("Expected function, got error."))(device, status)
8697 }
8698 pub unsafe fn nvmlDeviceGetProcessUtilization(
8699 &self,
8700 device: nvmlDevice_t,
8701 utilization: *mut nvmlProcessUtilizationSample_t,
8702 processSamplesCount: *mut raw::c_uint,
8703 lastSeenTimeStamp: raw::c_ulonglong,
8704 ) -> nvmlReturn_t {
8705 (self
8706 .nvmlDeviceGetProcessUtilization
8707 .as_ref()
8708 .expect("Expected function, got error."))(
8709 device,
8710 utilization,
8711 processSamplesCount,
8712 lastSeenTimeStamp,
8713 )
8714 }
8715 pub unsafe fn nvmlDeviceGetProcessesUtilizationInfo(
8716 &self,
8717 device: nvmlDevice_t,
8718 procesesUtilInfo: *mut nvmlProcessesUtilizationInfo_t,
8719 ) -> nvmlReturn_t {
8720 (self
8721 .nvmlDeviceGetProcessesUtilizationInfo
8722 .as_ref()
8723 .expect("Expected function, got error."))(device, procesesUtilInfo)
8724 }
8725 pub unsafe fn nvmlDeviceGetPlatformInfo(
8726 &self,
8727 device: nvmlDevice_t,
8728 platformInfo: *mut nvmlPlatformInfo_t,
8729 ) -> nvmlReturn_t {
8730 (self
8731 .nvmlDeviceGetPlatformInfo
8732 .as_ref()
8733 .expect("Expected function, got error."))(device, platformInfo)
8734 }
8735 pub unsafe fn nvmlDeviceGetPdi(
8736 &self,
8737 device: nvmlDevice_t,
8738 pdi: *mut nvmlPdi_t,
8739 ) -> nvmlReturn_t {
8740 (self
8741 .nvmlDeviceGetPdi
8742 .as_ref()
8743 .expect("Expected function, got error."))(device, pdi)
8744 }
8745 pub unsafe fn nvmlUnitSetLedState(
8746 &self,
8747 unit: nvmlUnit_t,
8748 color: nvmlLedColor_t,
8749 ) -> nvmlReturn_t {
8750 (self
8751 .nvmlUnitSetLedState
8752 .as_ref()
8753 .expect("Expected function, got error."))(unit, color)
8754 }
8755 pub unsafe fn nvmlDeviceSetPersistenceMode(
8756 &self,
8757 device: nvmlDevice_t,
8758 mode: nvmlEnableState_t,
8759 ) -> nvmlReturn_t {
8760 (self
8761 .nvmlDeviceSetPersistenceMode
8762 .as_ref()
8763 .expect("Expected function, got error."))(device, mode)
8764 }
8765 pub unsafe fn nvmlDeviceSetComputeMode(
8766 &self,
8767 device: nvmlDevice_t,
8768 mode: nvmlComputeMode_t,
8769 ) -> nvmlReturn_t {
8770 (self
8771 .nvmlDeviceSetComputeMode
8772 .as_ref()
8773 .expect("Expected function, got error."))(device, mode)
8774 }
8775 pub unsafe fn nvmlDeviceSetEccMode(
8776 &self,
8777 device: nvmlDevice_t,
8778 ecc: nvmlEnableState_t,
8779 ) -> nvmlReturn_t {
8780 (self
8781 .nvmlDeviceSetEccMode
8782 .as_ref()
8783 .expect("Expected function, got error."))(device, ecc)
8784 }
8785 pub unsafe fn nvmlDeviceClearEccErrorCounts(
8786 &self,
8787 device: nvmlDevice_t,
8788 counterType: nvmlEccCounterType_t,
8789 ) -> nvmlReturn_t {
8790 (self
8791 .nvmlDeviceClearEccErrorCounts
8792 .as_ref()
8793 .expect("Expected function, got error."))(device, counterType)
8794 }
8795 pub unsafe fn nvmlDeviceSetDriverModel(
8796 &self,
8797 device: nvmlDevice_t,
8798 driverModel: nvmlDriverModel_t,
8799 flags: raw::c_uint,
8800 ) -> nvmlReturn_t {
8801 (self
8802 .nvmlDeviceSetDriverModel
8803 .as_ref()
8804 .expect("Expected function, got error."))(device, driverModel, flags)
8805 }
8806 pub unsafe fn nvmlDeviceSetGpuLockedClocks(
8807 &self,
8808 device: nvmlDevice_t,
8809 minGpuClockMHz: raw::c_uint,
8810 maxGpuClockMHz: raw::c_uint,
8811 ) -> nvmlReturn_t {
8812 (self
8813 .nvmlDeviceSetGpuLockedClocks
8814 .as_ref()
8815 .expect("Expected function, got error."))(device, minGpuClockMHz, maxGpuClockMHz)
8816 }
8817 pub unsafe fn nvmlDeviceResetGpuLockedClocks(&self, device: nvmlDevice_t) -> nvmlReturn_t {
8818 (self
8819 .nvmlDeviceResetGpuLockedClocks
8820 .as_ref()
8821 .expect("Expected function, got error."))(device)
8822 }
8823 pub unsafe fn nvmlDeviceSetMemoryLockedClocks(
8824 &self,
8825 device: nvmlDevice_t,
8826 minMemClockMHz: raw::c_uint,
8827 maxMemClockMHz: raw::c_uint,
8828 ) -> nvmlReturn_t {
8829 (self
8830 .nvmlDeviceSetMemoryLockedClocks
8831 .as_ref()
8832 .expect("Expected function, got error."))(device, minMemClockMHz, maxMemClockMHz)
8833 }
8834 pub unsafe fn nvmlDeviceResetMemoryLockedClocks(&self, device: nvmlDevice_t) -> nvmlReturn_t {
8835 (self
8836 .nvmlDeviceResetMemoryLockedClocks
8837 .as_ref()
8838 .expect("Expected function, got error."))(device)
8839 }
8840 pub unsafe fn nvmlDeviceSetApplicationsClocks(
8841 &self,
8842 device: nvmlDevice_t,
8843 memClockMHz: raw::c_uint,
8844 graphicsClockMHz: raw::c_uint,
8845 ) -> nvmlReturn_t {
8846 (self
8847 .nvmlDeviceSetApplicationsClocks
8848 .as_ref()
8849 .expect("Expected function, got error."))(device, memClockMHz, graphicsClockMHz)
8850 }
8851 pub unsafe fn nvmlDeviceResetApplicationsClocks(&self, device: nvmlDevice_t) -> nvmlReturn_t {
8852 (self
8853 .nvmlDeviceResetApplicationsClocks
8854 .as_ref()
8855 .expect("Expected function, got error."))(device)
8856 }
8857 pub unsafe fn nvmlDeviceSetAutoBoostedClocksEnabled(
8858 &self,
8859 device: nvmlDevice_t,
8860 enabled: nvmlEnableState_t,
8861 ) -> nvmlReturn_t {
8862 (self
8863 .nvmlDeviceSetAutoBoostedClocksEnabled
8864 .as_ref()
8865 .expect("Expected function, got error."))(device, enabled)
8866 }
8867 pub unsafe fn nvmlDeviceSetDefaultAutoBoostedClocksEnabled(
8868 &self,
8869 device: nvmlDevice_t,
8870 enabled: nvmlEnableState_t,
8871 flags: raw::c_uint,
8872 ) -> nvmlReturn_t {
8873 (self
8874 .nvmlDeviceSetDefaultAutoBoostedClocksEnabled
8875 .as_ref()
8876 .expect("Expected function, got error."))(device, enabled, flags)
8877 }
8878 pub unsafe fn nvmlDeviceSetDefaultFanSpeed_v2(
8879 &self,
8880 device: nvmlDevice_t,
8881 fan: raw::c_uint,
8882 ) -> nvmlReturn_t {
8883 (self
8884 .nvmlDeviceSetDefaultFanSpeed_v2
8885 .as_ref()
8886 .expect("Expected function, got error."))(device, fan)
8887 }
8888 pub unsafe fn nvmlDeviceSetFanControlPolicy(
8889 &self,
8890 device: nvmlDevice_t,
8891 fan: raw::c_uint,
8892 policy: nvmlFanControlPolicy_t,
8893 ) -> nvmlReturn_t {
8894 (self
8895 .nvmlDeviceSetFanControlPolicy
8896 .as_ref()
8897 .expect("Expected function, got error."))(device, fan, policy)
8898 }
8899 pub unsafe fn nvmlDeviceSetTemperatureThreshold(
8900 &self,
8901 device: nvmlDevice_t,
8902 thresholdType: nvmlTemperatureThresholds_t,
8903 temp: *mut raw::c_int,
8904 ) -> nvmlReturn_t {
8905 (self
8906 .nvmlDeviceSetTemperatureThreshold
8907 .as_ref()
8908 .expect("Expected function, got error."))(device, thresholdType, temp)
8909 }
8910 pub unsafe fn nvmlDeviceSetPowerManagementLimit(
8911 &self,
8912 device: nvmlDevice_t,
8913 limit: raw::c_uint,
8914 ) -> nvmlReturn_t {
8915 (self
8916 .nvmlDeviceSetPowerManagementLimit
8917 .as_ref()
8918 .expect("Expected function, got error."))(device, limit)
8919 }
8920 pub unsafe fn nvmlDeviceSetGpuOperationMode(
8921 &self,
8922 device: nvmlDevice_t,
8923 mode: nvmlGpuOperationMode_t,
8924 ) -> nvmlReturn_t {
8925 (self
8926 .nvmlDeviceSetGpuOperationMode
8927 .as_ref()
8928 .expect("Expected function, got error."))(device, mode)
8929 }
8930 pub unsafe fn nvmlDeviceSetAPIRestriction(
8931 &self,
8932 device: nvmlDevice_t,
8933 apiType: nvmlRestrictedAPI_t,
8934 isRestricted: nvmlEnableState_t,
8935 ) -> nvmlReturn_t {
8936 (self
8937 .nvmlDeviceSetAPIRestriction
8938 .as_ref()
8939 .expect("Expected function, got error."))(device, apiType, isRestricted)
8940 }
8941 pub unsafe fn nvmlDeviceSetFanSpeed_v2(
8942 &self,
8943 device: nvmlDevice_t,
8944 fan: raw::c_uint,
8945 speed: raw::c_uint,
8946 ) -> nvmlReturn_t {
8947 (self
8948 .nvmlDeviceSetFanSpeed_v2
8949 .as_ref()
8950 .expect("Expected function, got error."))(device, fan, speed)
8951 }
8952 pub unsafe fn nvmlDeviceSetGpcClkVfOffset(
8953 &self,
8954 device: nvmlDevice_t,
8955 offset: raw::c_int,
8956 ) -> nvmlReturn_t {
8957 (self
8958 .nvmlDeviceSetGpcClkVfOffset
8959 .as_ref()
8960 .expect("Expected function, got error."))(device, offset)
8961 }
8962 pub unsafe fn nvmlDeviceSetMemClkVfOffset(
8963 &self,
8964 device: nvmlDevice_t,
8965 offset: raw::c_int,
8966 ) -> nvmlReturn_t {
8967 (self
8968 .nvmlDeviceSetMemClkVfOffset
8969 .as_ref()
8970 .expect("Expected function, got error."))(device, offset)
8971 }
8972 pub unsafe fn nvmlDeviceSetAccountingMode(
8973 &self,
8974 device: nvmlDevice_t,
8975 mode: nvmlEnableState_t,
8976 ) -> nvmlReturn_t {
8977 (self
8978 .nvmlDeviceSetAccountingMode
8979 .as_ref()
8980 .expect("Expected function, got error."))(device, mode)
8981 }
8982 pub unsafe fn nvmlDeviceClearAccountingPids(&self, device: nvmlDevice_t) -> nvmlReturn_t {
8983 (self
8984 .nvmlDeviceClearAccountingPids
8985 .as_ref()
8986 .expect("Expected function, got error."))(device)
8987 }
8988 pub unsafe fn nvmlDeviceGetNvLinkState(
8989 &self,
8990 device: nvmlDevice_t,
8991 link: raw::c_uint,
8992 isActive: *mut nvmlEnableState_t,
8993 ) -> nvmlReturn_t {
8994 (self
8995 .nvmlDeviceGetNvLinkState
8996 .as_ref()
8997 .expect("Expected function, got error."))(device, link, isActive)
8998 }
8999 pub unsafe fn nvmlDeviceGetNvLinkVersion(
9000 &self,
9001 device: nvmlDevice_t,
9002 link: raw::c_uint,
9003 version: *mut raw::c_uint,
9004 ) -> nvmlReturn_t {
9005 (self
9006 .nvmlDeviceGetNvLinkVersion
9007 .as_ref()
9008 .expect("Expected function, got error."))(device, link, version)
9009 }
9010 pub unsafe fn nvmlDeviceGetNvLinkCapability(
9011 &self,
9012 device: nvmlDevice_t,
9013 link: raw::c_uint,
9014 capability: nvmlNvLinkCapability_t,
9015 capResult: *mut raw::c_uint,
9016 ) -> nvmlReturn_t {
9017 (self
9018 .nvmlDeviceGetNvLinkCapability
9019 .as_ref()
9020 .expect("Expected function, got error."))(device, link, capability, capResult)
9021 }
9022 pub unsafe fn nvmlDeviceGetNvLinkRemotePciInfo_v2(
9023 &self,
9024 device: nvmlDevice_t,
9025 link: raw::c_uint,
9026 pci: *mut nvmlPciInfo_t,
9027 ) -> nvmlReturn_t {
9028 (self
9029 .nvmlDeviceGetNvLinkRemotePciInfo_v2
9030 .as_ref()
9031 .expect("Expected function, got error."))(device, link, pci)
9032 }
9033 pub unsafe fn nvmlDeviceGetNvLinkErrorCounter(
9034 &self,
9035 device: nvmlDevice_t,
9036 link: raw::c_uint,
9037 counter: nvmlNvLinkErrorCounter_t,
9038 counterValue: *mut raw::c_ulonglong,
9039 ) -> nvmlReturn_t {
9040 (self
9041 .nvmlDeviceGetNvLinkErrorCounter
9042 .as_ref()
9043 .expect("Expected function, got error."))(device, link, counter, counterValue)
9044 }
9045 pub unsafe fn nvmlDeviceResetNvLinkErrorCounters(
9046 &self,
9047 device: nvmlDevice_t,
9048 link: raw::c_uint,
9049 ) -> nvmlReturn_t {
9050 (self
9051 .nvmlDeviceResetNvLinkErrorCounters
9052 .as_ref()
9053 .expect("Expected function, got error."))(device, link)
9054 }
9055 pub unsafe fn nvmlDeviceSetNvLinkUtilizationControl(
9056 &self,
9057 device: nvmlDevice_t,
9058 link: raw::c_uint,
9059 counter: raw::c_uint,
9060 control: *mut nvmlNvLinkUtilizationControl_t,
9061 reset: raw::c_uint,
9062 ) -> nvmlReturn_t {
9063 (self
9064 .nvmlDeviceSetNvLinkUtilizationControl
9065 .as_ref()
9066 .expect("Expected function, got error."))(device, link, counter, control, reset)
9067 }
9068 pub unsafe fn nvmlDeviceGetNvLinkUtilizationControl(
9069 &self,
9070 device: nvmlDevice_t,
9071 link: raw::c_uint,
9072 counter: raw::c_uint,
9073 control: *mut nvmlNvLinkUtilizationControl_t,
9074 ) -> nvmlReturn_t {
9075 (self
9076 .nvmlDeviceGetNvLinkUtilizationControl
9077 .as_ref()
9078 .expect("Expected function, got error."))(device, link, counter, control)
9079 }
9080 pub unsafe fn nvmlDeviceGetNvLinkUtilizationCounter(
9081 &self,
9082 device: nvmlDevice_t,
9083 link: raw::c_uint,
9084 counter: raw::c_uint,
9085 rxcounter: *mut raw::c_ulonglong,
9086 txcounter: *mut raw::c_ulonglong,
9087 ) -> nvmlReturn_t {
9088 (self
9089 .nvmlDeviceGetNvLinkUtilizationCounter
9090 .as_ref()
9091 .expect("Expected function, got error."))(
9092 device, link, counter, rxcounter, txcounter
9093 )
9094 }
9095 pub unsafe fn nvmlDeviceFreezeNvLinkUtilizationCounter(
9096 &self,
9097 device: nvmlDevice_t,
9098 link: raw::c_uint,
9099 counter: raw::c_uint,
9100 freeze: nvmlEnableState_t,
9101 ) -> nvmlReturn_t {
9102 (self
9103 .nvmlDeviceFreezeNvLinkUtilizationCounter
9104 .as_ref()
9105 .expect("Expected function, got error."))(device, link, counter, freeze)
9106 }
9107 pub unsafe fn nvmlDeviceResetNvLinkUtilizationCounter(
9108 &self,
9109 device: nvmlDevice_t,
9110 link: raw::c_uint,
9111 counter: raw::c_uint,
9112 ) -> nvmlReturn_t {
9113 (self
9114 .nvmlDeviceResetNvLinkUtilizationCounter
9115 .as_ref()
9116 .expect("Expected function, got error."))(device, link, counter)
9117 }
9118 pub unsafe fn nvmlDeviceGetNvLinkRemoteDeviceType(
9119 &self,
9120 device: nvmlDevice_t,
9121 link: raw::c_uint,
9122 pNvLinkDeviceType: *mut nvmlIntNvLinkDeviceType_t,
9123 ) -> nvmlReturn_t {
9124 (self
9125 .nvmlDeviceGetNvLinkRemoteDeviceType
9126 .as_ref()
9127 .expect("Expected function, got error."))(device, link, pNvLinkDeviceType)
9128 }
9129 pub unsafe fn nvmlDeviceSetNvLinkDeviceLowPowerThreshold(
9130 &self,
9131 device: nvmlDevice_t,
9132 info: *mut nvmlNvLinkPowerThres_t,
9133 ) -> nvmlReturn_t {
9134 (self
9135 .nvmlDeviceSetNvLinkDeviceLowPowerThreshold
9136 .as_ref()
9137 .expect("Expected function, got error."))(device, info)
9138 }
9139 pub unsafe fn nvmlSystemSetNvlinkBwMode(&self, nvlinkBwMode: raw::c_uint) -> nvmlReturn_t {
9140 (self
9141 .nvmlSystemSetNvlinkBwMode
9142 .as_ref()
9143 .expect("Expected function, got error."))(nvlinkBwMode)
9144 }
9145 pub unsafe fn nvmlSystemGetNvlinkBwMode(&self, nvlinkBwMode: *mut raw::c_uint) -> nvmlReturn_t {
9146 (self
9147 .nvmlSystemGetNvlinkBwMode
9148 .as_ref()
9149 .expect("Expected function, got error."))(nvlinkBwMode)
9150 }
9151 pub unsafe fn nvmlDeviceGetNvlinkSupportedBwModes(
9152 &self,
9153 device: nvmlDevice_t,
9154 supportedBwMode: *mut nvmlNvlinkSupportedBwModes_t,
9155 ) -> nvmlReturn_t {
9156 (self
9157 .nvmlDeviceGetNvlinkSupportedBwModes
9158 .as_ref()
9159 .expect("Expected function, got error."))(device, supportedBwMode)
9160 }
9161 pub unsafe fn nvmlDeviceGetNvlinkBwMode(
9162 &self,
9163 device: nvmlDevice_t,
9164 getBwMode: *mut nvmlNvlinkGetBwMode_t,
9165 ) -> nvmlReturn_t {
9166 (self
9167 .nvmlDeviceGetNvlinkBwMode
9168 .as_ref()
9169 .expect("Expected function, got error."))(device, getBwMode)
9170 }
9171 pub unsafe fn nvmlDeviceSetNvlinkBwMode(
9172 &self,
9173 device: nvmlDevice_t,
9174 setBwMode: *mut nvmlNvlinkSetBwMode_t,
9175 ) -> nvmlReturn_t {
9176 (self
9177 .nvmlDeviceSetNvlinkBwMode
9178 .as_ref()
9179 .expect("Expected function, got error."))(device, setBwMode)
9180 }
9181 pub unsafe fn nvmlDeviceGetNvLinkInfo(
9182 &self,
9183 device: nvmlDevice_t,
9184 info: *mut nvmlNvLinkInfo_t,
9185 ) -> nvmlReturn_t {
9186 (self
9187 .nvmlDeviceGetNvLinkInfo
9188 .as_ref()
9189 .expect("Expected function, got error."))(device, info)
9190 }
9191 pub unsafe fn nvmlEventSetCreate(&self, set: *mut nvmlEventSet_t) -> nvmlReturn_t {
9192 (self
9193 .nvmlEventSetCreate
9194 .as_ref()
9195 .expect("Expected function, got error."))(set)
9196 }
9197 pub unsafe fn nvmlDeviceRegisterEvents(
9198 &self,
9199 device: nvmlDevice_t,
9200 eventTypes: raw::c_ulonglong,
9201 set: nvmlEventSet_t,
9202 ) -> nvmlReturn_t {
9203 (self
9204 .nvmlDeviceRegisterEvents
9205 .as_ref()
9206 .expect("Expected function, got error."))(device, eventTypes, set)
9207 }
9208 pub unsafe fn nvmlDeviceGetSupportedEventTypes(
9209 &self,
9210 device: nvmlDevice_t,
9211 eventTypes: *mut raw::c_ulonglong,
9212 ) -> nvmlReturn_t {
9213 (self
9214 .nvmlDeviceGetSupportedEventTypes
9215 .as_ref()
9216 .expect("Expected function, got error."))(device, eventTypes)
9217 }
9218 pub unsafe fn nvmlEventSetWait_v2(
9219 &self,
9220 set: nvmlEventSet_t,
9221 data: *mut nvmlEventData_t,
9222 timeoutms: raw::c_uint,
9223 ) -> nvmlReturn_t {
9224 (self
9225 .nvmlEventSetWait_v2
9226 .as_ref()
9227 .expect("Expected function, got error."))(set, data, timeoutms)
9228 }
9229 pub unsafe fn nvmlEventSetFree(&self, set: nvmlEventSet_t) -> nvmlReturn_t {
9230 (self
9231 .nvmlEventSetFree
9232 .as_ref()
9233 .expect("Expected function, got error."))(set)
9234 }
9235 pub unsafe fn nvmlSystemEventSetCreate(
9236 &self,
9237 request: *mut nvmlSystemEventSetCreateRequest_t,
9238 ) -> nvmlReturn_t {
9239 (self
9240 .nvmlSystemEventSetCreate
9241 .as_ref()
9242 .expect("Expected function, got error."))(request)
9243 }
9244 pub unsafe fn nvmlSystemEventSetFree(
9245 &self,
9246 request: *mut nvmlSystemEventSetFreeRequest_t,
9247 ) -> nvmlReturn_t {
9248 (self
9249 .nvmlSystemEventSetFree
9250 .as_ref()
9251 .expect("Expected function, got error."))(request)
9252 }
9253 pub unsafe fn nvmlSystemRegisterEvents(
9254 &self,
9255 request: *mut nvmlSystemRegisterEventRequest_t,
9256 ) -> nvmlReturn_t {
9257 (self
9258 .nvmlSystemRegisterEvents
9259 .as_ref()
9260 .expect("Expected function, got error."))(request)
9261 }
9262 pub unsafe fn nvmlSystemEventSetWait(
9263 &self,
9264 request: *mut nvmlSystemEventSetWaitRequest_t,
9265 ) -> nvmlReturn_t {
9266 (self
9267 .nvmlSystemEventSetWait
9268 .as_ref()
9269 .expect("Expected function, got error."))(request)
9270 }
9271 pub unsafe fn nvmlDeviceModifyDrainState(
9272 &self,
9273 pciInfo: *mut nvmlPciInfo_t,
9274 newState: nvmlEnableState_t,
9275 ) -> nvmlReturn_t {
9276 (self
9277 .nvmlDeviceModifyDrainState
9278 .as_ref()
9279 .expect("Expected function, got error."))(pciInfo, newState)
9280 }
9281 pub unsafe fn nvmlDeviceQueryDrainState(
9282 &self,
9283 pciInfo: *mut nvmlPciInfo_t,
9284 currentState: *mut nvmlEnableState_t,
9285 ) -> nvmlReturn_t {
9286 (self
9287 .nvmlDeviceQueryDrainState
9288 .as_ref()
9289 .expect("Expected function, got error."))(pciInfo, currentState)
9290 }
9291 pub unsafe fn nvmlDeviceRemoveGpu_v2(
9292 &self,
9293 pciInfo: *mut nvmlPciInfo_t,
9294 gpuState: nvmlDetachGpuState_t,
9295 linkState: nvmlPcieLinkState_t,
9296 ) -> nvmlReturn_t {
9297 (self
9298 .nvmlDeviceRemoveGpu_v2
9299 .as_ref()
9300 .expect("Expected function, got error."))(pciInfo, gpuState, linkState)
9301 }
9302 pub unsafe fn nvmlDeviceDiscoverGpus(&self, pciInfo: *mut nvmlPciInfo_t) -> nvmlReturn_t {
9303 (self
9304 .nvmlDeviceDiscoverGpus
9305 .as_ref()
9306 .expect("Expected function, got error."))(pciInfo)
9307 }
9308 pub unsafe fn nvmlDeviceGetFieldValues(
9309 &self,
9310 device: nvmlDevice_t,
9311 valuesCount: raw::c_int,
9312 values: *mut nvmlFieldValue_t,
9313 ) -> nvmlReturn_t {
9314 (self
9315 .nvmlDeviceGetFieldValues
9316 .as_ref()
9317 .expect("Expected function, got error."))(device, valuesCount, values)
9318 }
9319 pub unsafe fn nvmlDeviceClearFieldValues(
9320 &self,
9321 device: nvmlDevice_t,
9322 valuesCount: raw::c_int,
9323 values: *mut nvmlFieldValue_t,
9324 ) -> nvmlReturn_t {
9325 (self
9326 .nvmlDeviceClearFieldValues
9327 .as_ref()
9328 .expect("Expected function, got error."))(device, valuesCount, values)
9329 }
9330 pub unsafe fn nvmlDeviceGetVirtualizationMode(
9331 &self,
9332 device: nvmlDevice_t,
9333 pVirtualMode: *mut nvmlGpuVirtualizationMode_t,
9334 ) -> nvmlReturn_t {
9335 (self
9336 .nvmlDeviceGetVirtualizationMode
9337 .as_ref()
9338 .expect("Expected function, got error."))(device, pVirtualMode)
9339 }
9340 pub unsafe fn nvmlDeviceGetHostVgpuMode(
9341 &self,
9342 device: nvmlDevice_t,
9343 pHostVgpuMode: *mut nvmlHostVgpuMode_t,
9344 ) -> nvmlReturn_t {
9345 (self
9346 .nvmlDeviceGetHostVgpuMode
9347 .as_ref()
9348 .expect("Expected function, got error."))(device, pHostVgpuMode)
9349 }
9350 pub unsafe fn nvmlDeviceSetVirtualizationMode(
9351 &self,
9352 device: nvmlDevice_t,
9353 virtualMode: nvmlGpuVirtualizationMode_t,
9354 ) -> nvmlReturn_t {
9355 (self
9356 .nvmlDeviceSetVirtualizationMode
9357 .as_ref()
9358 .expect("Expected function, got error."))(device, virtualMode)
9359 }
9360 pub unsafe fn nvmlDeviceGetVgpuHeterogeneousMode(
9361 &self,
9362 device: nvmlDevice_t,
9363 pHeterogeneousMode: *mut nvmlVgpuHeterogeneousMode_t,
9364 ) -> nvmlReturn_t {
9365 (self
9366 .nvmlDeviceGetVgpuHeterogeneousMode
9367 .as_ref()
9368 .expect("Expected function, got error."))(device, pHeterogeneousMode)
9369 }
9370 pub unsafe fn nvmlDeviceSetVgpuHeterogeneousMode(
9371 &self,
9372 device: nvmlDevice_t,
9373 pHeterogeneousMode: *const nvmlVgpuHeterogeneousMode_t,
9374 ) -> nvmlReturn_t {
9375 (self
9376 .nvmlDeviceSetVgpuHeterogeneousMode
9377 .as_ref()
9378 .expect("Expected function, got error."))(device, pHeterogeneousMode)
9379 }
9380 pub unsafe fn nvmlVgpuInstanceGetPlacementId(
9381 &self,
9382 vgpuInstance: nvmlVgpuInstance_t,
9383 pPlacement: *mut nvmlVgpuPlacementId_t,
9384 ) -> nvmlReturn_t {
9385 (self
9386 .nvmlVgpuInstanceGetPlacementId
9387 .as_ref()
9388 .expect("Expected function, got error."))(vgpuInstance, pPlacement)
9389 }
9390 pub unsafe fn nvmlDeviceGetVgpuTypeSupportedPlacements(
9391 &self,
9392 device: nvmlDevice_t,
9393 vgpuTypeId: nvmlVgpuTypeId_t,
9394 pPlacementList: *mut nvmlVgpuPlacementList_t,
9395 ) -> nvmlReturn_t {
9396 (self
9397 .nvmlDeviceGetVgpuTypeSupportedPlacements
9398 .as_ref()
9399 .expect("Expected function, got error."))(device, vgpuTypeId, pPlacementList)
9400 }
9401 pub unsafe fn nvmlDeviceGetVgpuTypeCreatablePlacements(
9402 &self,
9403 device: nvmlDevice_t,
9404 vgpuTypeId: nvmlVgpuTypeId_t,
9405 pPlacementList: *mut nvmlVgpuPlacementList_t,
9406 ) -> nvmlReturn_t {
9407 (self
9408 .nvmlDeviceGetVgpuTypeCreatablePlacements
9409 .as_ref()
9410 .expect("Expected function, got error."))(device, vgpuTypeId, pPlacementList)
9411 }
9412 pub unsafe fn nvmlVgpuTypeGetGspHeapSize(
9413 &self,
9414 vgpuTypeId: nvmlVgpuTypeId_t,
9415 gspHeapSize: *mut raw::c_ulonglong,
9416 ) -> nvmlReturn_t {
9417 (self
9418 .nvmlVgpuTypeGetGspHeapSize
9419 .as_ref()
9420 .expect("Expected function, got error."))(vgpuTypeId, gspHeapSize)
9421 }
9422 pub unsafe fn nvmlVgpuTypeGetFbReservation(
9423 &self,
9424 vgpuTypeId: nvmlVgpuTypeId_t,
9425 fbReservation: *mut raw::c_ulonglong,
9426 ) -> nvmlReturn_t {
9427 (self
9428 .nvmlVgpuTypeGetFbReservation
9429 .as_ref()
9430 .expect("Expected function, got error."))(vgpuTypeId, fbReservation)
9431 }
9432 pub unsafe fn nvmlVgpuInstanceGetRuntimeStateSize(
9433 &self,
9434 vgpuInstance: nvmlVgpuInstance_t,
9435 pState: *mut nvmlVgpuRuntimeState_t,
9436 ) -> nvmlReturn_t {
9437 (self
9438 .nvmlVgpuInstanceGetRuntimeStateSize
9439 .as_ref()
9440 .expect("Expected function, got error."))(vgpuInstance, pState)
9441 }
9442 pub unsafe fn nvmlDeviceSetVgpuCapabilities(
9443 &self,
9444 device: nvmlDevice_t,
9445 capability: nvmlDeviceVgpuCapability_t,
9446 state: nvmlEnableState_t,
9447 ) -> nvmlReturn_t {
9448 (self
9449 .nvmlDeviceSetVgpuCapabilities
9450 .as_ref()
9451 .expect("Expected function, got error."))(device, capability, state)
9452 }
9453 pub unsafe fn nvmlDeviceGetGridLicensableFeatures_v4(
9454 &self,
9455 device: nvmlDevice_t,
9456 pGridLicensableFeatures: *mut nvmlGridLicensableFeatures_t,
9457 ) -> nvmlReturn_t {
9458 (self
9459 .nvmlDeviceGetGridLicensableFeatures_v4
9460 .as_ref()
9461 .expect("Expected function, got error."))(device, pGridLicensableFeatures)
9462 }
9463 pub unsafe fn nvmlGetVgpuDriverCapabilities(
9464 &self,
9465 capability: nvmlVgpuDriverCapability_t,
9466 capResult: *mut raw::c_uint,
9467 ) -> nvmlReturn_t {
9468 (self
9469 .nvmlGetVgpuDriverCapabilities
9470 .as_ref()
9471 .expect("Expected function, got error."))(capability, capResult)
9472 }
9473 pub unsafe fn nvmlDeviceGetVgpuCapabilities(
9474 &self,
9475 device: nvmlDevice_t,
9476 capability: nvmlDeviceVgpuCapability_t,
9477 capResult: *mut raw::c_uint,
9478 ) -> nvmlReturn_t {
9479 (self
9480 .nvmlDeviceGetVgpuCapabilities
9481 .as_ref()
9482 .expect("Expected function, got error."))(device, capability, capResult)
9483 }
9484 pub unsafe fn nvmlDeviceGetSupportedVgpus(
9485 &self,
9486 device: nvmlDevice_t,
9487 vgpuCount: *mut raw::c_uint,
9488 vgpuTypeIds: *mut nvmlVgpuTypeId_t,
9489 ) -> nvmlReturn_t {
9490 (self
9491 .nvmlDeviceGetSupportedVgpus
9492 .as_ref()
9493 .expect("Expected function, got error."))(device, vgpuCount, vgpuTypeIds)
9494 }
9495 pub unsafe fn nvmlDeviceGetCreatableVgpus(
9496 &self,
9497 device: nvmlDevice_t,
9498 vgpuCount: *mut raw::c_uint,
9499 vgpuTypeIds: *mut nvmlVgpuTypeId_t,
9500 ) -> nvmlReturn_t {
9501 (self
9502 .nvmlDeviceGetCreatableVgpus
9503 .as_ref()
9504 .expect("Expected function, got error."))(device, vgpuCount, vgpuTypeIds)
9505 }
9506 pub unsafe fn nvmlVgpuTypeGetClass(
9507 &self,
9508 vgpuTypeId: nvmlVgpuTypeId_t,
9509 vgpuTypeClass: *mut raw::c_char,
9510 size: *mut raw::c_uint,
9511 ) -> nvmlReturn_t {
9512 (self
9513 .nvmlVgpuTypeGetClass
9514 .as_ref()
9515 .expect("Expected function, got error."))(vgpuTypeId, vgpuTypeClass, size)
9516 }
9517 pub unsafe fn nvmlVgpuTypeGetName(
9518 &self,
9519 vgpuTypeId: nvmlVgpuTypeId_t,
9520 vgpuTypeName: *mut raw::c_char,
9521 size: *mut raw::c_uint,
9522 ) -> nvmlReturn_t {
9523 (self
9524 .nvmlVgpuTypeGetName
9525 .as_ref()
9526 .expect("Expected function, got error."))(vgpuTypeId, vgpuTypeName, size)
9527 }
9528 pub unsafe fn nvmlVgpuTypeGetGpuInstanceProfileId(
9529 &self,
9530 vgpuTypeId: nvmlVgpuTypeId_t,
9531 gpuInstanceProfileId: *mut raw::c_uint,
9532 ) -> nvmlReturn_t {
9533 (self
9534 .nvmlVgpuTypeGetGpuInstanceProfileId
9535 .as_ref()
9536 .expect("Expected function, got error."))(vgpuTypeId, gpuInstanceProfileId)
9537 }
9538 pub unsafe fn nvmlVgpuTypeGetDeviceID(
9539 &self,
9540 vgpuTypeId: nvmlVgpuTypeId_t,
9541 deviceID: *mut raw::c_ulonglong,
9542 subsystemID: *mut raw::c_ulonglong,
9543 ) -> nvmlReturn_t {
9544 (self
9545 .nvmlVgpuTypeGetDeviceID
9546 .as_ref()
9547 .expect("Expected function, got error."))(vgpuTypeId, deviceID, subsystemID)
9548 }
9549 pub unsafe fn nvmlVgpuTypeGetFramebufferSize(
9550 &self,
9551 vgpuTypeId: nvmlVgpuTypeId_t,
9552 fbSize: *mut raw::c_ulonglong,
9553 ) -> nvmlReturn_t {
9554 (self
9555 .nvmlVgpuTypeGetFramebufferSize
9556 .as_ref()
9557 .expect("Expected function, got error."))(vgpuTypeId, fbSize)
9558 }
9559 pub unsafe fn nvmlVgpuTypeGetNumDisplayHeads(
9560 &self,
9561 vgpuTypeId: nvmlVgpuTypeId_t,
9562 numDisplayHeads: *mut raw::c_uint,
9563 ) -> nvmlReturn_t {
9564 (self
9565 .nvmlVgpuTypeGetNumDisplayHeads
9566 .as_ref()
9567 .expect("Expected function, got error."))(vgpuTypeId, numDisplayHeads)
9568 }
9569 pub unsafe fn nvmlVgpuTypeGetResolution(
9570 &self,
9571 vgpuTypeId: nvmlVgpuTypeId_t,
9572 displayIndex: raw::c_uint,
9573 xdim: *mut raw::c_uint,
9574 ydim: *mut raw::c_uint,
9575 ) -> nvmlReturn_t {
9576 (self
9577 .nvmlVgpuTypeGetResolution
9578 .as_ref()
9579 .expect("Expected function, got error."))(vgpuTypeId, displayIndex, xdim, ydim)
9580 }
9581 pub unsafe fn nvmlVgpuTypeGetLicense(
9582 &self,
9583 vgpuTypeId: nvmlVgpuTypeId_t,
9584 vgpuTypeLicenseString: *mut raw::c_char,
9585 size: raw::c_uint,
9586 ) -> nvmlReturn_t {
9587 (self
9588 .nvmlVgpuTypeGetLicense
9589 .as_ref()
9590 .expect("Expected function, got error."))(
9591 vgpuTypeId, vgpuTypeLicenseString, size
9592 )
9593 }
9594 pub unsafe fn nvmlVgpuTypeGetFrameRateLimit(
9595 &self,
9596 vgpuTypeId: nvmlVgpuTypeId_t,
9597 frameRateLimit: *mut raw::c_uint,
9598 ) -> nvmlReturn_t {
9599 (self
9600 .nvmlVgpuTypeGetFrameRateLimit
9601 .as_ref()
9602 .expect("Expected function, got error."))(vgpuTypeId, frameRateLimit)
9603 }
9604 pub unsafe fn nvmlVgpuTypeGetMaxInstances(
9605 &self,
9606 device: nvmlDevice_t,
9607 vgpuTypeId: nvmlVgpuTypeId_t,
9608 vgpuInstanceCount: *mut raw::c_uint,
9609 ) -> nvmlReturn_t {
9610 (self
9611 .nvmlVgpuTypeGetMaxInstances
9612 .as_ref()
9613 .expect("Expected function, got error."))(device, vgpuTypeId, vgpuInstanceCount)
9614 }
9615 pub unsafe fn nvmlVgpuTypeGetMaxInstancesPerVm(
9616 &self,
9617 vgpuTypeId: nvmlVgpuTypeId_t,
9618 vgpuInstanceCountPerVm: *mut raw::c_uint,
9619 ) -> nvmlReturn_t {
9620 (self
9621 .nvmlVgpuTypeGetMaxInstancesPerVm
9622 .as_ref()
9623 .expect("Expected function, got error."))(vgpuTypeId, vgpuInstanceCountPerVm)
9624 }
9625 pub unsafe fn nvmlVgpuTypeGetBAR1Info(
9626 &self,
9627 vgpuTypeId: nvmlVgpuTypeId_t,
9628 bar1Info: *mut nvmlVgpuTypeBar1Info_t,
9629 ) -> nvmlReturn_t {
9630 (self
9631 .nvmlVgpuTypeGetBAR1Info
9632 .as_ref()
9633 .expect("Expected function, got error."))(vgpuTypeId, bar1Info)
9634 }
9635 pub unsafe fn nvmlDeviceGetActiveVgpus(
9636 &self,
9637 device: nvmlDevice_t,
9638 vgpuCount: *mut raw::c_uint,
9639 vgpuInstances: *mut nvmlVgpuInstance_t,
9640 ) -> nvmlReturn_t {
9641 (self
9642 .nvmlDeviceGetActiveVgpus
9643 .as_ref()
9644 .expect("Expected function, got error."))(device, vgpuCount, vgpuInstances)
9645 }
9646 pub unsafe fn nvmlVgpuInstanceGetVmID(
9647 &self,
9648 vgpuInstance: nvmlVgpuInstance_t,
9649 vmId: *mut raw::c_char,
9650 size: raw::c_uint,
9651 vmIdType: *mut nvmlVgpuVmIdType_t,
9652 ) -> nvmlReturn_t {
9653 (self
9654 .nvmlVgpuInstanceGetVmID
9655 .as_ref()
9656 .expect("Expected function, got error."))(vgpuInstance, vmId, size, vmIdType)
9657 }
9658 pub unsafe fn nvmlVgpuInstanceGetUUID(
9659 &self,
9660 vgpuInstance: nvmlVgpuInstance_t,
9661 uuid: *mut raw::c_char,
9662 size: raw::c_uint,
9663 ) -> nvmlReturn_t {
9664 (self
9665 .nvmlVgpuInstanceGetUUID
9666 .as_ref()
9667 .expect("Expected function, got error."))(vgpuInstance, uuid, size)
9668 }
9669 pub unsafe fn nvmlVgpuInstanceGetVmDriverVersion(
9670 &self,
9671 vgpuInstance: nvmlVgpuInstance_t,
9672 version: *mut raw::c_char,
9673 length: raw::c_uint,
9674 ) -> nvmlReturn_t {
9675 (self
9676 .nvmlVgpuInstanceGetVmDriverVersion
9677 .as_ref()
9678 .expect("Expected function, got error."))(vgpuInstance, version, length)
9679 }
9680 pub unsafe fn nvmlVgpuInstanceGetFbUsage(
9681 &self,
9682 vgpuInstance: nvmlVgpuInstance_t,
9683 fbUsage: *mut raw::c_ulonglong,
9684 ) -> nvmlReturn_t {
9685 (self
9686 .nvmlVgpuInstanceGetFbUsage
9687 .as_ref()
9688 .expect("Expected function, got error."))(vgpuInstance, fbUsage)
9689 }
9690 pub unsafe fn nvmlVgpuInstanceGetLicenseStatus(
9691 &self,
9692 vgpuInstance: nvmlVgpuInstance_t,
9693 licensed: *mut raw::c_uint,
9694 ) -> nvmlReturn_t {
9695 (self
9696 .nvmlVgpuInstanceGetLicenseStatus
9697 .as_ref()
9698 .expect("Expected function, got error."))(vgpuInstance, licensed)
9699 }
9700 pub unsafe fn nvmlVgpuInstanceGetType(
9701 &self,
9702 vgpuInstance: nvmlVgpuInstance_t,
9703 vgpuTypeId: *mut nvmlVgpuTypeId_t,
9704 ) -> nvmlReturn_t {
9705 (self
9706 .nvmlVgpuInstanceGetType
9707 .as_ref()
9708 .expect("Expected function, got error."))(vgpuInstance, vgpuTypeId)
9709 }
9710 pub unsafe fn nvmlVgpuInstanceGetFrameRateLimit(
9711 &self,
9712 vgpuInstance: nvmlVgpuInstance_t,
9713 frameRateLimit: *mut raw::c_uint,
9714 ) -> nvmlReturn_t {
9715 (self
9716 .nvmlVgpuInstanceGetFrameRateLimit
9717 .as_ref()
9718 .expect("Expected function, got error."))(vgpuInstance, frameRateLimit)
9719 }
9720 pub unsafe fn nvmlVgpuInstanceGetEccMode(
9721 &self,
9722 vgpuInstance: nvmlVgpuInstance_t,
9723 eccMode: *mut nvmlEnableState_t,
9724 ) -> nvmlReturn_t {
9725 (self
9726 .nvmlVgpuInstanceGetEccMode
9727 .as_ref()
9728 .expect("Expected function, got error."))(vgpuInstance, eccMode)
9729 }
9730 pub unsafe fn nvmlVgpuInstanceGetEncoderCapacity(
9731 &self,
9732 vgpuInstance: nvmlVgpuInstance_t,
9733 encoderCapacity: *mut raw::c_uint,
9734 ) -> nvmlReturn_t {
9735 (self
9736 .nvmlVgpuInstanceGetEncoderCapacity
9737 .as_ref()
9738 .expect("Expected function, got error."))(vgpuInstance, encoderCapacity)
9739 }
9740 pub unsafe fn nvmlVgpuInstanceSetEncoderCapacity(
9741 &self,
9742 vgpuInstance: nvmlVgpuInstance_t,
9743 encoderCapacity: raw::c_uint,
9744 ) -> nvmlReturn_t {
9745 (self
9746 .nvmlVgpuInstanceSetEncoderCapacity
9747 .as_ref()
9748 .expect("Expected function, got error."))(vgpuInstance, encoderCapacity)
9749 }
9750 pub unsafe fn nvmlVgpuInstanceGetEncoderStats(
9751 &self,
9752 vgpuInstance: nvmlVgpuInstance_t,
9753 sessionCount: *mut raw::c_uint,
9754 averageFps: *mut raw::c_uint,
9755 averageLatency: *mut raw::c_uint,
9756 ) -> nvmlReturn_t {
9757 (self
9758 .nvmlVgpuInstanceGetEncoderStats
9759 .as_ref()
9760 .expect("Expected function, got error."))(
9761 vgpuInstance,
9762 sessionCount,
9763 averageFps,
9764 averageLatency,
9765 )
9766 }
9767 pub unsafe fn nvmlVgpuInstanceGetEncoderSessions(
9768 &self,
9769 vgpuInstance: nvmlVgpuInstance_t,
9770 sessionCount: *mut raw::c_uint,
9771 sessionInfo: *mut nvmlEncoderSessionInfo_t,
9772 ) -> nvmlReturn_t {
9773 (self
9774 .nvmlVgpuInstanceGetEncoderSessions
9775 .as_ref()
9776 .expect("Expected function, got error."))(
9777 vgpuInstance, sessionCount, sessionInfo
9778 )
9779 }
9780 pub unsafe fn nvmlVgpuInstanceGetFBCStats(
9781 &self,
9782 vgpuInstance: nvmlVgpuInstance_t,
9783 fbcStats: *mut nvmlFBCStats_t,
9784 ) -> nvmlReturn_t {
9785 (self
9786 .nvmlVgpuInstanceGetFBCStats
9787 .as_ref()
9788 .expect("Expected function, got error."))(vgpuInstance, fbcStats)
9789 }
9790 pub unsafe fn nvmlVgpuInstanceGetFBCSessions(
9791 &self,
9792 vgpuInstance: nvmlVgpuInstance_t,
9793 sessionCount: *mut raw::c_uint,
9794 sessionInfo: *mut nvmlFBCSessionInfo_t,
9795 ) -> nvmlReturn_t {
9796 (self
9797 .nvmlVgpuInstanceGetFBCSessions
9798 .as_ref()
9799 .expect("Expected function, got error."))(
9800 vgpuInstance, sessionCount, sessionInfo
9801 )
9802 }
9803 pub unsafe fn nvmlVgpuInstanceGetGpuInstanceId(
9804 &self,
9805 vgpuInstance: nvmlVgpuInstance_t,
9806 gpuInstanceId: *mut raw::c_uint,
9807 ) -> nvmlReturn_t {
9808 (self
9809 .nvmlVgpuInstanceGetGpuInstanceId
9810 .as_ref()
9811 .expect("Expected function, got error."))(vgpuInstance, gpuInstanceId)
9812 }
9813 pub unsafe fn nvmlVgpuInstanceGetGpuPciId(
9814 &self,
9815 vgpuInstance: nvmlVgpuInstance_t,
9816 vgpuPciId: *mut raw::c_char,
9817 length: *mut raw::c_uint,
9818 ) -> nvmlReturn_t {
9819 (self
9820 .nvmlVgpuInstanceGetGpuPciId
9821 .as_ref()
9822 .expect("Expected function, got error."))(vgpuInstance, vgpuPciId, length)
9823 }
9824 pub unsafe fn nvmlVgpuTypeGetCapabilities(
9825 &self,
9826 vgpuTypeId: nvmlVgpuTypeId_t,
9827 capability: nvmlVgpuCapability_t,
9828 capResult: *mut raw::c_uint,
9829 ) -> nvmlReturn_t {
9830 (self
9831 .nvmlVgpuTypeGetCapabilities
9832 .as_ref()
9833 .expect("Expected function, got error."))(vgpuTypeId, capability, capResult)
9834 }
9835 pub unsafe fn nvmlVgpuInstanceGetMdevUUID(
9836 &self,
9837 vgpuInstance: nvmlVgpuInstance_t,
9838 mdevUuid: *mut raw::c_char,
9839 size: raw::c_uint,
9840 ) -> nvmlReturn_t {
9841 (self
9842 .nvmlVgpuInstanceGetMdevUUID
9843 .as_ref()
9844 .expect("Expected function, got error."))(vgpuInstance, mdevUuid, size)
9845 }
9846 pub unsafe fn nvmlGpuInstanceGetCreatableVgpus(
9847 &self,
9848 gpuInstance: nvmlGpuInstance_t,
9849 pVgpus: *mut nvmlVgpuTypeIdInfo_t,
9850 ) -> nvmlReturn_t {
9851 (self
9852 .nvmlGpuInstanceGetCreatableVgpus
9853 .as_ref()
9854 .expect("Expected function, got error."))(gpuInstance, pVgpus)
9855 }
9856 pub unsafe fn nvmlVgpuTypeGetMaxInstancesPerGpuInstance(
9857 &self,
9858 pMaxInstance: *mut nvmlVgpuTypeMaxInstance_t,
9859 ) -> nvmlReturn_t {
9860 (self
9861 .nvmlVgpuTypeGetMaxInstancesPerGpuInstance
9862 .as_ref()
9863 .expect("Expected function, got error."))(pMaxInstance)
9864 }
9865 pub unsafe fn nvmlGpuInstanceGetActiveVgpus(
9866 &self,
9867 gpuInstance: nvmlGpuInstance_t,
9868 pVgpuInstanceInfo: *mut nvmlActiveVgpuInstanceInfo_t,
9869 ) -> nvmlReturn_t {
9870 (self
9871 .nvmlGpuInstanceGetActiveVgpus
9872 .as_ref()
9873 .expect("Expected function, got error."))(gpuInstance, pVgpuInstanceInfo)
9874 }
9875 pub unsafe fn nvmlGpuInstanceSetVgpuSchedulerState(
9876 &self,
9877 gpuInstance: nvmlGpuInstance_t,
9878 pScheduler: *mut nvmlVgpuSchedulerState_t,
9879 ) -> nvmlReturn_t {
9880 (self
9881 .nvmlGpuInstanceSetVgpuSchedulerState
9882 .as_ref()
9883 .expect("Expected function, got error."))(gpuInstance, pScheduler)
9884 }
9885 pub unsafe fn nvmlGpuInstanceGetVgpuSchedulerState(
9886 &self,
9887 gpuInstance: nvmlGpuInstance_t,
9888 pSchedulerStateInfo: *mut nvmlVgpuSchedulerStateInfo_t,
9889 ) -> nvmlReturn_t {
9890 (self
9891 .nvmlGpuInstanceGetVgpuSchedulerState
9892 .as_ref()
9893 .expect("Expected function, got error."))(gpuInstance, pSchedulerStateInfo)
9894 }
9895 pub unsafe fn nvmlGpuInstanceGetVgpuSchedulerLog(
9896 &self,
9897 gpuInstance: nvmlGpuInstance_t,
9898 pSchedulerLogInfo: *mut nvmlVgpuSchedulerLogInfo_t,
9899 ) -> nvmlReturn_t {
9900 (self
9901 .nvmlGpuInstanceGetVgpuSchedulerLog
9902 .as_ref()
9903 .expect("Expected function, got error."))(gpuInstance, pSchedulerLogInfo)
9904 }
9905 pub unsafe fn nvmlGpuInstanceGetVgpuTypeCreatablePlacements(
9906 &self,
9907 gpuInstance: nvmlGpuInstance_t,
9908 pCreatablePlacementInfo: *mut nvmlVgpuCreatablePlacementInfo_t,
9909 ) -> nvmlReturn_t {
9910 (self
9911 .nvmlGpuInstanceGetVgpuTypeCreatablePlacements
9912 .as_ref()
9913 .expect("Expected function, got error."))(gpuInstance, pCreatablePlacementInfo)
9914 }
9915 pub unsafe fn nvmlGpuInstanceGetVgpuHeterogeneousMode(
9916 &self,
9917 gpuInstance: nvmlGpuInstance_t,
9918 pHeterogeneousMode: *mut nvmlVgpuHeterogeneousMode_t,
9919 ) -> nvmlReturn_t {
9920 (self
9921 .nvmlGpuInstanceGetVgpuHeterogeneousMode
9922 .as_ref()
9923 .expect("Expected function, got error."))(gpuInstance, pHeterogeneousMode)
9924 }
9925 pub unsafe fn nvmlGpuInstanceSetVgpuHeterogeneousMode(
9926 &self,
9927 gpuInstance: nvmlGpuInstance_t,
9928 pHeterogeneousMode: *const nvmlVgpuHeterogeneousMode_t,
9929 ) -> nvmlReturn_t {
9930 (self
9931 .nvmlGpuInstanceSetVgpuHeterogeneousMode
9932 .as_ref()
9933 .expect("Expected function, got error."))(gpuInstance, pHeterogeneousMode)
9934 }
9935 pub unsafe fn nvmlVgpuInstanceGetMetadata(
9936 &self,
9937 vgpuInstance: nvmlVgpuInstance_t,
9938 vgpuMetadata: *mut nvmlVgpuMetadata_t,
9939 bufferSize: *mut raw::c_uint,
9940 ) -> nvmlReturn_t {
9941 (self
9942 .nvmlVgpuInstanceGetMetadata
9943 .as_ref()
9944 .expect("Expected function, got error."))(vgpuInstance, vgpuMetadata, bufferSize)
9945 }
9946 pub unsafe fn nvmlDeviceGetVgpuMetadata(
9947 &self,
9948 device: nvmlDevice_t,
9949 pgpuMetadata: *mut nvmlVgpuPgpuMetadata_t,
9950 bufferSize: *mut raw::c_uint,
9951 ) -> nvmlReturn_t {
9952 (self
9953 .nvmlDeviceGetVgpuMetadata
9954 .as_ref()
9955 .expect("Expected function, got error."))(device, pgpuMetadata, bufferSize)
9956 }
9957 pub unsafe fn nvmlGetVgpuCompatibility(
9958 &self,
9959 vgpuMetadata: *mut nvmlVgpuMetadata_t,
9960 pgpuMetadata: *mut nvmlVgpuPgpuMetadata_t,
9961 compatibilityInfo: *mut nvmlVgpuPgpuCompatibility_t,
9962 ) -> nvmlReturn_t {
9963 (self
9964 .nvmlGetVgpuCompatibility
9965 .as_ref()
9966 .expect("Expected function, got error."))(
9967 vgpuMetadata, pgpuMetadata, compatibilityInfo
9968 )
9969 }
9970 pub unsafe fn nvmlDeviceGetPgpuMetadataString(
9971 &self,
9972 device: nvmlDevice_t,
9973 pgpuMetadata: *mut raw::c_char,
9974 bufferSize: *mut raw::c_uint,
9975 ) -> nvmlReturn_t {
9976 (self
9977 .nvmlDeviceGetPgpuMetadataString
9978 .as_ref()
9979 .expect("Expected function, got error."))(device, pgpuMetadata, bufferSize)
9980 }
9981 pub unsafe fn nvmlDeviceGetVgpuSchedulerLog(
9982 &self,
9983 device: nvmlDevice_t,
9984 pSchedulerLog: *mut nvmlVgpuSchedulerLog_t,
9985 ) -> nvmlReturn_t {
9986 (self
9987 .nvmlDeviceGetVgpuSchedulerLog
9988 .as_ref()
9989 .expect("Expected function, got error."))(device, pSchedulerLog)
9990 }
9991 pub unsafe fn nvmlDeviceGetVgpuSchedulerState(
9992 &self,
9993 device: nvmlDevice_t,
9994 pSchedulerState: *mut nvmlVgpuSchedulerGetState_t,
9995 ) -> nvmlReturn_t {
9996 (self
9997 .nvmlDeviceGetVgpuSchedulerState
9998 .as_ref()
9999 .expect("Expected function, got error."))(device, pSchedulerState)
10000 }
10001 pub unsafe fn nvmlDeviceGetVgpuSchedulerCapabilities(
10002 &self,
10003 device: nvmlDevice_t,
10004 pCapabilities: *mut nvmlVgpuSchedulerCapabilities_t,
10005 ) -> nvmlReturn_t {
10006 (self
10007 .nvmlDeviceGetVgpuSchedulerCapabilities
10008 .as_ref()
10009 .expect("Expected function, got error."))(device, pCapabilities)
10010 }
10011 pub unsafe fn nvmlDeviceSetVgpuSchedulerState(
10012 &self,
10013 device: nvmlDevice_t,
10014 pSchedulerState: *mut nvmlVgpuSchedulerSetState_t,
10015 ) -> nvmlReturn_t {
10016 (self
10017 .nvmlDeviceSetVgpuSchedulerState
10018 .as_ref()
10019 .expect("Expected function, got error."))(device, pSchedulerState)
10020 }
10021 pub unsafe fn nvmlGetVgpuVersion(
10022 &self,
10023 supported: *mut nvmlVgpuVersion_t,
10024 current: *mut nvmlVgpuVersion_t,
10025 ) -> nvmlReturn_t {
10026 (self
10027 .nvmlGetVgpuVersion
10028 .as_ref()
10029 .expect("Expected function, got error."))(supported, current)
10030 }
10031 pub unsafe fn nvmlSetVgpuVersion(&self, vgpuVersion: *mut nvmlVgpuVersion_t) -> nvmlReturn_t {
10032 (self
10033 .nvmlSetVgpuVersion
10034 .as_ref()
10035 .expect("Expected function, got error."))(vgpuVersion)
10036 }
10037 pub unsafe fn nvmlDeviceGetVgpuUtilization(
10038 &self,
10039 device: nvmlDevice_t,
10040 lastSeenTimeStamp: raw::c_ulonglong,
10041 sampleValType: *mut nvmlValueType_t,
10042 vgpuInstanceSamplesCount: *mut raw::c_uint,
10043 utilizationSamples: *mut nvmlVgpuInstanceUtilizationSample_t,
10044 ) -> nvmlReturn_t {
10045 (self
10046 .nvmlDeviceGetVgpuUtilization
10047 .as_ref()
10048 .expect("Expected function, got error."))(
10049 device,
10050 lastSeenTimeStamp,
10051 sampleValType,
10052 vgpuInstanceSamplesCount,
10053 utilizationSamples,
10054 )
10055 }
10056 pub unsafe fn nvmlDeviceGetVgpuInstancesUtilizationInfo(
10057 &self,
10058 device: nvmlDevice_t,
10059 vgpuUtilInfo: *mut nvmlVgpuInstancesUtilizationInfo_t,
10060 ) -> nvmlReturn_t {
10061 (self
10062 .nvmlDeviceGetVgpuInstancesUtilizationInfo
10063 .as_ref()
10064 .expect("Expected function, got error."))(device, vgpuUtilInfo)
10065 }
10066 pub unsafe fn nvmlDeviceGetVgpuProcessUtilization(
10067 &self,
10068 device: nvmlDevice_t,
10069 lastSeenTimeStamp: raw::c_ulonglong,
10070 vgpuProcessSamplesCount: *mut raw::c_uint,
10071 utilizationSamples: *mut nvmlVgpuProcessUtilizationSample_t,
10072 ) -> nvmlReturn_t {
10073 (self
10074 .nvmlDeviceGetVgpuProcessUtilization
10075 .as_ref()
10076 .expect("Expected function, got error."))(
10077 device,
10078 lastSeenTimeStamp,
10079 vgpuProcessSamplesCount,
10080 utilizationSamples,
10081 )
10082 }
10083 pub unsafe fn nvmlDeviceGetVgpuProcessesUtilizationInfo(
10084 &self,
10085 device: nvmlDevice_t,
10086 vgpuProcUtilInfo: *mut nvmlVgpuProcessesUtilizationInfo_t,
10087 ) -> nvmlReturn_t {
10088 (self
10089 .nvmlDeviceGetVgpuProcessesUtilizationInfo
10090 .as_ref()
10091 .expect("Expected function, got error."))(device, vgpuProcUtilInfo)
10092 }
10093 pub unsafe fn nvmlVgpuInstanceGetAccountingMode(
10094 &self,
10095 vgpuInstance: nvmlVgpuInstance_t,
10096 mode: *mut nvmlEnableState_t,
10097 ) -> nvmlReturn_t {
10098 (self
10099 .nvmlVgpuInstanceGetAccountingMode
10100 .as_ref()
10101 .expect("Expected function, got error."))(vgpuInstance, mode)
10102 }
10103 pub unsafe fn nvmlVgpuInstanceGetAccountingPids(
10104 &self,
10105 vgpuInstance: nvmlVgpuInstance_t,
10106 count: *mut raw::c_uint,
10107 pids: *mut raw::c_uint,
10108 ) -> nvmlReturn_t {
10109 (self
10110 .nvmlVgpuInstanceGetAccountingPids
10111 .as_ref()
10112 .expect("Expected function, got error."))(vgpuInstance, count, pids)
10113 }
10114 pub unsafe fn nvmlVgpuInstanceGetAccountingStats(
10115 &self,
10116 vgpuInstance: nvmlVgpuInstance_t,
10117 pid: raw::c_uint,
10118 stats: *mut nvmlAccountingStats_t,
10119 ) -> nvmlReturn_t {
10120 (self
10121 .nvmlVgpuInstanceGetAccountingStats
10122 .as_ref()
10123 .expect("Expected function, got error."))(vgpuInstance, pid, stats)
10124 }
10125 pub unsafe fn nvmlVgpuInstanceClearAccountingPids(
10126 &self,
10127 vgpuInstance: nvmlVgpuInstance_t,
10128 ) -> nvmlReturn_t {
10129 (self
10130 .nvmlVgpuInstanceClearAccountingPids
10131 .as_ref()
10132 .expect("Expected function, got error."))(vgpuInstance)
10133 }
10134 pub unsafe fn nvmlVgpuInstanceGetLicenseInfo_v2(
10135 &self,
10136 vgpuInstance: nvmlVgpuInstance_t,
10137 licenseInfo: *mut nvmlVgpuLicenseInfo_t,
10138 ) -> nvmlReturn_t {
10139 (self
10140 .nvmlVgpuInstanceGetLicenseInfo_v2
10141 .as_ref()
10142 .expect("Expected function, got error."))(vgpuInstance, licenseInfo)
10143 }
10144 pub unsafe fn nvmlGetExcludedDeviceCount(&self, deviceCount: *mut raw::c_uint) -> nvmlReturn_t {
10145 (self
10146 .nvmlGetExcludedDeviceCount
10147 .as_ref()
10148 .expect("Expected function, got error."))(deviceCount)
10149 }
10150 pub unsafe fn nvmlGetExcludedDeviceInfoByIndex(
10151 &self,
10152 index: raw::c_uint,
10153 info: *mut nvmlExcludedDeviceInfo_t,
10154 ) -> nvmlReturn_t {
10155 (self
10156 .nvmlGetExcludedDeviceInfoByIndex
10157 .as_ref()
10158 .expect("Expected function, got error."))(index, info)
10159 }
10160 pub unsafe fn nvmlDeviceReadWritePRM_v1(
10161 &self,
10162 device: nvmlDevice_t,
10163 buffer: *mut nvmlPRMTLV_v1_t,
10164 ) -> nvmlReturn_t {
10165 (self
10166 .nvmlDeviceReadWritePRM_v1
10167 .as_ref()
10168 .expect("Expected function, got error."))(device, buffer)
10169 }
10170 pub unsafe fn nvmlDeviceSetMigMode(
10171 &self,
10172 device: nvmlDevice_t,
10173 mode: raw::c_uint,
10174 activationStatus: *mut nvmlReturn_t,
10175 ) -> nvmlReturn_t {
10176 (self
10177 .nvmlDeviceSetMigMode
10178 .as_ref()
10179 .expect("Expected function, got error."))(device, mode, activationStatus)
10180 }
10181 pub unsafe fn nvmlDeviceGetMigMode(
10182 &self,
10183 device: nvmlDevice_t,
10184 currentMode: *mut raw::c_uint,
10185 pendingMode: *mut raw::c_uint,
10186 ) -> nvmlReturn_t {
10187 (self
10188 .nvmlDeviceGetMigMode
10189 .as_ref()
10190 .expect("Expected function, got error."))(device, currentMode, pendingMode)
10191 }
10192 pub unsafe fn nvmlDeviceGetGpuInstanceProfileInfo(
10193 &self,
10194 device: nvmlDevice_t,
10195 profile: raw::c_uint,
10196 info: *mut nvmlGpuInstanceProfileInfo_t,
10197 ) -> nvmlReturn_t {
10198 (self
10199 .nvmlDeviceGetGpuInstanceProfileInfo
10200 .as_ref()
10201 .expect("Expected function, got error."))(device, profile, info)
10202 }
10203 pub unsafe fn nvmlDeviceGetGpuInstanceProfileInfoV(
10204 &self,
10205 device: nvmlDevice_t,
10206 profile: raw::c_uint,
10207 info: *mut nvmlGpuInstanceProfileInfo_v2_t,
10208 ) -> nvmlReturn_t {
10209 (self
10210 .nvmlDeviceGetGpuInstanceProfileInfoV
10211 .as_ref()
10212 .expect("Expected function, got error."))(device, profile, info)
10213 }
10214 pub unsafe fn nvmlDeviceGetGpuInstanceProfileInfoByIdV(
10215 &self,
10216 device: nvmlDevice_t,
10217 profileId: raw::c_uint,
10218 info: *mut nvmlGpuInstanceProfileInfo_v2_t,
10219 ) -> nvmlReturn_t {
10220 (self
10221 .nvmlDeviceGetGpuInstanceProfileInfoByIdV
10222 .as_ref()
10223 .expect("Expected function, got error."))(device, profileId, info)
10224 }
10225 pub unsafe fn nvmlDeviceGetGpuInstancePossiblePlacements_v2(
10226 &self,
10227 device: nvmlDevice_t,
10228 profileId: raw::c_uint,
10229 placements: *mut nvmlGpuInstancePlacement_t,
10230 count: *mut raw::c_uint,
10231 ) -> nvmlReturn_t {
10232 (self
10233 .nvmlDeviceGetGpuInstancePossiblePlacements_v2
10234 .as_ref()
10235 .expect("Expected function, got error."))(device, profileId, placements, count)
10236 }
10237 pub unsafe fn nvmlDeviceGetGpuInstanceRemainingCapacity(
10238 &self,
10239 device: nvmlDevice_t,
10240 profileId: raw::c_uint,
10241 count: *mut raw::c_uint,
10242 ) -> nvmlReturn_t {
10243 (self
10244 .nvmlDeviceGetGpuInstanceRemainingCapacity
10245 .as_ref()
10246 .expect("Expected function, got error."))(device, profileId, count)
10247 }
10248 pub unsafe fn nvmlDeviceCreateGpuInstance(
10249 &self,
10250 device: nvmlDevice_t,
10251 profileId: raw::c_uint,
10252 gpuInstance: *mut nvmlGpuInstance_t,
10253 ) -> nvmlReturn_t {
10254 (self
10255 .nvmlDeviceCreateGpuInstance
10256 .as_ref()
10257 .expect("Expected function, got error."))(device, profileId, gpuInstance)
10258 }
10259 pub unsafe fn nvmlDeviceCreateGpuInstanceWithPlacement(
10260 &self,
10261 device: nvmlDevice_t,
10262 profileId: raw::c_uint,
10263 placement: *const nvmlGpuInstancePlacement_t,
10264 gpuInstance: *mut nvmlGpuInstance_t,
10265 ) -> nvmlReturn_t {
10266 (self
10267 .nvmlDeviceCreateGpuInstanceWithPlacement
10268 .as_ref()
10269 .expect("Expected function, got error."))(
10270 device, profileId, placement, gpuInstance
10271 )
10272 }
10273 pub unsafe fn nvmlGpuInstanceDestroy(&self, gpuInstance: nvmlGpuInstance_t) -> nvmlReturn_t {
10274 (self
10275 .nvmlGpuInstanceDestroy
10276 .as_ref()
10277 .expect("Expected function, got error."))(gpuInstance)
10278 }
10279 pub unsafe fn nvmlDeviceGetGpuInstances(
10280 &self,
10281 device: nvmlDevice_t,
10282 profileId: raw::c_uint,
10283 gpuInstances: *mut nvmlGpuInstance_t,
10284 count: *mut raw::c_uint,
10285 ) -> nvmlReturn_t {
10286 (self
10287 .nvmlDeviceGetGpuInstances
10288 .as_ref()
10289 .expect("Expected function, got error."))(device, profileId, gpuInstances, count)
10290 }
10291 pub unsafe fn nvmlDeviceGetGpuInstanceById(
10292 &self,
10293 device: nvmlDevice_t,
10294 id: raw::c_uint,
10295 gpuInstance: *mut nvmlGpuInstance_t,
10296 ) -> nvmlReturn_t {
10297 (self
10298 .nvmlDeviceGetGpuInstanceById
10299 .as_ref()
10300 .expect("Expected function, got error."))(device, id, gpuInstance)
10301 }
10302 pub unsafe fn nvmlGpuInstanceGetInfo(
10303 &self,
10304 gpuInstance: nvmlGpuInstance_t,
10305 info: *mut nvmlGpuInstanceInfo_t,
10306 ) -> nvmlReturn_t {
10307 (self
10308 .nvmlGpuInstanceGetInfo
10309 .as_ref()
10310 .expect("Expected function, got error."))(gpuInstance, info)
10311 }
10312 pub unsafe fn nvmlGpuInstanceGetComputeInstanceProfileInfo(
10313 &self,
10314 gpuInstance: nvmlGpuInstance_t,
10315 profile: raw::c_uint,
10316 engProfile: raw::c_uint,
10317 info: *mut nvmlComputeInstanceProfileInfo_t,
10318 ) -> nvmlReturn_t {
10319 (self
10320 .nvmlGpuInstanceGetComputeInstanceProfileInfo
10321 .as_ref()
10322 .expect("Expected function, got error."))(gpuInstance, profile, engProfile, info)
10323 }
10324 pub unsafe fn nvmlGpuInstanceGetComputeInstanceProfileInfoV(
10325 &self,
10326 gpuInstance: nvmlGpuInstance_t,
10327 profile: raw::c_uint,
10328 engProfile: raw::c_uint,
10329 info: *mut nvmlComputeInstanceProfileInfo_v2_t,
10330 ) -> nvmlReturn_t {
10331 (self
10332 .nvmlGpuInstanceGetComputeInstanceProfileInfoV
10333 .as_ref()
10334 .expect("Expected function, got error."))(gpuInstance, profile, engProfile, info)
10335 }
10336 pub unsafe fn nvmlGpuInstanceGetComputeInstanceRemainingCapacity(
10337 &self,
10338 gpuInstance: nvmlGpuInstance_t,
10339 profileId: raw::c_uint,
10340 count: *mut raw::c_uint,
10341 ) -> nvmlReturn_t {
10342 (self
10343 .nvmlGpuInstanceGetComputeInstanceRemainingCapacity
10344 .as_ref()
10345 .expect("Expected function, got error."))(gpuInstance, profileId, count)
10346 }
10347 pub unsafe fn nvmlGpuInstanceGetComputeInstancePossiblePlacements(
10348 &self,
10349 gpuInstance: nvmlGpuInstance_t,
10350 profileId: raw::c_uint,
10351 placements: *mut nvmlComputeInstancePlacement_t,
10352 count: *mut raw::c_uint,
10353 ) -> nvmlReturn_t {
10354 (self
10355 .nvmlGpuInstanceGetComputeInstancePossiblePlacements
10356 .as_ref()
10357 .expect("Expected function, got error."))(
10358 gpuInstance, profileId, placements, count
10359 )
10360 }
10361 pub unsafe fn nvmlGpuInstanceCreateComputeInstance(
10362 &self,
10363 gpuInstance: nvmlGpuInstance_t,
10364 profileId: raw::c_uint,
10365 computeInstance: *mut nvmlComputeInstance_t,
10366 ) -> nvmlReturn_t {
10367 (self
10368 .nvmlGpuInstanceCreateComputeInstance
10369 .as_ref()
10370 .expect("Expected function, got error."))(
10371 gpuInstance, profileId, computeInstance
10372 )
10373 }
10374 pub unsafe fn nvmlGpuInstanceCreateComputeInstanceWithPlacement(
10375 &self,
10376 gpuInstance: nvmlGpuInstance_t,
10377 profileId: raw::c_uint,
10378 placement: *const nvmlComputeInstancePlacement_t,
10379 computeInstance: *mut nvmlComputeInstance_t,
10380 ) -> nvmlReturn_t {
10381 (self
10382 .nvmlGpuInstanceCreateComputeInstanceWithPlacement
10383 .as_ref()
10384 .expect("Expected function, got error."))(
10385 gpuInstance,
10386 profileId,
10387 placement,
10388 computeInstance,
10389 )
10390 }
10391 pub unsafe fn nvmlComputeInstanceDestroy(
10392 &self,
10393 computeInstance: nvmlComputeInstance_t,
10394 ) -> nvmlReturn_t {
10395 (self
10396 .nvmlComputeInstanceDestroy
10397 .as_ref()
10398 .expect("Expected function, got error."))(computeInstance)
10399 }
10400 pub unsafe fn nvmlGpuInstanceGetComputeInstances(
10401 &self,
10402 gpuInstance: nvmlGpuInstance_t,
10403 profileId: raw::c_uint,
10404 computeInstances: *mut nvmlComputeInstance_t,
10405 count: *mut raw::c_uint,
10406 ) -> nvmlReturn_t {
10407 (self
10408 .nvmlGpuInstanceGetComputeInstances
10409 .as_ref()
10410 .expect("Expected function, got error."))(
10411 gpuInstance,
10412 profileId,
10413 computeInstances,
10414 count,
10415 )
10416 }
10417 pub unsafe fn nvmlGpuInstanceGetComputeInstanceById(
10418 &self,
10419 gpuInstance: nvmlGpuInstance_t,
10420 id: raw::c_uint,
10421 computeInstance: *mut nvmlComputeInstance_t,
10422 ) -> nvmlReturn_t {
10423 (self
10424 .nvmlGpuInstanceGetComputeInstanceById
10425 .as_ref()
10426 .expect("Expected function, got error."))(gpuInstance, id, computeInstance)
10427 }
10428 pub unsafe fn nvmlComputeInstanceGetInfo_v2(
10429 &self,
10430 computeInstance: nvmlComputeInstance_t,
10431 info: *mut nvmlComputeInstanceInfo_t,
10432 ) -> nvmlReturn_t {
10433 (self
10434 .nvmlComputeInstanceGetInfo_v2
10435 .as_ref()
10436 .expect("Expected function, got error."))(computeInstance, info)
10437 }
10438 pub unsafe fn nvmlDeviceIsMigDeviceHandle(
10439 &self,
10440 device: nvmlDevice_t,
10441 isMigDevice: *mut raw::c_uint,
10442 ) -> nvmlReturn_t {
10443 (self
10444 .nvmlDeviceIsMigDeviceHandle
10445 .as_ref()
10446 .expect("Expected function, got error."))(device, isMigDevice)
10447 }
10448 pub unsafe fn nvmlDeviceGetGpuInstanceId(
10449 &self,
10450 device: nvmlDevice_t,
10451 id: *mut raw::c_uint,
10452 ) -> nvmlReturn_t {
10453 (self
10454 .nvmlDeviceGetGpuInstanceId
10455 .as_ref()
10456 .expect("Expected function, got error."))(device, id)
10457 }
10458 pub unsafe fn nvmlDeviceGetComputeInstanceId(
10459 &self,
10460 device: nvmlDevice_t,
10461 id: *mut raw::c_uint,
10462 ) -> nvmlReturn_t {
10463 (self
10464 .nvmlDeviceGetComputeInstanceId
10465 .as_ref()
10466 .expect("Expected function, got error."))(device, id)
10467 }
10468 pub unsafe fn nvmlDeviceGetMaxMigDeviceCount(
10469 &self,
10470 device: nvmlDevice_t,
10471 count: *mut raw::c_uint,
10472 ) -> nvmlReturn_t {
10473 (self
10474 .nvmlDeviceGetMaxMigDeviceCount
10475 .as_ref()
10476 .expect("Expected function, got error."))(device, count)
10477 }
10478 pub unsafe fn nvmlDeviceGetMigDeviceHandleByIndex(
10479 &self,
10480 device: nvmlDevice_t,
10481 index: raw::c_uint,
10482 migDevice: *mut nvmlDevice_t,
10483 ) -> nvmlReturn_t {
10484 (self
10485 .nvmlDeviceGetMigDeviceHandleByIndex
10486 .as_ref()
10487 .expect("Expected function, got error."))(device, index, migDevice)
10488 }
10489 pub unsafe fn nvmlDeviceGetDeviceHandleFromMigDeviceHandle(
10490 &self,
10491 migDevice: nvmlDevice_t,
10492 device: *mut nvmlDevice_t,
10493 ) -> nvmlReturn_t {
10494 (self
10495 .nvmlDeviceGetDeviceHandleFromMigDeviceHandle
10496 .as_ref()
10497 .expect("Expected function, got error."))(migDevice, device)
10498 }
10499 pub unsafe fn nvmlGpmMetricsGet(&self, metricsGet: *mut nvmlGpmMetricsGet_t) -> nvmlReturn_t {
10500 (self
10501 .nvmlGpmMetricsGet
10502 .as_ref()
10503 .expect("Expected function, got error."))(metricsGet)
10504 }
10505 pub unsafe fn nvmlGpmSampleFree(&self, gpmSample: nvmlGpmSample_t) -> nvmlReturn_t {
10506 (self
10507 .nvmlGpmSampleFree
10508 .as_ref()
10509 .expect("Expected function, got error."))(gpmSample)
10510 }
10511 pub unsafe fn nvmlGpmSampleAlloc(&self, gpmSample: *mut nvmlGpmSample_t) -> nvmlReturn_t {
10512 (self
10513 .nvmlGpmSampleAlloc
10514 .as_ref()
10515 .expect("Expected function, got error."))(gpmSample)
10516 }
10517 pub unsafe fn nvmlGpmSampleGet(
10518 &self,
10519 device: nvmlDevice_t,
10520 gpmSample: nvmlGpmSample_t,
10521 ) -> nvmlReturn_t {
10522 (self
10523 .nvmlGpmSampleGet
10524 .as_ref()
10525 .expect("Expected function, got error."))(device, gpmSample)
10526 }
10527 pub unsafe fn nvmlGpmMigSampleGet(
10528 &self,
10529 device: nvmlDevice_t,
10530 gpuInstanceId: raw::c_uint,
10531 gpmSample: nvmlGpmSample_t,
10532 ) -> nvmlReturn_t {
10533 (self
10534 .nvmlGpmMigSampleGet
10535 .as_ref()
10536 .expect("Expected function, got error."))(device, gpuInstanceId, gpmSample)
10537 }
10538 pub unsafe fn nvmlGpmQueryDeviceSupport(
10539 &self,
10540 device: nvmlDevice_t,
10541 gpmSupport: *mut nvmlGpmSupport_t,
10542 ) -> nvmlReturn_t {
10543 (self
10544 .nvmlGpmQueryDeviceSupport
10545 .as_ref()
10546 .expect("Expected function, got error."))(device, gpmSupport)
10547 }
10548 pub unsafe fn nvmlGpmQueryIfStreamingEnabled(
10549 &self,
10550 device: nvmlDevice_t,
10551 state: *mut raw::c_uint,
10552 ) -> nvmlReturn_t {
10553 (self
10554 .nvmlGpmQueryIfStreamingEnabled
10555 .as_ref()
10556 .expect("Expected function, got error."))(device, state)
10557 }
10558 pub unsafe fn nvmlGpmSetStreamingEnabled(
10559 &self,
10560 device: nvmlDevice_t,
10561 state: raw::c_uint,
10562 ) -> nvmlReturn_t {
10563 (self
10564 .nvmlGpmSetStreamingEnabled
10565 .as_ref()
10566 .expect("Expected function, got error."))(device, state)
10567 }
10568 pub unsafe fn nvmlDeviceGetCapabilities(
10569 &self,
10570 device: nvmlDevice_t,
10571 caps: *mut nvmlDeviceCapabilities_t,
10572 ) -> nvmlReturn_t {
10573 (self
10574 .nvmlDeviceGetCapabilities
10575 .as_ref()
10576 .expect("Expected function, got error."))(device, caps)
10577 }
10578 pub unsafe fn nvmlDeviceWorkloadPowerProfileGetProfilesInfo(
10579 &self,
10580 device: nvmlDevice_t,
10581 profilesInfo: *mut nvmlWorkloadPowerProfileProfilesInfo_t,
10582 ) -> nvmlReturn_t {
10583 (self
10584 .nvmlDeviceWorkloadPowerProfileGetProfilesInfo
10585 .as_ref()
10586 .expect("Expected function, got error."))(device, profilesInfo)
10587 }
10588 pub unsafe fn nvmlDeviceWorkloadPowerProfileGetCurrentProfiles(
10589 &self,
10590 device: nvmlDevice_t,
10591 currentProfiles: *mut nvmlWorkloadPowerProfileCurrentProfiles_t,
10592 ) -> nvmlReturn_t {
10593 (self
10594 .nvmlDeviceWorkloadPowerProfileGetCurrentProfiles
10595 .as_ref()
10596 .expect("Expected function, got error."))(device, currentProfiles)
10597 }
10598 pub unsafe fn nvmlDeviceWorkloadPowerProfileSetRequestedProfiles(
10599 &self,
10600 device: nvmlDevice_t,
10601 requestedProfiles: *mut nvmlWorkloadPowerProfileRequestedProfiles_t,
10602 ) -> nvmlReturn_t {
10603 (self
10604 .nvmlDeviceWorkloadPowerProfileSetRequestedProfiles
10605 .as_ref()
10606 .expect("Expected function, got error."))(device, requestedProfiles)
10607 }
10608 pub unsafe fn nvmlDeviceWorkloadPowerProfileClearRequestedProfiles(
10609 &self,
10610 device: nvmlDevice_t,
10611 requestedProfiles: *mut nvmlWorkloadPowerProfileRequestedProfiles_t,
10612 ) -> nvmlReturn_t {
10613 (self
10614 .nvmlDeviceWorkloadPowerProfileClearRequestedProfiles
10615 .as_ref()
10616 .expect("Expected function, got error."))(device, requestedProfiles)
10617 }
10618 pub unsafe fn nvmlDevicePowerSmoothingActivatePresetProfile(
10619 &self,
10620 device: nvmlDevice_t,
10621 profile: *mut nvmlPowerSmoothingProfile_t,
10622 ) -> nvmlReturn_t {
10623 (self
10624 .nvmlDevicePowerSmoothingActivatePresetProfile
10625 .as_ref()
10626 .expect("Expected function, got error."))(device, profile)
10627 }
10628 pub unsafe fn nvmlDevicePowerSmoothingUpdatePresetProfileParam(
10629 &self,
10630 device: nvmlDevice_t,
10631 profile: *mut nvmlPowerSmoothingProfile_t,
10632 ) -> nvmlReturn_t {
10633 (self
10634 .nvmlDevicePowerSmoothingUpdatePresetProfileParam
10635 .as_ref()
10636 .expect("Expected function, got error."))(device, profile)
10637 }
10638 pub unsafe fn nvmlDevicePowerSmoothingSetState(
10639 &self,
10640 device: nvmlDevice_t,
10641 state: *mut nvmlPowerSmoothingState_t,
10642 ) -> nvmlReturn_t {
10643 (self
10644 .nvmlDevicePowerSmoothingSetState
10645 .as_ref()
10646 .expect("Expected function, got error."))(device, state)
10647 }
10648 pub unsafe fn nvmlDeviceGetSramUniqueUncorrectedEccErrorCounts(
10649 &self,
10650 device: nvmlDevice_t,
10651 errorCounts: *mut nvmlEccSramUniqueUncorrectedErrorCounts_t,
10652 ) -> nvmlReturn_t {
10653 (self
10654 .nvmlDeviceGetSramUniqueUncorrectedEccErrorCounts
10655 .as_ref()
10656 .expect("Expected function, got error."))(device, errorCounts)
10657 }
10658 #[cfg(feature = "legacy-functions")]
10659 pub unsafe fn nvmlInit(&self) -> nvmlReturn_t {
10660 (self
10661 .nvmlInit
10662 .as_ref()
10663 .expect("Expected function, got error."))()
10664 }
10665 #[cfg(feature = "legacy-functions")]
10666 pub unsafe fn nvmlDeviceGetCount(&self, deviceCount: *mut raw::c_uint) -> nvmlReturn_t {
10667 (self
10668 .nvmlDeviceGetCount
10669 .as_ref()
10670 .expect("Expected function, got error."))(deviceCount)
10671 }
10672 #[cfg(feature = "legacy-functions")]
10673 pub unsafe fn nvmlDeviceGetHandleByIndex(
10674 &self,
10675 index: raw::c_uint,
10676 device: *mut nvmlDevice_t,
10677 ) -> nvmlReturn_t {
10678 (self
10679 .nvmlDeviceGetHandleByIndex
10680 .as_ref()
10681 .expect("Expected function, got error."))(index, device)
10682 }
10683 #[cfg(feature = "legacy-functions")]
10684 pub unsafe fn nvmlDeviceGetHandleByPciBusId(
10685 &self,
10686 pciBusId: *const raw::c_char,
10687 device: *mut nvmlDevice_t,
10688 ) -> nvmlReturn_t {
10689 (self
10690 .nvmlDeviceGetHandleByPciBusId
10691 .as_ref()
10692 .expect("Expected function, got error."))(pciBusId, device)
10693 }
10694 #[cfg(feature = "legacy-functions")]
10695 pub unsafe fn nvmlDeviceGetPciInfo(
10696 &self,
10697 device: nvmlDevice_t,
10698 pci: *mut nvmlPciInfo_t,
10699 ) -> nvmlReturn_t {
10700 (self
10701 .nvmlDeviceGetPciInfo
10702 .as_ref()
10703 .expect("Expected function, got error."))(device, pci)
10704 }
10705 #[cfg(feature = "legacy-functions")]
10706 pub unsafe fn nvmlDeviceGetPciInfo_v2(
10707 &self,
10708 device: nvmlDevice_t,
10709 pci: *mut nvmlPciInfo_t,
10710 ) -> nvmlReturn_t {
10711 (self
10712 .nvmlDeviceGetPciInfo_v2
10713 .as_ref()
10714 .expect("Expected function, got error."))(device, pci)
10715 }
10716 #[cfg(feature = "legacy-functions")]
10717 pub unsafe fn nvmlDeviceGetNvLinkRemotePciInfo(
10718 &self,
10719 device: nvmlDevice_t,
10720 link: raw::c_uint,
10721 pci: *mut nvmlPciInfo_t,
10722 ) -> nvmlReturn_t {
10723 (self
10724 .nvmlDeviceGetNvLinkRemotePciInfo
10725 .as_ref()
10726 .expect("Expected function, got error."))(device, link, pci)
10727 }
10728 #[cfg(feature = "legacy-functions")]
10729 pub unsafe fn nvmlDeviceGetGridLicensableFeatures(
10730 &self,
10731 device: nvmlDevice_t,
10732 pGridLicensableFeatures: *mut nvmlGridLicensableFeatures_t,
10733 ) -> nvmlReturn_t {
10734 (self
10735 .nvmlDeviceGetGridLicensableFeatures
10736 .as_ref()
10737 .expect("Expected function, got error."))(device, pGridLicensableFeatures)
10738 }
10739 #[cfg(feature = "legacy-functions")]
10740 pub unsafe fn nvmlDeviceGetGridLicensableFeatures_v2(
10741 &self,
10742 device: nvmlDevice_t,
10743 pGridLicensableFeatures: *mut nvmlGridLicensableFeatures_t,
10744 ) -> nvmlReturn_t {
10745 (self
10746 .nvmlDeviceGetGridLicensableFeatures_v2
10747 .as_ref()
10748 .expect("Expected function, got error."))(device, pGridLicensableFeatures)
10749 }
10750 #[cfg(feature = "legacy-functions")]
10751 pub unsafe fn nvmlDeviceGetGridLicensableFeatures_v3(
10752 &self,
10753 device: nvmlDevice_t,
10754 pGridLicensableFeatures: *mut nvmlGridLicensableFeatures_t,
10755 ) -> nvmlReturn_t {
10756 (self
10757 .nvmlDeviceGetGridLicensableFeatures_v3
10758 .as_ref()
10759 .expect("Expected function, got error."))(device, pGridLicensableFeatures)
10760 }
10761 #[cfg(feature = "legacy-functions")]
10762 pub unsafe fn nvmlDeviceRemoveGpu(&self, pciInfo: *mut nvmlPciInfo_t) -> nvmlReturn_t {
10763 (self
10764 .nvmlDeviceRemoveGpu
10765 .as_ref()
10766 .expect("Expected function, got error."))(pciInfo)
10767 }
10768 #[cfg(feature = "legacy-functions")]
10769 pub unsafe fn nvmlEventSetWait(
10770 &self,
10771 set: nvmlEventSet_t,
10772 data: *mut nvmlEventData_t,
10773 timeoutms: raw::c_uint,
10774 ) -> nvmlReturn_t {
10775 (self
10776 .nvmlEventSetWait
10777 .as_ref()
10778 .expect("Expected function, got error."))(set, data, timeoutms)
10779 }
10780 #[cfg(feature = "legacy-functions")]
10781 pub unsafe fn nvmlDeviceGetAttributes(
10782 &self,
10783 device: nvmlDevice_t,
10784 attributes: *mut nvmlDeviceAttributes_t,
10785 ) -> nvmlReturn_t {
10786 (self
10787 .nvmlDeviceGetAttributes
10788 .as_ref()
10789 .expect("Expected function, got error."))(device, attributes)
10790 }
10791 #[cfg(feature = "legacy-functions")]
10792 pub unsafe fn nvmlComputeInstanceGetInfo(
10793 &self,
10794 computeInstance: nvmlComputeInstance_t,
10795 info: *mut nvmlComputeInstanceInfo_t,
10796 ) -> nvmlReturn_t {
10797 (self
10798 .nvmlComputeInstanceGetInfo
10799 .as_ref()
10800 .expect("Expected function, got error."))(computeInstance, info)
10801 }
10802 #[cfg(feature = "legacy-functions")]
10803 pub unsafe fn nvmlDeviceGetComputeRunningProcesses(
10804 &self,
10805 device: nvmlDevice_t,
10806 infoCount: *mut raw::c_uint,
10807 infos: *mut nvmlProcessInfo_v1_t,
10808 ) -> nvmlReturn_t {
10809 (self
10810 .nvmlDeviceGetComputeRunningProcesses
10811 .as_ref()
10812 .expect("Expected function, got error."))(device, infoCount, infos)
10813 }
10814 #[cfg(feature = "legacy-functions")]
10815 pub unsafe fn nvmlDeviceGetComputeRunningProcesses_v2(
10816 &self,
10817 device: nvmlDevice_t,
10818 infoCount: *mut raw::c_uint,
10819 infos: *mut nvmlProcessInfo_v2_t,
10820 ) -> nvmlReturn_t {
10821 (self
10822 .nvmlDeviceGetComputeRunningProcesses_v2
10823 .as_ref()
10824 .expect("Expected function, got error."))(device, infoCount, infos)
10825 }
10826 #[cfg(feature = "legacy-functions")]
10827 pub unsafe fn nvmlDeviceGetGraphicsRunningProcesses(
10828 &self,
10829 device: nvmlDevice_t,
10830 infoCount: *mut raw::c_uint,
10831 infos: *mut nvmlProcessInfo_v1_t,
10832 ) -> nvmlReturn_t {
10833 (self
10834 .nvmlDeviceGetGraphicsRunningProcesses
10835 .as_ref()
10836 .expect("Expected function, got error."))(device, infoCount, infos)
10837 }
10838 #[cfg(feature = "legacy-functions")]
10839 pub unsafe fn nvmlDeviceGetGraphicsRunningProcesses_v2(
10840 &self,
10841 device: nvmlDevice_t,
10842 infoCount: *mut raw::c_uint,
10843 infos: *mut nvmlProcessInfo_v2_t,
10844 ) -> nvmlReturn_t {
10845 (self
10846 .nvmlDeviceGetGraphicsRunningProcesses_v2
10847 .as_ref()
10848 .expect("Expected function, got error."))(device, infoCount, infos)
10849 }
10850 #[cfg(feature = "legacy-functions")]
10851 pub unsafe fn nvmlDeviceGetMPSComputeRunningProcesses(
10852 &self,
10853 device: nvmlDevice_t,
10854 infoCount: *mut raw::c_uint,
10855 infos: *mut nvmlProcessInfo_v1_t,
10856 ) -> nvmlReturn_t {
10857 (self
10858 .nvmlDeviceGetMPSComputeRunningProcesses
10859 .as_ref()
10860 .expect("Expected function, got error."))(device, infoCount, infos)
10861 }
10862 #[cfg(feature = "legacy-functions")]
10863 pub unsafe fn nvmlDeviceGetMPSComputeRunningProcesses_v2(
10864 &self,
10865 device: nvmlDevice_t,
10866 infoCount: *mut raw::c_uint,
10867 infos: *mut nvmlProcessInfo_v2_t,
10868 ) -> nvmlReturn_t {
10869 (self
10870 .nvmlDeviceGetMPSComputeRunningProcesses_v2
10871 .as_ref()
10872 .expect("Expected function, got error."))(device, infoCount, infos)
10873 }
10874 #[cfg(feature = "legacy-functions")]
10875 pub unsafe fn nvmlDeviceGetGpuInstancePossiblePlacements(
10876 &self,
10877 device: nvmlDevice_t,
10878 profileId: raw::c_uint,
10879 placements: *mut nvmlGpuInstancePlacement_t,
10880 count: *mut raw::c_uint,
10881 ) -> nvmlReturn_t {
10882 (self
10883 .nvmlDeviceGetGpuInstancePossiblePlacements
10884 .as_ref()
10885 .expect("Expected function, got error."))(device, profileId, placements, count)
10886 }
10887 #[cfg(feature = "legacy-functions")]
10888 pub unsafe fn nvmlVgpuInstanceGetLicenseInfo(
10889 &self,
10890 vgpuInstance: nvmlVgpuInstance_t,
10891 licenseInfo: *mut nvmlVgpuLicenseInfo_t,
10892 ) -> nvmlReturn_t {
10893 (self
10894 .nvmlVgpuInstanceGetLicenseInfo
10895 .as_ref()
10896 .expect("Expected function, got error."))(vgpuInstance, licenseInfo)
10897 }
10898 pub unsafe fn nvmlDeviceGetDriverModel(
10899 &self,
10900 device: nvmlDevice_t,
10901 current: *mut nvmlDriverModel_t,
10902 pending: *mut nvmlDriverModel_t,
10903 ) -> nvmlReturn_t {
10904 (self
10905 .nvmlDeviceGetDriverModel
10906 .as_ref()
10907 .expect("Expected function, got error."))(device, current, pending)
10908 }
10909}