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