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