1#[repr(C)]
4#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
5pub struct __BindgenBitfieldUnit<Storage> {
6 storage: Storage,
7}
8impl<Storage> __BindgenBitfieldUnit<Storage> {
9 #[inline]
10 pub const fn new(storage: Storage) -> Self {
11 Self { storage }
12 }
13}
14impl<Storage> __BindgenBitfieldUnit<Storage>
15where
16 Storage: AsRef<[u8]> + AsMut<[u8]>,
17{
18 #[inline]
19 pub fn get_bit(&self, index: usize) -> bool {
20 debug_assert!(index / 8 < self.storage.as_ref().len());
21 let byte_index = index / 8;
22 let byte = self.storage.as_ref()[byte_index];
23 let bit_index = if cfg!(target_endian = "big") {
24 7 - (index % 8)
25 } else {
26 index % 8
27 };
28 let mask = 1 << bit_index;
29 byte & mask == mask
30 }
31 #[inline]
32 pub fn set_bit(&mut self, index: usize, val: bool) {
33 debug_assert!(index / 8 < self.storage.as_ref().len());
34 let byte_index = index / 8;
35 let byte = &mut self.storage.as_mut()[byte_index];
36 let bit_index = if cfg!(target_endian = "big") {
37 7 - (index % 8)
38 } else {
39 index % 8
40 };
41 let mask = 1 << bit_index;
42 if val {
43 *byte |= mask;
44 } else {
45 *byte &= !mask;
46 }
47 }
48 #[inline]
49 pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
50 debug_assert!(bit_width <= 64);
51 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
52 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
53 let mut val = 0;
54 for i in 0..(bit_width as usize) {
55 if self.get_bit(i + bit_offset) {
56 let index = if cfg!(target_endian = "big") {
57 bit_width as usize - 1 - i
58 } else {
59 i
60 };
61 val |= 1 << index;
62 }
63 }
64 val
65 }
66 #[inline]
67 pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
68 debug_assert!(bit_width <= 64);
69 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
70 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
71 for i in 0..(bit_width as usize) {
72 let mask = 1 << i;
73 let val_bit_is_set = val & mask == mask;
74 let index = if cfg!(target_endian = "big") {
75 bit_width as usize - 1 - i
76 } else {
77 i
78 };
79 self.set_bit(index + bit_offset, val_bit_is_set);
80 }
81 }
82}
83#[repr(C)]
84#[repr(align(4))]
85#[derive(Debug, Copy, Clone)]
86pub struct hipDeviceArch_t {
87 pub _bitfield_align_1: [u8; 0],
88 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 3usize]>,
89 pub __bindgen_padding_0: u8,
90}
91impl hipDeviceArch_t {
92 #[inline]
93 pub fn hasGlobalInt32Atomics(&self) -> ::std::os::raw::c_uint {
94 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
95 }
96 #[inline]
97 pub fn set_hasGlobalInt32Atomics(&mut self, val: ::std::os::raw::c_uint) {
98 unsafe {
99 let val: u32 = ::std::mem::transmute(val);
100 self._bitfield_1.set(0usize, 1u8, val as u64)
101 }
102 }
103 #[inline]
104 pub fn hasGlobalFloatAtomicExch(&self) -> ::std::os::raw::c_uint {
105 unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
106 }
107 #[inline]
108 pub fn set_hasGlobalFloatAtomicExch(&mut self, val: ::std::os::raw::c_uint) {
109 unsafe {
110 let val: u32 = ::std::mem::transmute(val);
111 self._bitfield_1.set(1usize, 1u8, val as u64)
112 }
113 }
114 #[inline]
115 pub fn hasSharedInt32Atomics(&self) -> ::std::os::raw::c_uint {
116 unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
117 }
118 #[inline]
119 pub fn set_hasSharedInt32Atomics(&mut self, val: ::std::os::raw::c_uint) {
120 unsafe {
121 let val: u32 = ::std::mem::transmute(val);
122 self._bitfield_1.set(2usize, 1u8, val as u64)
123 }
124 }
125 #[inline]
126 pub fn hasSharedFloatAtomicExch(&self) -> ::std::os::raw::c_uint {
127 unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
128 }
129 #[inline]
130 pub fn set_hasSharedFloatAtomicExch(&mut self, val: ::std::os::raw::c_uint) {
131 unsafe {
132 let val: u32 = ::std::mem::transmute(val);
133 self._bitfield_1.set(3usize, 1u8, val as u64)
134 }
135 }
136 #[inline]
137 pub fn hasFloatAtomicAdd(&self) -> ::std::os::raw::c_uint {
138 unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
139 }
140 #[inline]
141 pub fn set_hasFloatAtomicAdd(&mut self, val: ::std::os::raw::c_uint) {
142 unsafe {
143 let val: u32 = ::std::mem::transmute(val);
144 self._bitfield_1.set(4usize, 1u8, val as u64)
145 }
146 }
147 #[inline]
148 pub fn hasGlobalInt64Atomics(&self) -> ::std::os::raw::c_uint {
149 unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
150 }
151 #[inline]
152 pub fn set_hasGlobalInt64Atomics(&mut self, val: ::std::os::raw::c_uint) {
153 unsafe {
154 let val: u32 = ::std::mem::transmute(val);
155 self._bitfield_1.set(5usize, 1u8, val as u64)
156 }
157 }
158 #[inline]
159 pub fn hasSharedInt64Atomics(&self) -> ::std::os::raw::c_uint {
160 unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
161 }
162 #[inline]
163 pub fn set_hasSharedInt64Atomics(&mut self, val: ::std::os::raw::c_uint) {
164 unsafe {
165 let val: u32 = ::std::mem::transmute(val);
166 self._bitfield_1.set(6usize, 1u8, val as u64)
167 }
168 }
169 #[inline]
170 pub fn hasDoubles(&self) -> ::std::os::raw::c_uint {
171 unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
172 }
173 #[inline]
174 pub fn set_hasDoubles(&mut self, val: ::std::os::raw::c_uint) {
175 unsafe {
176 let val: u32 = ::std::mem::transmute(val);
177 self._bitfield_1.set(7usize, 1u8, val as u64)
178 }
179 }
180 #[inline]
181 pub fn hasWarpVote(&self) -> ::std::os::raw::c_uint {
182 unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
183 }
184 #[inline]
185 pub fn set_hasWarpVote(&mut self, val: ::std::os::raw::c_uint) {
186 unsafe {
187 let val: u32 = ::std::mem::transmute(val);
188 self._bitfield_1.set(8usize, 1u8, val as u64)
189 }
190 }
191 #[inline]
192 pub fn hasWarpBallot(&self) -> ::std::os::raw::c_uint {
193 unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
194 }
195 #[inline]
196 pub fn set_hasWarpBallot(&mut self, val: ::std::os::raw::c_uint) {
197 unsafe {
198 let val: u32 = ::std::mem::transmute(val);
199 self._bitfield_1.set(9usize, 1u8, val as u64)
200 }
201 }
202 #[inline]
203 pub fn hasWarpShuffle(&self) -> ::std::os::raw::c_uint {
204 unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
205 }
206 #[inline]
207 pub fn set_hasWarpShuffle(&mut self, val: ::std::os::raw::c_uint) {
208 unsafe {
209 let val: u32 = ::std::mem::transmute(val);
210 self._bitfield_1.set(10usize, 1u8, val as u64)
211 }
212 }
213 #[inline]
214 pub fn hasFunnelShift(&self) -> ::std::os::raw::c_uint {
215 unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
216 }
217 #[inline]
218 pub fn set_hasFunnelShift(&mut self, val: ::std::os::raw::c_uint) {
219 unsafe {
220 let val: u32 = ::std::mem::transmute(val);
221 self._bitfield_1.set(11usize, 1u8, val as u64)
222 }
223 }
224 #[inline]
225 pub fn hasThreadFenceSystem(&self) -> ::std::os::raw::c_uint {
226 unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) }
227 }
228 #[inline]
229 pub fn set_hasThreadFenceSystem(&mut self, val: ::std::os::raw::c_uint) {
230 unsafe {
231 let val: u32 = ::std::mem::transmute(val);
232 self._bitfield_1.set(12usize, 1u8, val as u64)
233 }
234 }
235 #[inline]
236 pub fn hasSyncThreadsExt(&self) -> ::std::os::raw::c_uint {
237 unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) }
238 }
239 #[inline]
240 pub fn set_hasSyncThreadsExt(&mut self, val: ::std::os::raw::c_uint) {
241 unsafe {
242 let val: u32 = ::std::mem::transmute(val);
243 self._bitfield_1.set(13usize, 1u8, val as u64)
244 }
245 }
246 #[inline]
247 pub fn hasSurfaceFuncs(&self) -> ::std::os::raw::c_uint {
248 unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) }
249 }
250 #[inline]
251 pub fn set_hasSurfaceFuncs(&mut self, val: ::std::os::raw::c_uint) {
252 unsafe {
253 let val: u32 = ::std::mem::transmute(val);
254 self._bitfield_1.set(14usize, 1u8, val as u64)
255 }
256 }
257 #[inline]
258 pub fn has3dGrid(&self) -> ::std::os::raw::c_uint {
259 unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) }
260 }
261 #[inline]
262 pub fn set_has3dGrid(&mut self, val: ::std::os::raw::c_uint) {
263 unsafe {
264 let val: u32 = ::std::mem::transmute(val);
265 self._bitfield_1.set(15usize, 1u8, val as u64)
266 }
267 }
268 #[inline]
269 pub fn hasDynamicParallelism(&self) -> ::std::os::raw::c_uint {
270 unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
271 }
272 #[inline]
273 pub fn set_hasDynamicParallelism(&mut self, val: ::std::os::raw::c_uint) {
274 unsafe {
275 let val: u32 = ::std::mem::transmute(val);
276 self._bitfield_1.set(16usize, 1u8, val as u64)
277 }
278 }
279 #[inline]
280 pub fn new_bitfield_1(
281 hasGlobalInt32Atomics: ::std::os::raw::c_uint,
282 hasGlobalFloatAtomicExch: ::std::os::raw::c_uint,
283 hasSharedInt32Atomics: ::std::os::raw::c_uint,
284 hasSharedFloatAtomicExch: ::std::os::raw::c_uint,
285 hasFloatAtomicAdd: ::std::os::raw::c_uint,
286 hasGlobalInt64Atomics: ::std::os::raw::c_uint,
287 hasSharedInt64Atomics: ::std::os::raw::c_uint,
288 hasDoubles: ::std::os::raw::c_uint,
289 hasWarpVote: ::std::os::raw::c_uint,
290 hasWarpBallot: ::std::os::raw::c_uint,
291 hasWarpShuffle: ::std::os::raw::c_uint,
292 hasFunnelShift: ::std::os::raw::c_uint,
293 hasThreadFenceSystem: ::std::os::raw::c_uint,
294 hasSyncThreadsExt: ::std::os::raw::c_uint,
295 hasSurfaceFuncs: ::std::os::raw::c_uint,
296 has3dGrid: ::std::os::raw::c_uint,
297 hasDynamicParallelism: ::std::os::raw::c_uint,
298 ) -> __BindgenBitfieldUnit<[u8; 3usize]> {
299 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 3usize]> = Default::default();
300 __bindgen_bitfield_unit.set(0usize, 1u8, {
301 let hasGlobalInt32Atomics: u32 =
302 unsafe { ::std::mem::transmute(hasGlobalInt32Atomics) };
303 hasGlobalInt32Atomics as u64
304 });
305 __bindgen_bitfield_unit.set(1usize, 1u8, {
306 let hasGlobalFloatAtomicExch: u32 =
307 unsafe { ::std::mem::transmute(hasGlobalFloatAtomicExch) };
308 hasGlobalFloatAtomicExch as u64
309 });
310 __bindgen_bitfield_unit.set(2usize, 1u8, {
311 let hasSharedInt32Atomics: u32 =
312 unsafe { ::std::mem::transmute(hasSharedInt32Atomics) };
313 hasSharedInt32Atomics as u64
314 });
315 __bindgen_bitfield_unit.set(3usize, 1u8, {
316 let hasSharedFloatAtomicExch: u32 =
317 unsafe { ::std::mem::transmute(hasSharedFloatAtomicExch) };
318 hasSharedFloatAtomicExch as u64
319 });
320 __bindgen_bitfield_unit.set(4usize, 1u8, {
321 let hasFloatAtomicAdd: u32 = unsafe { ::std::mem::transmute(hasFloatAtomicAdd) };
322 hasFloatAtomicAdd as u64
323 });
324 __bindgen_bitfield_unit.set(5usize, 1u8, {
325 let hasGlobalInt64Atomics: u32 =
326 unsafe { ::std::mem::transmute(hasGlobalInt64Atomics) };
327 hasGlobalInt64Atomics as u64
328 });
329 __bindgen_bitfield_unit.set(6usize, 1u8, {
330 let hasSharedInt64Atomics: u32 =
331 unsafe { ::std::mem::transmute(hasSharedInt64Atomics) };
332 hasSharedInt64Atomics as u64
333 });
334 __bindgen_bitfield_unit.set(7usize, 1u8, {
335 let hasDoubles: u32 = unsafe { ::std::mem::transmute(hasDoubles) };
336 hasDoubles as u64
337 });
338 __bindgen_bitfield_unit.set(8usize, 1u8, {
339 let hasWarpVote: u32 = unsafe { ::std::mem::transmute(hasWarpVote) };
340 hasWarpVote as u64
341 });
342 __bindgen_bitfield_unit.set(9usize, 1u8, {
343 let hasWarpBallot: u32 = unsafe { ::std::mem::transmute(hasWarpBallot) };
344 hasWarpBallot as u64
345 });
346 __bindgen_bitfield_unit.set(10usize, 1u8, {
347 let hasWarpShuffle: u32 = unsafe { ::std::mem::transmute(hasWarpShuffle) };
348 hasWarpShuffle as u64
349 });
350 __bindgen_bitfield_unit.set(11usize, 1u8, {
351 let hasFunnelShift: u32 = unsafe { ::std::mem::transmute(hasFunnelShift) };
352 hasFunnelShift as u64
353 });
354 __bindgen_bitfield_unit.set(12usize, 1u8, {
355 let hasThreadFenceSystem: u32 = unsafe { ::std::mem::transmute(hasThreadFenceSystem) };
356 hasThreadFenceSystem as u64
357 });
358 __bindgen_bitfield_unit.set(13usize, 1u8, {
359 let hasSyncThreadsExt: u32 = unsafe { ::std::mem::transmute(hasSyncThreadsExt) };
360 hasSyncThreadsExt as u64
361 });
362 __bindgen_bitfield_unit.set(14usize, 1u8, {
363 let hasSurfaceFuncs: u32 = unsafe { ::std::mem::transmute(hasSurfaceFuncs) };
364 hasSurfaceFuncs as u64
365 });
366 __bindgen_bitfield_unit.set(15usize, 1u8, {
367 let has3dGrid: u32 = unsafe { ::std::mem::transmute(has3dGrid) };
368 has3dGrid as u64
369 });
370 __bindgen_bitfield_unit.set(16usize, 1u8, {
371 let hasDynamicParallelism: u32 =
372 unsafe { ::std::mem::transmute(hasDynamicParallelism) };
373 hasDynamicParallelism as u64
374 });
375 __bindgen_bitfield_unit
376 }
377}
378#[repr(C)]
379#[derive(Debug, Copy, Clone)]
380pub struct hipUUID_t {
381 pub bytes: [::std::os::raw::c_char; 16usize],
382}
383pub type hipUUID = hipUUID_t;
384#[doc = " hipDeviceProp\n"]
385#[repr(C)]
386#[derive(Debug, Copy, Clone)]
387pub struct hipDeviceProp_t {
388 #[doc = "< Device name."]
389 pub name: [::std::os::raw::c_char; 256usize],
390 #[doc = "< Size of global memory region (in bytes)."]
391 pub totalGlobalMem: usize,
392 #[doc = "< Size of shared memory region (in bytes)."]
393 pub sharedMemPerBlock: usize,
394 #[doc = "< Registers per block."]
395 pub regsPerBlock: ::std::os::raw::c_int,
396 #[doc = "< Warp size."]
397 pub warpSize: ::std::os::raw::c_int,
398 #[doc = "< Max work items per work group or workgroup max size."]
399 pub maxThreadsPerBlock: ::std::os::raw::c_int,
400 #[doc = "< Max number of threads in each dimension (XYZ) of a block."]
401 pub maxThreadsDim: [::std::os::raw::c_int; 3usize],
402 #[doc = "< Max grid dimensions (XYZ)."]
403 pub maxGridSize: [::std::os::raw::c_int; 3usize],
404 #[doc = "< Max clock frequency of the multiProcessors in khz."]
405 pub clockRate: ::std::os::raw::c_int,
406 #[doc = "< Max global memory clock frequency in khz."]
407 pub memoryClockRate: ::std::os::raw::c_int,
408 #[doc = "< Global memory bus width in bits."]
409 pub memoryBusWidth: ::std::os::raw::c_int,
410 #[doc = "< Size of shared memory region (in bytes)."]
411 pub totalConstMem: usize,
412 #[doc = "< Major compute capability. On HCC, this is an approximation and features may\n< differ from CUDA CC. See the arch feature flags for portable ways to query\n< feature caps."]
413 pub major: ::std::os::raw::c_int,
414 #[doc = "< Minor compute capability. On HCC, this is an approximation and features may\n< differ from CUDA CC. See the arch feature flags for portable ways to query\n< feature caps."]
415 pub minor: ::std::os::raw::c_int,
416 #[doc = "< Number of multi-processors (compute units)."]
417 pub multiProcessorCount: ::std::os::raw::c_int,
418 #[doc = "< L2 cache size."]
419 pub l2CacheSize: ::std::os::raw::c_int,
420 #[doc = "< Maximum resident threads per multi-processor."]
421 pub maxThreadsPerMultiProcessor: ::std::os::raw::c_int,
422 #[doc = "< Compute mode."]
423 pub computeMode: ::std::os::raw::c_int,
424 #[doc = "< Frequency in khz of the timer used by the device-side \"clock*\"\n< instructions. New for HIP."]
425 pub clockInstructionRate: ::std::os::raw::c_int,
426 #[doc = "< Architectural feature flags. New for HIP."]
427 pub arch: hipDeviceArch_t,
428 #[doc = "< Device can possibly execute multiple kernels concurrently."]
429 pub concurrentKernels: ::std::os::raw::c_int,
430 #[doc = "< PCI Domain ID"]
431 pub pciDomainID: ::std::os::raw::c_int,
432 #[doc = "< PCI Bus ID."]
433 pub pciBusID: ::std::os::raw::c_int,
434 #[doc = "< PCI Device ID."]
435 pub pciDeviceID: ::std::os::raw::c_int,
436 #[doc = "< Maximum Shared Memory Per Multiprocessor."]
437 pub maxSharedMemoryPerMultiProcessor: usize,
438 #[doc = "< 1 if device is on a multi-GPU board, 0 if not."]
439 pub isMultiGpuBoard: ::std::os::raw::c_int,
440 #[doc = "< Check whether HIP can map host memory"]
441 pub canMapHostMemory: ::std::os::raw::c_int,
442 #[doc = "< DEPRECATED: use gcnArchName instead"]
443 pub gcnArch: ::std::os::raw::c_int,
444 #[doc = "< AMD GCN Arch Name."]
445 pub gcnArchName: [::std::os::raw::c_char; 256usize],
446 #[doc = "< APU vs dGPU"]
447 pub integrated: ::std::os::raw::c_int,
448 #[doc = "< HIP device supports cooperative launch"]
449 pub cooperativeLaunch: ::std::os::raw::c_int,
450 #[doc = "< HIP device supports cooperative launch on multiple devices"]
451 pub cooperativeMultiDeviceLaunch: ::std::os::raw::c_int,
452 #[doc = "< Maximum size for 1D textures bound to linear memory"]
453 pub maxTexture1DLinear: ::std::os::raw::c_int,
454 #[doc = "< Maximum number of elements in 1D images"]
455 pub maxTexture1D: ::std::os::raw::c_int,
456 #[doc = "< Maximum dimensions (width, height) of 2D images, in image elements"]
457 pub maxTexture2D: [::std::os::raw::c_int; 2usize],
458 #[doc = "< Maximum dimensions (width, height, depth) of 3D images, in image elements"]
459 pub maxTexture3D: [::std::os::raw::c_int; 3usize],
460 #[doc = "< Addres of HDP_MEM_COHERENCY_FLUSH_CNTL register"]
461 pub hdpMemFlushCntl: *mut ::std::os::raw::c_uint,
462 #[doc = "< Addres of HDP_REG_COHERENCY_FLUSH_CNTL register"]
463 pub hdpRegFlushCntl: *mut ::std::os::raw::c_uint,
464 #[doc = "<Maximum pitch in bytes allowed by memory copies"]
465 pub memPitch: usize,
466 #[doc = "<Alignment requirement for textures"]
467 pub textureAlignment: usize,
468 #[doc = "<Pitch alignment requirement for texture references bound to pitched memory"]
469 pub texturePitchAlignment: usize,
470 #[doc = "<Run time limit for kernels executed on the device"]
471 pub kernelExecTimeoutEnabled: ::std::os::raw::c_int,
472 #[doc = "<Device has ECC support enabled"]
473 pub ECCEnabled: ::std::os::raw::c_int,
474 #[doc = "< 1:If device is Tesla device using TCC driver, else 0"]
475 pub tccDriver: ::std::os::raw::c_int,
476 #[doc = "< HIP device supports cooperative launch on multiple"]
477 pub cooperativeMultiDeviceUnmatchedFunc: ::std::os::raw::c_int,
478 #[doc = "< HIP device supports cooperative launch on multiple"]
479 pub cooperativeMultiDeviceUnmatchedGridDim: ::std::os::raw::c_int,
480 #[doc = "< HIP device supports cooperative launch on multiple"]
481 pub cooperativeMultiDeviceUnmatchedBlockDim: ::std::os::raw::c_int,
482 #[doc = "< HIP device supports cooperative launch on multiple"]
483 pub cooperativeMultiDeviceUnmatchedSharedMem: ::std::os::raw::c_int,
484 #[doc = "< 1: if it is a large PCI bar device, else 0"]
485 pub isLargeBar: ::std::os::raw::c_int,
486 #[doc = "< Revision of the GPU in this device"]
487 pub asicRevision: ::std::os::raw::c_int,
488 #[doc = "< Device supports allocating managed memory on this system"]
489 pub managedMemory: ::std::os::raw::c_int,
490 #[doc = "< Host can directly access managed memory on the device without migration"]
491 pub directManagedMemAccessFromHost: ::std::os::raw::c_int,
492 #[doc = "< Device can coherently access managed memory concurrently with the CPU"]
493 pub concurrentManagedAccess: ::std::os::raw::c_int,
494 #[doc = "< Device supports coherently accessing pageable memory\n< without calling hipHostRegister on it"]
495 pub pageableMemoryAccess: ::std::os::raw::c_int,
496 #[doc = "< Device accesses pageable memory via the host's page tables"]
497 pub pageableMemoryAccessUsesHostPageTables: ::std::os::raw::c_int,
498}
499#[repr(u32)]
500#[doc = " Memory type (for pointer attributes)"]
501#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
502pub enum hipMemoryType {
503 #[doc = "< Memory is physically located on host"]
504 hipMemoryTypeHost = 0,
505 #[doc = "< Memory is physically located on device. (see deviceId for specific\n< device)"]
506 hipMemoryTypeDevice = 1,
507 #[doc = "< Array memory, physically located on device. (see deviceId for specific\n< device)"]
508 hipMemoryTypeArray = 2,
509 #[doc = "< Not used currently"]
510 hipMemoryTypeUnified = 3,
511 #[doc = "< Managed memory, automaticallly managed by the unified memory system"]
512 hipMemoryTypeManaged = 4,
513}
514#[doc = " Pointer attributes"]
515#[repr(C)]
516#[derive(Debug, Copy, Clone)]
517pub struct hipPointerAttribute_t {
518 pub memoryType: hipMemoryType,
519 pub device: ::std::os::raw::c_int,
520 pub devicePointer: *mut ::std::os::raw::c_void,
521 pub hostPointer: *mut ::std::os::raw::c_void,
522 pub isManaged: ::std::os::raw::c_int,
523 pub allocationFlags: ::std::os::raw::c_uint,
524}
525impl hipError_t {
526 pub const hipErrorMemoryAllocation: hipError_t = hipError_t::hipErrorOutOfMemory;
527}
528impl hipError_t {
529 pub const hipErrorInitializationError: hipError_t = hipError_t::hipErrorNotInitialized;
530}
531impl hipError_t {
532 pub const hipErrorMapBufferObjectFailed: hipError_t = hipError_t::hipErrorMapFailed;
533}
534impl hipError_t {
535 pub const hipErrorInvalidResourceHandle: hipError_t = hipError_t::hipErrorInvalidHandle;
536}
537#[repr(u32)]
538#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
539pub enum hipError_t {
540 #[doc = "< Successful completion."]
541 hipSuccess = 0,
542 #[doc = "< One or more of the parameters passed to the API call is NULL\n< or not in an acceptable range."]
543 hipErrorInvalidValue = 1,
544 hipErrorOutOfMemory = 2,
545 hipErrorNotInitialized = 3,
546 hipErrorDeinitialized = 4,
547 hipErrorProfilerDisabled = 5,
548 hipErrorProfilerNotInitialized = 6,
549 hipErrorProfilerAlreadyStarted = 7,
550 hipErrorProfilerAlreadyStopped = 8,
551 hipErrorInvalidConfiguration = 9,
552 hipErrorInvalidPitchValue = 12,
553 hipErrorInvalidSymbol = 13,
554 #[doc = "< Invalid Device Pointer"]
555 hipErrorInvalidDevicePointer = 17,
556 #[doc = "< Invalid memory copy direction"]
557 hipErrorInvalidMemcpyDirection = 21,
558 hipErrorInsufficientDriver = 35,
559 hipErrorMissingConfiguration = 52,
560 hipErrorPriorLaunchFailure = 53,
561 hipErrorInvalidDeviceFunction = 98,
562 #[doc = "< Call to hipGetDeviceCount returned 0 devices"]
563 hipErrorNoDevice = 100,
564 #[doc = "< DeviceID must be in range 0...#compute-devices."]
565 hipErrorInvalidDevice = 101,
566 hipErrorInvalidImage = 200,
567 #[doc = "< Produced when input context is invalid."]
568 hipErrorInvalidContext = 201,
569 hipErrorContextAlreadyCurrent = 202,
570 hipErrorMapFailed = 205,
571 hipErrorUnmapFailed = 206,
572 hipErrorArrayIsMapped = 207,
573 hipErrorAlreadyMapped = 208,
574 hipErrorNoBinaryForGpu = 209,
575 hipErrorAlreadyAcquired = 210,
576 hipErrorNotMapped = 211,
577 hipErrorNotMappedAsArray = 212,
578 hipErrorNotMappedAsPointer = 213,
579 hipErrorECCNotCorrectable = 214,
580 hipErrorUnsupportedLimit = 215,
581 hipErrorContextAlreadyInUse = 216,
582 hipErrorPeerAccessUnsupported = 217,
583 #[doc = "< In CUDA DRV, it is CUDA_ERROR_INVALID_PTX"]
584 hipErrorInvalidKernelFile = 218,
585 hipErrorInvalidGraphicsContext = 219,
586 hipErrorInvalidSource = 300,
587 hipErrorFileNotFound = 301,
588 hipErrorSharedObjectSymbolNotFound = 302,
589 hipErrorSharedObjectInitFailed = 303,
590 hipErrorOperatingSystem = 304,
591 hipErrorInvalidHandle = 400,
592 #[doc = "< Resource required is not in a valid state to perform operation."]
593 hipErrorIllegalState = 401,
594 hipErrorNotFound = 500,
595 #[doc = "< Indicates that asynchronous operations enqueued earlier are not\n< ready. This is not actually an error, but is used to distinguish\n< from hipSuccess (which indicates completion). APIs that return\n< this error include hipEventQuery and hipStreamQuery."]
596 hipErrorNotReady = 600,
597 hipErrorIllegalAddress = 700,
598 #[doc = "< Out of resources error."]
599 hipErrorLaunchOutOfResources = 701,
600 hipErrorLaunchTimeOut = 702,
601 hipErrorPeerAccessAlreadyEnabled = 704,
602 hipErrorPeerAccessNotEnabled = 705,
603 hipErrorSetOnActiveProcess = 708,
604 hipErrorContextIsDestroyed = 709,
605 #[doc = "< Produced when the kernel calls assert."]
606 hipErrorAssert = 710,
607 hipErrorHostMemoryAlreadyRegistered = 712,
608 hipErrorHostMemoryNotRegistered = 713,
609 hipErrorLaunchFailure = 719,
610 hipErrorCooperativeLaunchTooLarge = 720,
611 #[doc = "< Produced when the hip API is not supported/implemented"]
612 hipErrorNotSupported = 801,
613 #[doc = "< The operation is not permitted when the stream\n< is capturing."]
614 hipErrorStreamCaptureUnsupported = 900,
615 #[doc = "< The current capture sequence on the stream\n< has been invalidated due to a previous error."]
616 hipErrorStreamCaptureInvalidated = 901,
617 #[doc = "< The operation would have resulted in a merge of\n< two independent capture sequences."]
618 hipErrorStreamCaptureMerge = 902,
619 #[doc = "< The capture was not initiated in this stream."]
620 hipErrorStreamCaptureUnmatched = 903,
621 #[doc = "< The capture sequence contains a fork that was not\n< joined to the primary stream."]
622 hipErrorStreamCaptureUnjoined = 904,
623 #[doc = "< A dependency would have been created which crosses\n< the capture sequence boundary. Only implicit\n< in-stream ordering dependencies are allowed\n< to cross the boundary"]
624 hipErrorStreamCaptureIsolation = 905,
625 #[doc = "< The operation would have resulted in a disallowed\n< implicit dependency on a current capture sequence\n< from hipStreamLegacy."]
626 hipErrorStreamCaptureImplicit = 906,
627 #[doc = "< The operation is not permitted on an event which was last\n< recorded in a capturing stream."]
628 hipErrorCapturedEvent = 907,
629 #[doc = "< A stream capture sequence not initiated with\n< the hipStreamCaptureModeRelaxed argument to\n< hipStreamBeginCapture was passed to\n< hipStreamEndCapture in a different thread."]
630 hipErrorStreamCaptureWrongThread = 908,
631 #[doc = "< This error indicates that the graph update\n< not performed because it included changes which\n< violated constraintsspecific to instantiated graph\n< update."]
632 hipErrorGraphExecUpdateFailure = 910,
633 hipErrorUnknown = 999,
634 #[doc = "< HSA runtime memory call returned error. Typically not seen\n< in production systems."]
635 hipErrorRuntimeMemory = 1052,
636 #[doc = "< HSA runtime call other than memory returned error. Typically\n< not seen in production systems."]
637 hipErrorRuntimeOther = 1053,
638 #[doc = "< Marker that more error codes are needed."]
639 hipErrorTbd = 1054,
640}
641impl hipDeviceAttribute_t {
642 pub const hipDeviceAttributeEccEnabled: hipDeviceAttribute_t =
643 hipDeviceAttribute_t::hipDeviceAttributeCudaCompatibleBegin;
644}
645impl hipDeviceAttribute_t {
646 pub const hipDeviceAttributeClockInstructionRate: hipDeviceAttribute_t =
647 hipDeviceAttribute_t::hipDeviceAttributeAmdSpecificBegin;
648}
649#[repr(u32)]
650#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
651pub enum hipDeviceAttribute_t {
652 hipDeviceAttributeCudaCompatibleBegin = 0,
653 #[doc = "< Cuda only. The maximum size of the window policy in bytes."]
654 hipDeviceAttributeAccessPolicyMaxWindowSize = 1,
655 #[doc = "< Cuda only. Asynchronous engines number."]
656 hipDeviceAttributeAsyncEngineCount = 2,
657 #[doc = "< Whether host memory can be mapped into device address space"]
658 hipDeviceAttributeCanMapHostMemory = 3,
659 #[doc = "< Cuda only. Device can access host registered memory\n< at the same virtual address as the CPU"]
660 hipDeviceAttributeCanUseHostPointerForRegisteredMem = 4,
661 #[doc = "< Peak clock frequency in kilohertz."]
662 hipDeviceAttributeClockRate = 5,
663 #[doc = "< Compute mode that device is currently in."]
664 hipDeviceAttributeComputeMode = 6,
665 #[doc = "< Cuda only. Device supports Compute Preemption."]
666 hipDeviceAttributeComputePreemptionSupported = 7,
667 #[doc = "< Device can possibly execute multiple kernels concurrently."]
668 hipDeviceAttributeConcurrentKernels = 8,
669 #[doc = "< Device can coherently access managed memory concurrently with the CPU"]
670 hipDeviceAttributeConcurrentManagedAccess = 9,
671 #[doc = "< Support cooperative launch"]
672 hipDeviceAttributeCooperativeLaunch = 10,
673 #[doc = "< Support cooperative launch on multiple devices"]
674 hipDeviceAttributeCooperativeMultiDeviceLaunch = 11,
675 #[doc = "< Cuda only. Device can concurrently copy memory and execute a kernel.\n< Deprecated. Use instead asyncEngineCount."]
676 hipDeviceAttributeDeviceOverlap = 12,
677 #[doc = "< Host can directly access managed memory on\n< the device without migration"]
678 hipDeviceAttributeDirectManagedMemAccessFromHost = 13,
679 #[doc = "< Cuda only. Device supports caching globals in L1"]
680 hipDeviceAttributeGlobalL1CacheSupported = 14,
681 #[doc = "< Cuda only. Link between the device and the host supports native atomic operations"]
682 hipDeviceAttributeHostNativeAtomicSupported = 15,
683 #[doc = "< Device is integrated GPU"]
684 hipDeviceAttributeIntegrated = 16,
685 #[doc = "< Multiple GPU devices."]
686 hipDeviceAttributeIsMultiGpuBoard = 17,
687 #[doc = "< Run time limit for kernels executed on the device"]
688 hipDeviceAttributeKernelExecTimeout = 18,
689 #[doc = "< Size of L2 cache in bytes. 0 if the device doesn't have L2 cache."]
690 hipDeviceAttributeL2CacheSize = 19,
691 #[doc = "< caching locals in L1 is supported"]
692 hipDeviceAttributeLocalL1CacheSupported = 20,
693 #[doc = "< Cuda only. 8-byte locally unique identifier in 8 bytes. Undefined on TCC and non-Windows platforms"]
694 hipDeviceAttributeLuid = 21,
695 #[doc = "< Cuda only. Luid device node mask. Undefined on TCC and non-Windows platforms"]
696 hipDeviceAttributeLuidDeviceNodeMask = 22,
697 #[doc = "< Major compute capability version number."]
698 hipDeviceAttributeComputeCapabilityMajor = 23,
699 #[doc = "< Device supports allocating managed memory on this system"]
700 hipDeviceAttributeManagedMemory = 24,
701 #[doc = "< Cuda only. Max block size per multiprocessor"]
702 hipDeviceAttributeMaxBlocksPerMultiProcessor = 25,
703 #[doc = "< Max block size in width."]
704 hipDeviceAttributeMaxBlockDimX = 26,
705 #[doc = "< Max block size in height."]
706 hipDeviceAttributeMaxBlockDimY = 27,
707 #[doc = "< Max block size in depth."]
708 hipDeviceAttributeMaxBlockDimZ = 28,
709 #[doc = "< Max grid size in width."]
710 hipDeviceAttributeMaxGridDimX = 29,
711 #[doc = "< Max grid size in height."]
712 hipDeviceAttributeMaxGridDimY = 30,
713 #[doc = "< Max grid size in depth."]
714 hipDeviceAttributeMaxGridDimZ = 31,
715 #[doc = "< Maximum size of 1D surface."]
716 hipDeviceAttributeMaxSurface1D = 32,
717 #[doc = "< Cuda only. Maximum dimensions of 1D layered surface."]
718 hipDeviceAttributeMaxSurface1DLayered = 33,
719 #[doc = "< Maximum dimension (width, height) of 2D surface."]
720 hipDeviceAttributeMaxSurface2D = 34,
721 #[doc = "< Cuda only. Maximum dimensions of 2D layered surface."]
722 hipDeviceAttributeMaxSurface2DLayered = 35,
723 #[doc = "< Maximum dimension (width, height, depth) of 3D surface."]
724 hipDeviceAttributeMaxSurface3D = 36,
725 #[doc = "< Cuda only. Maximum dimensions of Cubemap surface."]
726 hipDeviceAttributeMaxSurfaceCubemap = 37,
727 #[doc = "< Cuda only. Maximum dimension of Cubemap layered surface."]
728 hipDeviceAttributeMaxSurfaceCubemapLayered = 38,
729 #[doc = "< Maximum size of 1D texture."]
730 hipDeviceAttributeMaxTexture1DWidth = 39,
731 #[doc = "< Cuda only. Maximum dimensions of 1D layered texture."]
732 hipDeviceAttributeMaxTexture1DLayered = 40,
733 #[doc = "< Maximum number of elements allocatable in a 1D linear texture.\n< Use cudaDeviceGetTexture1DLinearMaxWidth() instead on Cuda."]
734 hipDeviceAttributeMaxTexture1DLinear = 41,
735 #[doc = "< Cuda only. Maximum size of 1D mipmapped texture."]
736 hipDeviceAttributeMaxTexture1DMipmap = 42,
737 #[doc = "< Maximum dimension width of 2D texture."]
738 hipDeviceAttributeMaxTexture2DWidth = 43,
739 #[doc = "< Maximum dimension hight of 2D texture."]
740 hipDeviceAttributeMaxTexture2DHeight = 44,
741 #[doc = "< Cuda only. Maximum dimensions of 2D texture if gather operations performed."]
742 hipDeviceAttributeMaxTexture2DGather = 45,
743 #[doc = "< Cuda only. Maximum dimensions of 2D layered texture."]
744 hipDeviceAttributeMaxTexture2DLayered = 46,
745 #[doc = "< Cuda only. Maximum dimensions (width, height, pitch) of 2D textures bound to pitched memory."]
746 hipDeviceAttributeMaxTexture2DLinear = 47,
747 #[doc = "< Cuda only. Maximum dimensions of 2D mipmapped texture."]
748 hipDeviceAttributeMaxTexture2DMipmap = 48,
749 #[doc = "< Maximum dimension width of 3D texture."]
750 hipDeviceAttributeMaxTexture3DWidth = 49,
751 #[doc = "< Maximum dimension height of 3D texture."]
752 hipDeviceAttributeMaxTexture3DHeight = 50,
753 #[doc = "< Maximum dimension depth of 3D texture."]
754 hipDeviceAttributeMaxTexture3DDepth = 51,
755 #[doc = "< Cuda only. Maximum dimensions of alternate 3D texture."]
756 hipDeviceAttributeMaxTexture3DAlt = 52,
757 #[doc = "< Cuda only. Maximum dimensions of Cubemap texture"]
758 hipDeviceAttributeMaxTextureCubemap = 53,
759 #[doc = "< Cuda only. Maximum dimensions of Cubemap layered texture."]
760 hipDeviceAttributeMaxTextureCubemapLayered = 54,
761 #[doc = "< Maximum dimension of a block"]
762 hipDeviceAttributeMaxThreadsDim = 55,
763 #[doc = "< Maximum number of threads per block."]
764 hipDeviceAttributeMaxThreadsPerBlock = 56,
765 #[doc = "< Maximum resident threads per multiprocessor."]
766 hipDeviceAttributeMaxThreadsPerMultiProcessor = 57,
767 #[doc = "< Maximum pitch in bytes allowed by memory copies"]
768 hipDeviceAttributeMaxPitch = 58,
769 #[doc = "< Global memory bus width in bits."]
770 hipDeviceAttributeMemoryBusWidth = 59,
771 #[doc = "< Peak memory clock frequency in kilohertz."]
772 hipDeviceAttributeMemoryClockRate = 60,
773 #[doc = "< Minor compute capability version number."]
774 hipDeviceAttributeComputeCapabilityMinor = 61,
775 #[doc = "< Cuda only. Unique ID of device group on the same multi-GPU board"]
776 hipDeviceAttributeMultiGpuBoardGroupID = 62,
777 #[doc = "< Number of multiprocessors on the device."]
778 hipDeviceAttributeMultiprocessorCount = 63,
779 #[doc = "< Device name."]
780 hipDeviceAttributeName = 64,
781 #[doc = "< Device supports coherently accessing pageable memory\n< without calling hipHostRegister on it"]
782 hipDeviceAttributePageableMemoryAccess = 65,
783 #[doc = "< Device accesses pageable memory via the host's page tables"]
784 hipDeviceAttributePageableMemoryAccessUsesHostPageTables = 66,
785 #[doc = "< PCI Bus ID."]
786 hipDeviceAttributePciBusId = 67,
787 #[doc = "< PCI Device ID."]
788 hipDeviceAttributePciDeviceId = 68,
789 #[doc = "< PCI Domain ID."]
790 hipDeviceAttributePciDomainID = 69,
791 #[doc = "< Cuda11 only. Maximum l2 persisting lines capacity in bytes"]
792 hipDeviceAttributePersistingL2CacheMaxSize = 70,
793 #[doc = "< 32-bit registers available to a thread block. This number is shared\n< by all thread blocks simultaneously resident on a multiprocessor."]
794 hipDeviceAttributeMaxRegistersPerBlock = 71,
795 #[doc = "< 32-bit registers available per block."]
796 hipDeviceAttributeMaxRegistersPerMultiprocessor = 72,
797 #[doc = "< Cuda11 only. Shared memory reserved by CUDA driver per block."]
798 hipDeviceAttributeReservedSharedMemPerBlock = 73,
799 #[doc = "< Maximum shared memory available per block in bytes."]
800 hipDeviceAttributeMaxSharedMemoryPerBlock = 74,
801 #[doc = "< Cuda only. Maximum shared memory per block usable by special opt in."]
802 hipDeviceAttributeSharedMemPerBlockOptin = 75,
803 #[doc = "< Cuda only. Shared memory available per multiprocessor."]
804 hipDeviceAttributeSharedMemPerMultiprocessor = 76,
805 #[doc = "< Cuda only. Performance ratio of single precision to double precision."]
806 hipDeviceAttributeSingleToDoublePrecisionPerfRatio = 77,
807 #[doc = "< Cuda only. Whether to support stream priorities."]
808 hipDeviceAttributeStreamPrioritiesSupported = 78,
809 #[doc = "< Cuda only. Alignment requirement for surfaces"]
810 hipDeviceAttributeSurfaceAlignment = 79,
811 #[doc = "< Cuda only. Whether device is a Tesla device using TCC driver"]
812 hipDeviceAttributeTccDriver = 80,
813 #[doc = "< Alignment requirement for textures"]
814 hipDeviceAttributeTextureAlignment = 81,
815 #[doc = "< Pitch alignment requirement for 2D texture references bound to pitched memory;"]
816 hipDeviceAttributeTexturePitchAlignment = 82,
817 #[doc = "< Constant memory size in bytes."]
818 hipDeviceAttributeTotalConstantMemory = 83,
819 #[doc = "< Global memory available on devicice."]
820 hipDeviceAttributeTotalGlobalMem = 84,
821 #[doc = "< Cuda only. An unified address space shared with the host."]
822 hipDeviceAttributeUnifiedAddressing = 85,
823 #[doc = "< Cuda only. Unique ID in 16 byte."]
824 hipDeviceAttributeUuid = 86,
825 #[doc = "< Warp size in threads."]
826 hipDeviceAttributeWarpSize = 87,
827 #[doc = "< Device supports HIP Stream Ordered Memory Allocator"]
828 hipDeviceAttributeMemoryPoolsSupported = 88,
829 #[doc = "< Device supports HIP virtual memory management"]
830 hipDeviceAttributeVirtualMemoryManagementSupported = 89,
831 hipDeviceAttributeCudaCompatibleEnd = 9999,
832 hipDeviceAttributeAmdSpecificBegin = 10000,
833 #[doc = "< Device architecture"]
834 hipDeviceAttributeArch = 10001,
835 #[doc = "< Maximum Shared Memory PerMultiprocessor."]
836 hipDeviceAttributeMaxSharedMemoryPerMultiprocessor = 10002,
837 #[doc = "< Device gcn architecture"]
838 hipDeviceAttributeGcnArch = 10003,
839 #[doc = "< Device gcnArch name in 256 bytes"]
840 hipDeviceAttributeGcnArchName = 10004,
841 #[doc = "< Address of the HDP_MEM_COHERENCY_FLUSH_CNTL register"]
842 hipDeviceAttributeHdpMemFlushCntl = 10005,
843 #[doc = "< Address of the HDP_REG_COHERENCY_FLUSH_CNTL register"]
844 hipDeviceAttributeHdpRegFlushCntl = 10006,
845 #[doc = "< Supports cooperative launch on multiple\n< devices with unmatched functions"]
846 hipDeviceAttributeCooperativeMultiDeviceUnmatchedFunc = 10007,
847 #[doc = "< Supports cooperative launch on multiple\n< devices with unmatched grid dimensions"]
848 hipDeviceAttributeCooperativeMultiDeviceUnmatchedGridDim = 10008,
849 #[doc = "< Supports cooperative launch on multiple\n< devices with unmatched block dimensions"]
850 hipDeviceAttributeCooperativeMultiDeviceUnmatchedBlockDim = 10009,
851 #[doc = "< Supports cooperative launch on multiple\n< devices with unmatched shared memories"]
852 hipDeviceAttributeCooperativeMultiDeviceUnmatchedSharedMem = 10010,
853 #[doc = "< Whether it is LargeBar"]
854 hipDeviceAttributeIsLargeBar = 10011,
855 #[doc = "< Revision of the GPU in this device"]
856 hipDeviceAttributeAsicRevision = 10012,
857 #[doc = "< '1' if Device supports hipStreamWaitValue32() and\n< hipStreamWaitValue64(), '0' otherwise."]
858 hipDeviceAttributeCanUseStreamWaitValue = 10013,
859 #[doc = "< '1' if Device supports image, '0' otherwise."]
860 hipDeviceAttributeImageSupport = 10014,
861 #[doc = "< All available physical compute\n< units for the device"]
862 hipDeviceAttributePhysicalMultiProcessorCount = 10015,
863 #[doc = "< '1' if Device supports fine grain, '0' otherwise"]
864 hipDeviceAttributeFineGrainSupport = 10016,
865 #[doc = "< Constant frequency of wall clock in kilohertz."]
866 hipDeviceAttributeWallClockRate = 10017,
867 hipDeviceAttributeAmdSpecificEnd = 19999,
868 hipDeviceAttributeVendorSpecificBegin = 20000,
869}
870pub type hipDeviceptr_t = *mut ::std::os::raw::c_void;
871#[repr(u32)]
872#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
873pub enum hipChannelFormatKind {
874 hipChannelFormatKindSigned = 0,
875 hipChannelFormatKindUnsigned = 1,
876 hipChannelFormatKindFloat = 2,
877 hipChannelFormatKindNone = 3,
878}
879#[repr(C)]
880#[derive(Debug, Copy, Clone)]
881pub struct hipChannelFormatDesc {
882 pub x: ::std::os::raw::c_int,
883 pub y: ::std::os::raw::c_int,
884 pub z: ::std::os::raw::c_int,
885 pub w: ::std::os::raw::c_int,
886 pub f: hipChannelFormatKind,
887}
888#[repr(u32)]
889#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
890pub enum hipArray_Format {
891 HIP_AD_FORMAT_UNSIGNED_INT8 = 1,
892 HIP_AD_FORMAT_UNSIGNED_INT16 = 2,
893 HIP_AD_FORMAT_UNSIGNED_INT32 = 3,
894 HIP_AD_FORMAT_SIGNED_INT8 = 8,
895 HIP_AD_FORMAT_SIGNED_INT16 = 9,
896 HIP_AD_FORMAT_SIGNED_INT32 = 10,
897 HIP_AD_FORMAT_HALF = 16,
898 HIP_AD_FORMAT_FLOAT = 32,
899}
900#[repr(C)]
901#[derive(Debug, Copy, Clone)]
902pub struct HIP_ARRAY_DESCRIPTOR {
903 pub Width: usize,
904 pub Height: usize,
905 pub Format: hipArray_Format,
906 pub NumChannels: ::std::os::raw::c_uint,
907}
908#[repr(C)]
909#[derive(Debug, Copy, Clone)]
910pub struct HIP_ARRAY3D_DESCRIPTOR {
911 pub Width: usize,
912 pub Height: usize,
913 pub Depth: usize,
914 pub Format: hipArray_Format,
915 pub NumChannels: ::std::os::raw::c_uint,
916 pub Flags: ::std::os::raw::c_uint,
917}
918#[repr(C)]
919#[derive(Debug, Copy, Clone)]
920pub struct hipArray {
921 pub data: *mut ::std::os::raw::c_void,
922 pub desc: hipChannelFormatDesc,
923 pub type_: ::std::os::raw::c_uint,
924 pub width: ::std::os::raw::c_uint,
925 pub height: ::std::os::raw::c_uint,
926 pub depth: ::std::os::raw::c_uint,
927 pub Format: hipArray_Format,
928 pub NumChannels: ::std::os::raw::c_uint,
929 pub isDrv: bool,
930 pub textureType: ::std::os::raw::c_uint,
931}
932#[repr(C)]
933#[derive(Debug, Copy, Clone)]
934pub struct hip_Memcpy2D {
935 pub srcXInBytes: usize,
936 pub srcY: usize,
937 pub srcMemoryType: hipMemoryType,
938 pub srcHost: *const ::std::os::raw::c_void,
939 pub srcDevice: hipDeviceptr_t,
940 pub srcArray: *mut hipArray,
941 pub srcPitch: usize,
942 pub dstXInBytes: usize,
943 pub dstY: usize,
944 pub dstMemoryType: hipMemoryType,
945 pub dstHost: *mut ::std::os::raw::c_void,
946 pub dstDevice: hipDeviceptr_t,
947 pub dstArray: *mut hipArray,
948 pub dstPitch: usize,
949 pub WidthInBytes: usize,
950 pub Height: usize,
951}
952pub type hipArray_t = *mut hipArray;
953pub type hipArray_const_t = *const hipArray;
954#[repr(C)]
955#[derive(Debug, Copy, Clone)]
956pub struct hipMipmappedArray {
957 pub data: *mut ::std::os::raw::c_void,
958 pub desc: hipChannelFormatDesc,
959 pub type_: ::std::os::raw::c_uint,
960 pub width: ::std::os::raw::c_uint,
961 pub height: ::std::os::raw::c_uint,
962 pub depth: ::std::os::raw::c_uint,
963 pub min_mipmap_level: ::std::os::raw::c_uint,
964 pub max_mipmap_level: ::std::os::raw::c_uint,
965 pub flags: ::std::os::raw::c_uint,
966 pub format: hipArray_Format,
967}
968pub type hipMipmappedArray_t = *mut hipMipmappedArray;
969pub type hipMipmappedArray_const_t = *const hipMipmappedArray;
970#[repr(u32)]
971#[doc = " hip resource types"]
972#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
973pub enum hipResourceType {
974 hipResourceTypeArray = 0,
975 hipResourceTypeMipmappedArray = 1,
976 hipResourceTypeLinear = 2,
977 hipResourceTypePitch2D = 3,
978}
979#[repr(u32)]
980#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
981pub enum HIPresourcetype_enum {
982 #[doc = "< Array resoure"]
983 HIP_RESOURCE_TYPE_ARRAY = 0,
984 #[doc = "< Mipmapped array resource"]
985 HIP_RESOURCE_TYPE_MIPMAPPED_ARRAY = 1,
986 #[doc = "< Linear resource"]
987 HIP_RESOURCE_TYPE_LINEAR = 2,
988 #[doc = "< Pitch 2D resource"]
989 HIP_RESOURCE_TYPE_PITCH2D = 3,
990}
991pub use self::HIPresourcetype_enum as HIPresourcetype;
992#[repr(u32)]
993#[doc = " hip address modes"]
994#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
995pub enum HIPaddress_mode_enum {
996 HIP_TR_ADDRESS_MODE_WRAP = 0,
997 HIP_TR_ADDRESS_MODE_CLAMP = 1,
998 HIP_TR_ADDRESS_MODE_MIRROR = 2,
999 HIP_TR_ADDRESS_MODE_BORDER = 3,
1000}
1001#[doc = " hip address modes"]
1002pub use self::HIPaddress_mode_enum as HIPaddress_mode;
1003#[repr(u32)]
1004#[doc = " hip filter modes"]
1005#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1006pub enum HIPfilter_mode_enum {
1007 HIP_TR_FILTER_MODE_POINT = 0,
1008 HIP_TR_FILTER_MODE_LINEAR = 1,
1009}
1010#[doc = " hip filter modes"]
1011pub use self::HIPfilter_mode_enum as HIPfilter_mode;
1012#[doc = " Texture descriptor"]
1013#[repr(C)]
1014#[derive(Debug, Copy, Clone)]
1015pub struct HIP_TEXTURE_DESC_st {
1016 #[doc = "< Address modes"]
1017 pub addressMode: [HIPaddress_mode; 3usize],
1018 #[doc = "< Filter mode"]
1019 pub filterMode: HIPfilter_mode,
1020 #[doc = "< Flags"]
1021 pub flags: ::std::os::raw::c_uint,
1022 #[doc = "< Maximum anisotropy ratio"]
1023 pub maxAnisotropy: ::std::os::raw::c_uint,
1024 #[doc = "< Mipmap filter mode"]
1025 pub mipmapFilterMode: HIPfilter_mode,
1026 #[doc = "< Mipmap level bias"]
1027 pub mipmapLevelBias: f32,
1028 #[doc = "< Mipmap minimum level clamp"]
1029 pub minMipmapLevelClamp: f32,
1030 #[doc = "< Mipmap maximum level clamp"]
1031 pub maxMipmapLevelClamp: f32,
1032 #[doc = "< Border Color"]
1033 pub borderColor: [f32; 4usize],
1034 pub reserved: [::std::os::raw::c_int; 12usize],
1035}
1036#[doc = " Texture descriptor"]
1037pub type HIP_TEXTURE_DESC = HIP_TEXTURE_DESC_st;
1038#[repr(u32)]
1039#[doc = " hip texture resource view formats"]
1040#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1041pub enum hipResourceViewFormat {
1042 hipResViewFormatNone = 0,
1043 hipResViewFormatUnsignedChar1 = 1,
1044 hipResViewFormatUnsignedChar2 = 2,
1045 hipResViewFormatUnsignedChar4 = 3,
1046 hipResViewFormatSignedChar1 = 4,
1047 hipResViewFormatSignedChar2 = 5,
1048 hipResViewFormatSignedChar4 = 6,
1049 hipResViewFormatUnsignedShort1 = 7,
1050 hipResViewFormatUnsignedShort2 = 8,
1051 hipResViewFormatUnsignedShort4 = 9,
1052 hipResViewFormatSignedShort1 = 10,
1053 hipResViewFormatSignedShort2 = 11,
1054 hipResViewFormatSignedShort4 = 12,
1055 hipResViewFormatUnsignedInt1 = 13,
1056 hipResViewFormatUnsignedInt2 = 14,
1057 hipResViewFormatUnsignedInt4 = 15,
1058 hipResViewFormatSignedInt1 = 16,
1059 hipResViewFormatSignedInt2 = 17,
1060 hipResViewFormatSignedInt4 = 18,
1061 hipResViewFormatHalf1 = 19,
1062 hipResViewFormatHalf2 = 20,
1063 hipResViewFormatHalf4 = 21,
1064 hipResViewFormatFloat1 = 22,
1065 hipResViewFormatFloat2 = 23,
1066 hipResViewFormatFloat4 = 24,
1067 hipResViewFormatUnsignedBlockCompressed1 = 25,
1068 hipResViewFormatUnsignedBlockCompressed2 = 26,
1069 hipResViewFormatUnsignedBlockCompressed3 = 27,
1070 hipResViewFormatUnsignedBlockCompressed4 = 28,
1071 hipResViewFormatSignedBlockCompressed4 = 29,
1072 hipResViewFormatUnsignedBlockCompressed5 = 30,
1073 hipResViewFormatSignedBlockCompressed5 = 31,
1074 hipResViewFormatUnsignedBlockCompressed6H = 32,
1075 hipResViewFormatSignedBlockCompressed6H = 33,
1076 hipResViewFormatUnsignedBlockCompressed7 = 34,
1077}
1078#[repr(u32)]
1079#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1080pub enum HIPresourceViewFormat_enum {
1081 #[doc = "< No resource view format (use underlying resource format)"]
1082 HIP_RES_VIEW_FORMAT_NONE = 0,
1083 #[doc = "< 1 channel unsigned 8-bit integers"]
1084 HIP_RES_VIEW_FORMAT_UINT_1X8 = 1,
1085 #[doc = "< 2 channel unsigned 8-bit integers"]
1086 HIP_RES_VIEW_FORMAT_UINT_2X8 = 2,
1087 #[doc = "< 4 channel unsigned 8-bit integers"]
1088 HIP_RES_VIEW_FORMAT_UINT_4X8 = 3,
1089 #[doc = "< 1 channel signed 8-bit integers"]
1090 HIP_RES_VIEW_FORMAT_SINT_1X8 = 4,
1091 #[doc = "< 2 channel signed 8-bit integers"]
1092 HIP_RES_VIEW_FORMAT_SINT_2X8 = 5,
1093 #[doc = "< 4 channel signed 8-bit integers"]
1094 HIP_RES_VIEW_FORMAT_SINT_4X8 = 6,
1095 #[doc = "< 1 channel unsigned 16-bit integers"]
1096 HIP_RES_VIEW_FORMAT_UINT_1X16 = 7,
1097 #[doc = "< 2 channel unsigned 16-bit integers"]
1098 HIP_RES_VIEW_FORMAT_UINT_2X16 = 8,
1099 #[doc = "< 4 channel unsigned 16-bit integers"]
1100 HIP_RES_VIEW_FORMAT_UINT_4X16 = 9,
1101 #[doc = "< 1 channel signed 16-bit integers"]
1102 HIP_RES_VIEW_FORMAT_SINT_1X16 = 10,
1103 #[doc = "< 2 channel signed 16-bit integers"]
1104 HIP_RES_VIEW_FORMAT_SINT_2X16 = 11,
1105 #[doc = "< 4 channel signed 16-bit integers"]
1106 HIP_RES_VIEW_FORMAT_SINT_4X16 = 12,
1107 #[doc = "< 1 channel unsigned 32-bit integers"]
1108 HIP_RES_VIEW_FORMAT_UINT_1X32 = 13,
1109 #[doc = "< 2 channel unsigned 32-bit integers"]
1110 HIP_RES_VIEW_FORMAT_UINT_2X32 = 14,
1111 #[doc = "< 4 channel unsigned 32-bit integers"]
1112 HIP_RES_VIEW_FORMAT_UINT_4X32 = 15,
1113 #[doc = "< 1 channel signed 32-bit integers"]
1114 HIP_RES_VIEW_FORMAT_SINT_1X32 = 16,
1115 #[doc = "< 2 channel signed 32-bit integers"]
1116 HIP_RES_VIEW_FORMAT_SINT_2X32 = 17,
1117 #[doc = "< 4 channel signed 32-bit integers"]
1118 HIP_RES_VIEW_FORMAT_SINT_4X32 = 18,
1119 #[doc = "< 1 channel 16-bit floating point"]
1120 HIP_RES_VIEW_FORMAT_FLOAT_1X16 = 19,
1121 #[doc = "< 2 channel 16-bit floating point"]
1122 HIP_RES_VIEW_FORMAT_FLOAT_2X16 = 20,
1123 #[doc = "< 4 channel 16-bit floating point"]
1124 HIP_RES_VIEW_FORMAT_FLOAT_4X16 = 21,
1125 #[doc = "< 1 channel 32-bit floating point"]
1126 HIP_RES_VIEW_FORMAT_FLOAT_1X32 = 22,
1127 #[doc = "< 2 channel 32-bit floating point"]
1128 HIP_RES_VIEW_FORMAT_FLOAT_2X32 = 23,
1129 #[doc = "< 4 channel 32-bit floating point"]
1130 HIP_RES_VIEW_FORMAT_FLOAT_4X32 = 24,
1131 #[doc = "< Block compressed 1"]
1132 HIP_RES_VIEW_FORMAT_UNSIGNED_BC1 = 25,
1133 #[doc = "< Block compressed 2"]
1134 HIP_RES_VIEW_FORMAT_UNSIGNED_BC2 = 26,
1135 #[doc = "< Block compressed 3"]
1136 HIP_RES_VIEW_FORMAT_UNSIGNED_BC3 = 27,
1137 #[doc = "< Block compressed 4 unsigned"]
1138 HIP_RES_VIEW_FORMAT_UNSIGNED_BC4 = 28,
1139 #[doc = "< Block compressed 4 signed"]
1140 HIP_RES_VIEW_FORMAT_SIGNED_BC4 = 29,
1141 #[doc = "< Block compressed 5 unsigned"]
1142 HIP_RES_VIEW_FORMAT_UNSIGNED_BC5 = 30,
1143 #[doc = "< Block compressed 5 signed"]
1144 HIP_RES_VIEW_FORMAT_SIGNED_BC5 = 31,
1145 #[doc = "< Block compressed 6 unsigned half-float"]
1146 HIP_RES_VIEW_FORMAT_UNSIGNED_BC6H = 32,
1147 #[doc = "< Block compressed 6 signed half-float"]
1148 HIP_RES_VIEW_FORMAT_SIGNED_BC6H = 33,
1149 #[doc = "< Block compressed 7"]
1150 HIP_RES_VIEW_FORMAT_UNSIGNED_BC7 = 34,
1151}
1152pub use self::HIPresourceViewFormat_enum as HIPresourceViewFormat;
1153#[doc = " HIP resource descriptor"]
1154#[repr(C)]
1155#[derive(Copy, Clone)]
1156pub struct hipResourceDesc {
1157 pub resType: hipResourceType,
1158 pub res: hipResourceDesc__bindgen_ty_1,
1159}
1160#[repr(C)]
1161#[derive(Copy, Clone)]
1162pub union hipResourceDesc__bindgen_ty_1 {
1163 pub array: hipResourceDesc__bindgen_ty_1__bindgen_ty_1,
1164 pub mipmap: hipResourceDesc__bindgen_ty_1__bindgen_ty_2,
1165 pub linear: hipResourceDesc__bindgen_ty_1__bindgen_ty_3,
1166 pub pitch2D: hipResourceDesc__bindgen_ty_1__bindgen_ty_4,
1167}
1168#[repr(C)]
1169#[derive(Debug, Copy, Clone)]
1170pub struct hipResourceDesc__bindgen_ty_1__bindgen_ty_1 {
1171 pub array: hipArray_t,
1172}
1173#[repr(C)]
1174#[derive(Debug, Copy, Clone)]
1175pub struct hipResourceDesc__bindgen_ty_1__bindgen_ty_2 {
1176 pub mipmap: hipMipmappedArray_t,
1177}
1178#[repr(C)]
1179#[derive(Debug, Copy, Clone)]
1180pub struct hipResourceDesc__bindgen_ty_1__bindgen_ty_3 {
1181 pub devPtr: *mut ::std::os::raw::c_void,
1182 pub desc: hipChannelFormatDesc,
1183 pub sizeInBytes: usize,
1184}
1185#[repr(C)]
1186#[derive(Debug, Copy, Clone)]
1187pub struct hipResourceDesc__bindgen_ty_1__bindgen_ty_4 {
1188 pub devPtr: *mut ::std::os::raw::c_void,
1189 pub desc: hipChannelFormatDesc,
1190 pub width: usize,
1191 pub height: usize,
1192 pub pitchInBytes: usize,
1193}
1194#[repr(C)]
1195#[derive(Copy, Clone)]
1196pub struct HIP_RESOURCE_DESC_st {
1197 #[doc = "< Resource type"]
1198 pub resType: HIPresourcetype,
1199 pub res: HIP_RESOURCE_DESC_st__bindgen_ty_1,
1200 #[doc = "< Flags (must be zero)"]
1201 pub flags: ::std::os::raw::c_uint,
1202}
1203#[repr(C)]
1204#[derive(Copy, Clone)]
1205pub union HIP_RESOURCE_DESC_st__bindgen_ty_1 {
1206 pub array: HIP_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_1,
1207 pub mipmap: HIP_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_2,
1208 pub linear: HIP_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_3,
1209 pub pitch2D: HIP_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_4,
1210 pub reserved: HIP_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_5,
1211}
1212#[repr(C)]
1213#[derive(Debug, Copy, Clone)]
1214pub struct HIP_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_1 {
1215 #[doc = "< HIP array"]
1216 pub hArray: hipArray_t,
1217}
1218#[repr(C)]
1219#[derive(Debug, Copy, Clone)]
1220pub struct HIP_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_2 {
1221 #[doc = "< HIP mipmapped array"]
1222 pub hMipmappedArray: hipMipmappedArray_t,
1223}
1224#[repr(C)]
1225#[derive(Debug, Copy, Clone)]
1226pub struct HIP_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_3 {
1227 #[doc = "< Device pointer"]
1228 pub devPtr: hipDeviceptr_t,
1229 #[doc = "< Array format"]
1230 pub format: hipArray_Format,
1231 #[doc = "< Channels per array element"]
1232 pub numChannels: ::std::os::raw::c_uint,
1233 #[doc = "< Size in bytes"]
1234 pub sizeInBytes: usize,
1235}
1236#[repr(C)]
1237#[derive(Debug, Copy, Clone)]
1238pub struct HIP_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_4 {
1239 #[doc = "< Device pointer"]
1240 pub devPtr: hipDeviceptr_t,
1241 #[doc = "< Array format"]
1242 pub format: hipArray_Format,
1243 #[doc = "< Channels per array element"]
1244 pub numChannels: ::std::os::raw::c_uint,
1245 #[doc = "< Width of the array in elements"]
1246 pub width: usize,
1247 #[doc = "< Height of the array in elements"]
1248 pub height: usize,
1249 #[doc = "< Pitch between two rows in bytes"]
1250 pub pitchInBytes: usize,
1251}
1252#[repr(C)]
1253#[derive(Debug, Copy, Clone)]
1254pub struct HIP_RESOURCE_DESC_st__bindgen_ty_1__bindgen_ty_5 {
1255 pub reserved: [::std::os::raw::c_int; 32usize],
1256}
1257pub type HIP_RESOURCE_DESC = HIP_RESOURCE_DESC_st;
1258#[doc = " hip resource view descriptor"]
1259#[repr(C)]
1260#[derive(Debug, Copy, Clone)]
1261pub struct hipResourceViewDesc {
1262 pub format: hipResourceViewFormat,
1263 pub width: usize,
1264 pub height: usize,
1265 pub depth: usize,
1266 pub firstMipmapLevel: ::std::os::raw::c_uint,
1267 pub lastMipmapLevel: ::std::os::raw::c_uint,
1268 pub firstLayer: ::std::os::raw::c_uint,
1269 pub lastLayer: ::std::os::raw::c_uint,
1270}
1271#[doc = " Resource view descriptor"]
1272#[repr(C)]
1273#[derive(Debug, Copy, Clone)]
1274pub struct HIP_RESOURCE_VIEW_DESC_st {
1275 #[doc = "< Resource view format"]
1276 pub format: HIPresourceViewFormat,
1277 #[doc = "< Width of the resource view"]
1278 pub width: usize,
1279 #[doc = "< Height of the resource view"]
1280 pub height: usize,
1281 #[doc = "< Depth of the resource view"]
1282 pub depth: usize,
1283 #[doc = "< First defined mipmap level"]
1284 pub firstMipmapLevel: ::std::os::raw::c_uint,
1285 #[doc = "< Last defined mipmap level"]
1286 pub lastMipmapLevel: ::std::os::raw::c_uint,
1287 #[doc = "< First layer index"]
1288 pub firstLayer: ::std::os::raw::c_uint,
1289 #[doc = "< Last layer index"]
1290 pub lastLayer: ::std::os::raw::c_uint,
1291 pub reserved: [::std::os::raw::c_uint; 16usize],
1292}
1293#[doc = " Resource view descriptor"]
1294pub type HIP_RESOURCE_VIEW_DESC = HIP_RESOURCE_VIEW_DESC_st;
1295#[repr(u32)]
1296#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1297pub enum hipMemcpyKind {
1298 #[doc = "< Host-to-Host Copy"]
1299 hipMemcpyHostToHost = 0,
1300 #[doc = "< Host-to-Device Copy"]
1301 hipMemcpyHostToDevice = 1,
1302 #[doc = "< Device-to-Host Copy"]
1303 hipMemcpyDeviceToHost = 2,
1304 #[doc = "< Device-to-Device Copy"]
1305 hipMemcpyDeviceToDevice = 3,
1306 hipMemcpyDefault = 4,
1307}
1308#[repr(C)]
1309#[derive(Debug, Copy, Clone)]
1310pub struct hipPitchedPtr {
1311 pub ptr: *mut ::std::os::raw::c_void,
1312 pub pitch: usize,
1313 pub xsize: usize,
1314 pub ysize: usize,
1315}
1316#[repr(C)]
1317#[derive(Debug, Copy, Clone)]
1318pub struct hipExtent {
1319 pub width: usize,
1320 pub height: usize,
1321 pub depth: usize,
1322}
1323#[repr(C)]
1324#[derive(Debug, Copy, Clone)]
1325pub struct hipPos {
1326 pub x: usize,
1327 pub y: usize,
1328 pub z: usize,
1329}
1330#[repr(C)]
1331#[derive(Debug, Copy, Clone)]
1332pub struct hipMemcpy3DParms {
1333 pub srcArray: hipArray_t,
1334 pub srcPos: hipPos,
1335 pub srcPtr: hipPitchedPtr,
1336 pub dstArray: hipArray_t,
1337 pub dstPos: hipPos,
1338 pub dstPtr: hipPitchedPtr,
1339 pub extent: hipExtent,
1340 pub kind: hipMemcpyKind,
1341}
1342#[repr(C)]
1343#[derive(Debug, Copy, Clone)]
1344pub struct HIP_MEMCPY3D {
1345 pub srcXInBytes: ::std::os::raw::c_uint,
1346 pub srcY: ::std::os::raw::c_uint,
1347 pub srcZ: ::std::os::raw::c_uint,
1348 pub srcLOD: ::std::os::raw::c_uint,
1349 pub srcMemoryType: hipMemoryType,
1350 pub srcHost: *const ::std::os::raw::c_void,
1351 pub srcDevice: hipDeviceptr_t,
1352 pub srcArray: hipArray_t,
1353 pub srcPitch: ::std::os::raw::c_uint,
1354 pub srcHeight: ::std::os::raw::c_uint,
1355 pub dstXInBytes: ::std::os::raw::c_uint,
1356 pub dstY: ::std::os::raw::c_uint,
1357 pub dstZ: ::std::os::raw::c_uint,
1358 pub dstLOD: ::std::os::raw::c_uint,
1359 pub dstMemoryType: hipMemoryType,
1360 pub dstHost: *mut ::std::os::raw::c_void,
1361 pub dstDevice: hipDeviceptr_t,
1362 pub dstArray: hipArray_t,
1363 pub dstPitch: ::std::os::raw::c_uint,
1364 pub dstHeight: ::std::os::raw::c_uint,
1365 pub WidthInBytes: ::std::os::raw::c_uint,
1366 pub Height: ::std::os::raw::c_uint,
1367 pub Depth: ::std::os::raw::c_uint,
1368}
1369#[repr(u32)]
1370#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1371pub enum hipFunction_attribute {
1372 HIP_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 0,
1373 HIP_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES = 1,
1374 HIP_FUNC_ATTRIBUTE_CONST_SIZE_BYTES = 2,
1375 HIP_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES = 3,
1376 HIP_FUNC_ATTRIBUTE_NUM_REGS = 4,
1377 HIP_FUNC_ATTRIBUTE_PTX_VERSION = 5,
1378 HIP_FUNC_ATTRIBUTE_BINARY_VERSION = 6,
1379 HIP_FUNC_ATTRIBUTE_CACHE_MODE_CA = 7,
1380 HIP_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES = 8,
1381 HIP_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = 9,
1382 HIP_FUNC_ATTRIBUTE_MAX = 10,
1383}
1384#[repr(u32)]
1385#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1386pub enum hipPointer_attribute {
1387 #[doc = "< The context on which a pointer was allocated\n< @warning - not supported in HIP"]
1388 HIP_POINTER_ATTRIBUTE_CONTEXT = 1,
1389 #[doc = "< memory type describing location of a pointer"]
1390 HIP_POINTER_ATTRIBUTE_MEMORY_TYPE = 2,
1391 #[doc = "< address at which the pointer is allocated on device"]
1392 HIP_POINTER_ATTRIBUTE_DEVICE_POINTER = 3,
1393 #[doc = "< address at which the pointer is allocated on host"]
1394 HIP_POINTER_ATTRIBUTE_HOST_POINTER = 4,
1395 #[doc = "< A pair of tokens for use with linux kernel interface\n< @warning - not supported in HIP"]
1396 HIP_POINTER_ATTRIBUTE_P2P_TOKENS = 5,
1397 #[doc = "< Synchronize every synchronous memory operation\n< initiated on this region"]
1398 HIP_POINTER_ATTRIBUTE_SYNC_MEMOPS = 6,
1399 #[doc = "< Unique ID for an allocated memory region"]
1400 HIP_POINTER_ATTRIBUTE_BUFFER_ID = 7,
1401 #[doc = "< Indicates if the pointer points to managed memory"]
1402 HIP_POINTER_ATTRIBUTE_IS_MANAGED = 8,
1403 #[doc = "< device ordinal of a device on which a pointer\n< was allocated or registered"]
1404 HIP_POINTER_ATTRIBUTE_DEVICE_ORDINAL = 9,
1405 #[doc = "< if this pointer maps to an allocation\n< that is suitable for hipIpcGetMemHandle\n< @warning - not supported in HIP"]
1406 HIP_POINTER_ATTRIBUTE_IS_LEGACY_HIP_IPC_CAPABLE = 10,
1407 #[doc = "< Starting address for this requested pointer"]
1408 HIP_POINTER_ATTRIBUTE_RANGE_START_ADDR = 11,
1409 #[doc = "< Size of the address range for this requested pointer"]
1410 HIP_POINTER_ATTRIBUTE_RANGE_SIZE = 12,
1411 #[doc = "< tells if this pointer is in a valid address range\n< that is mapped to a backing allocation"]
1412 HIP_POINTER_ATTRIBUTE_MAPPED = 13,
1413 #[doc = "< Bitmask of allowed hipmemAllocationHandleType\n< for this allocation @warning - not supported in HIP"]
1414 HIP_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES = 14,
1415 #[doc = "< returns if the memory referenced by\n< this pointer can be used with the GPUDirect RDMA API\n< @warning - not supported in HIP"]
1416 HIP_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE = 15,
1417 #[doc = "< Returns the access flags the device associated with\n< for the corresponding memory referenced by the ptr"]
1418 HIP_POINTER_ATTRIBUTE_ACCESS_FLAGS = 16,
1419 #[doc = "< Returns the mempool handle for the allocation if\n< it was allocated from a mempool\n< @warning - not supported in HIP"]
1420 HIP_POINTER_ATTRIBUTE_MEMPOOL_HANDLE = 17,
1421}
1422#[doc = " An opaque value that represents a hip texture object"]
1423#[repr(C)]
1424#[derive(Debug, Copy, Clone)]
1425pub struct __hip_texture {
1426 _unused: [u8; 0],
1427}
1428pub type hipTextureObject_t = *mut __hip_texture;
1429#[repr(u32)]
1430#[doc = " hip texture address modes"]
1431#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1432pub enum hipTextureAddressMode {
1433 hipAddressModeWrap = 0,
1434 hipAddressModeClamp = 1,
1435 hipAddressModeMirror = 2,
1436 hipAddressModeBorder = 3,
1437}
1438#[repr(u32)]
1439#[doc = " hip texture filter modes"]
1440#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1441pub enum hipTextureFilterMode {
1442 hipFilterModePoint = 0,
1443 hipFilterModeLinear = 1,
1444}
1445#[repr(u32)]
1446#[doc = " hip texture read modes"]
1447#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1448pub enum hipTextureReadMode {
1449 hipReadModeElementType = 0,
1450 hipReadModeNormalizedFloat = 1,
1451}
1452#[doc = " hip texture reference"]
1453#[repr(C)]
1454#[derive(Debug, Copy, Clone)]
1455pub struct textureReference {
1456 pub normalized: ::std::os::raw::c_int,
1457 pub readMode: hipTextureReadMode,
1458 pub filterMode: hipTextureFilterMode,
1459 pub addressMode: [hipTextureAddressMode; 3usize],
1460 pub channelDesc: hipChannelFormatDesc,
1461 pub sRGB: ::std::os::raw::c_int,
1462 pub maxAnisotropy: ::std::os::raw::c_uint,
1463 pub mipmapFilterMode: hipTextureFilterMode,
1464 pub mipmapLevelBias: f32,
1465 pub minMipmapLevelClamp: f32,
1466 pub maxMipmapLevelClamp: f32,
1467 pub textureObject: hipTextureObject_t,
1468 pub numChannels: ::std::os::raw::c_int,
1469 pub format: hipArray_Format,
1470}
1471#[doc = " hip texture descriptor"]
1472#[repr(C)]
1473#[derive(Debug, Copy, Clone)]
1474pub struct hipTextureDesc {
1475 pub addressMode: [hipTextureAddressMode; 3usize],
1476 pub filterMode: hipTextureFilterMode,
1477 pub readMode: hipTextureReadMode,
1478 pub sRGB: ::std::os::raw::c_int,
1479 pub borderColor: [f32; 4usize],
1480 pub normalizedCoords: ::std::os::raw::c_int,
1481 pub maxAnisotropy: ::std::os::raw::c_uint,
1482 pub mipmapFilterMode: hipTextureFilterMode,
1483 pub mipmapLevelBias: f32,
1484 pub minMipmapLevelClamp: f32,
1485 pub maxMipmapLevelClamp: f32,
1486}
1487#[repr(C)]
1488#[derive(Debug, Copy, Clone)]
1489pub struct ihipCtx_t {
1490 _unused: [u8; 0],
1491}
1492pub type hipCtx_t = *mut ihipCtx_t;
1493pub type hipDevice_t = ::std::os::raw::c_int;
1494#[repr(u32)]
1495#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1496pub enum hipDeviceP2PAttr {
1497 hipDevP2PAttrPerformanceRank = 0,
1498 hipDevP2PAttrAccessSupported = 1,
1499 hipDevP2PAttrNativeAtomicSupported = 2,
1500 hipDevP2PAttrHipArrayAccessSupported = 3,
1501}
1502#[repr(C)]
1503#[derive(Debug, Copy, Clone)]
1504pub struct ihipStream_t {
1505 _unused: [u8; 0],
1506}
1507pub type hipStream_t = *mut ihipStream_t;
1508#[repr(C)]
1509#[derive(Debug, Copy, Clone)]
1510pub struct hipIpcMemHandle_st {
1511 pub reserved: [::std::os::raw::c_char; 64usize],
1512}
1513pub type hipIpcMemHandle_t = hipIpcMemHandle_st;
1514#[repr(C)]
1515#[derive(Debug, Copy, Clone)]
1516pub struct hipIpcEventHandle_st {
1517 pub reserved: [::std::os::raw::c_char; 64usize],
1518}
1519pub type hipIpcEventHandle_t = hipIpcEventHandle_st;
1520#[repr(C)]
1521#[derive(Debug, Copy, Clone)]
1522pub struct ihipModule_t {
1523 _unused: [u8; 0],
1524}
1525pub type hipModule_t = *mut ihipModule_t;
1526#[repr(C)]
1527#[derive(Debug, Copy, Clone)]
1528pub struct ihipModuleSymbol_t {
1529 _unused: [u8; 0],
1530}
1531pub type hipFunction_t = *mut ihipModuleSymbol_t;
1532#[repr(C)]
1533#[derive(Debug, Copy, Clone)]
1534pub struct ihipMemPoolHandle_t {
1535 _unused: [u8; 0],
1536}
1537#[doc = " HIP memory pool"]
1538pub type hipMemPool_t = *mut ihipMemPoolHandle_t;
1539#[repr(C)]
1540#[derive(Debug, Copy, Clone)]
1541pub struct hipFuncAttributes {
1542 pub binaryVersion: ::std::os::raw::c_int,
1543 pub cacheModeCA: ::std::os::raw::c_int,
1544 pub constSizeBytes: usize,
1545 pub localSizeBytes: usize,
1546 pub maxDynamicSharedSizeBytes: ::std::os::raw::c_int,
1547 pub maxThreadsPerBlock: ::std::os::raw::c_int,
1548 pub numRegs: ::std::os::raw::c_int,
1549 pub preferredShmemCarveout: ::std::os::raw::c_int,
1550 pub ptxVersion: ::std::os::raw::c_int,
1551 pub sharedSizeBytes: usize,
1552}
1553#[repr(C)]
1554#[derive(Debug, Copy, Clone)]
1555pub struct ihipEvent_t {
1556 _unused: [u8; 0],
1557}
1558pub type hipEvent_t = *mut ihipEvent_t;
1559#[repr(u32)]
1560#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1561pub enum hipLimit_t {
1562 hipLimitStackSize = 0,
1563 hipLimitPrintfFifoSize = 1,
1564 hipLimitMallocHeapSize = 2,
1565 hipLimitRange = 3,
1566}
1567#[repr(u32)]
1568#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1569pub enum hipMemoryAdvise {
1570 #[doc = "< Data will mostly be read and only occassionally\n< be written to"]
1571 hipMemAdviseSetReadMostly = 1,
1572 #[doc = "< Undo the effect of hipMemAdviseSetReadMostly"]
1573 hipMemAdviseUnsetReadMostly = 2,
1574 #[doc = "< Set the preferred location for the data as\n< the specified device"]
1575 hipMemAdviseSetPreferredLocation = 3,
1576 #[doc = "< Clear the preferred location for the data"]
1577 hipMemAdviseUnsetPreferredLocation = 4,
1578 #[doc = "< Data will be accessed by the specified device,\n< so prevent page faults as much as possible"]
1579 hipMemAdviseSetAccessedBy = 5,
1580 #[doc = "< Let HIP to decide on the page faulting policy\n< for the specified device"]
1581 hipMemAdviseUnsetAccessedBy = 6,
1582 #[doc = "< The default memory model is fine-grain. That allows\n< coherent operations between host and device, while\n< executing kernels. The coarse-grain can be used\n< for data that only needs to be coherent at dispatch\n< boundaries for better performance"]
1583 hipMemAdviseSetCoarseGrain = 100,
1584 #[doc = "< Restores cache coherency policy back to fine-grain"]
1585 hipMemAdviseUnsetCoarseGrain = 101,
1586}
1587#[repr(u32)]
1588#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1589pub enum hipMemRangeAttribute {
1590 #[doc = "< Whether the range will mostly be read and\n< only occassionally be written to"]
1591 hipMemRangeAttributeReadMostly = 1,
1592 #[doc = "< The preferred location of the range"]
1593 hipMemRangeAttributePreferredLocation = 2,
1594 #[doc = "< Memory range has hipMemAdviseSetAccessedBy\n< set for the specified device"]
1595 hipMemRangeAttributeAccessedBy = 3,
1596 #[doc = "< The last location to where the range was\n< prefetched"]
1597 hipMemRangeAttributeLastPrefetchLocation = 4,
1598 #[doc = "< Returns coherency mode\n< @ref hipMemRangeCoherencyMode for the range"]
1599 hipMemRangeAttributeCoherencyMode = 100,
1600}
1601#[repr(u32)]
1602#[doc = " @brief HIP memory pool attributes\n @enum\n @ingroup Enumerations"]
1603#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1604pub enum hipMemPoolAttr {
1605 #[doc = " (value type = int)\n Allow @p hipMemAllocAsync to use memory asynchronously freed\n in another streams as long as a stream ordering dependency\n of the allocating stream on the free action exists.\n hip events and null stream interactions can create the required\n stream ordered dependencies. (default enabled)"]
1606 hipMemPoolReuseFollowEventDependencies = 1,
1607 #[doc = " (value type = int)\n Allow reuse of already completed frees when there is no dependency\n between the free and allocation. (default enabled)"]
1608 hipMemPoolReuseAllowOpportunistic = 2,
1609 #[doc = " (value type = int)\n Allow @p hipMemAllocAsync to insert new stream dependencies\n in order to establish the stream ordering required to reuse\n a piece of memory released by cuFreeAsync (default enabled)."]
1610 hipMemPoolReuseAllowInternalDependencies = 3,
1611 #[doc = " (value type = uint64_t)\n Amount of reserved memory in bytes to hold onto before trying\n to release memory back to the OS. When more than the release\n threshold bytes of memory are held by the memory pool, the\n allocator will try to release memory back to the OS on the\n next call to stream, event or context synchronize. (default 0)"]
1612 hipMemPoolAttrReleaseThreshold = 4,
1613 #[doc = " (value type = uint64_t)\n Amount of backing memory currently allocated for the mempool."]
1614 hipMemPoolAttrReservedMemCurrent = 5,
1615 #[doc = " (value type = uint64_t)\n High watermark of backing memory allocated for the mempool since the\n last time it was reset. High watermark can only be reset to zero."]
1616 hipMemPoolAttrReservedMemHigh = 6,
1617 #[doc = " (value type = uint64_t)\n Amount of memory from the pool that is currently in use by the application."]
1618 hipMemPoolAttrUsedMemCurrent = 7,
1619 #[doc = " (value type = uint64_t)\n High watermark of the amount of memory from the pool that was in use by the application since\n the last time it was reset. High watermark can only be reset to zero."]
1620 hipMemPoolAttrUsedMemHigh = 8,
1621}
1622#[repr(u32)]
1623#[doc = " @brief Specifies the type of location\n @enum\n @ingroup Enumerations"]
1624#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1625pub enum hipMemLocationType {
1626 hipMemLocationTypeInvalid = 0,
1627 #[doc = "< Device location, thus it's HIP device ID"]
1628 hipMemLocationTypeDevice = 1,
1629}
1630#[doc = " Specifies a memory location.\n\n To specify a gpu, set type = @p hipMemLocationTypeDevice and set id = the gpu's device ID"]
1631#[repr(C)]
1632#[derive(Debug, Copy, Clone)]
1633pub struct hipMemLocation {
1634 #[doc = "< Specifies the location type, which describes the meaning of id"]
1635 pub type_: hipMemLocationType,
1636 #[doc = "< Identifier for the provided location type @p hipMemLocationType"]
1637 pub id: ::std::os::raw::c_int,
1638}
1639#[repr(u32)]
1640#[doc = " @brief Specifies the memory protection flags for mapping\n @enum\n @ingroup Enumerations"]
1641#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1642pub enum hipMemAccessFlags {
1643 #[doc = "< Default, make the address range not accessible"]
1644 hipMemAccessFlagsProtNone = 0,
1645 #[doc = "< Set the address range read accessible"]
1646 hipMemAccessFlagsProtRead = 1,
1647 #[doc = "< Set the address range read-write accessible"]
1648 hipMemAccessFlagsProtReadWrite = 3,
1649}
1650#[doc = " Memory access descriptor"]
1651#[repr(C)]
1652#[derive(Debug, Copy, Clone)]
1653pub struct hipMemAccessDesc {
1654 #[doc = "< Location on which the accessibility has to change"]
1655 pub location: hipMemLocation,
1656 #[doc = "< Accessibility flags to set"]
1657 pub flags: hipMemAccessFlags,
1658}
1659#[repr(u32)]
1660#[doc = " @brief Defines the allocation types\n @enum\n @ingroup Enumerations"]
1661#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1662pub enum hipMemAllocationType {
1663 hipMemAllocationTypeInvalid = 0,
1664 #[doc = " This allocation type is 'pinned', i.e. cannot migrate from its current\n location while the application is actively using it"]
1665 hipMemAllocationTypePinned = 1,
1666 #[doc = " This allocation type is 'pinned', i.e. cannot migrate from its current\n location while the application is actively using it"]
1667 hipMemAllocationTypeMax = 2147483647,
1668}
1669#[repr(u32)]
1670#[doc = " @brief Flags for specifying handle types for memory pool allocations\n @enum\n @ingroup Enumerations"]
1671#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1672pub enum hipMemAllocationHandleType {
1673 #[doc = "< Does not allow any export mechanism"]
1674 hipMemHandleTypeNone = 0,
1675 #[doc = "< Allows a file descriptor for exporting. Permitted only on POSIX systems"]
1676 hipMemHandleTypePosixFileDescriptor = 1,
1677 #[doc = "< Allows a Win32 NT handle for exporting. (HANDLE)"]
1678 hipMemHandleTypeWin32 = 2,
1679 #[doc = "< Allows a Win32 KMT handle for exporting. (D3DKMT_HANDLE)"]
1680 hipMemHandleTypeWin32Kmt = 4,
1681}
1682#[doc = " Specifies the properties of allocations made from the pool."]
1683#[repr(C)]
1684#[derive(Debug, Copy, Clone)]
1685pub struct hipMemPoolProps {
1686 #[doc = "< Allocation type. Currently must be specified as @p hipMemAllocationTypePinned"]
1687 pub allocType: hipMemAllocationType,
1688 #[doc = "< Handle types that will be supported by allocations from the pool"]
1689 pub handleTypes: hipMemAllocationHandleType,
1690 #[doc = "< Location where allocations should reside"]
1691 pub location: hipMemLocation,
1692 #[doc = " Windows-specific LPSECURITYATTRIBUTES required when @p hipMemHandleTypeWin32 is specified"]
1693 pub win32SecurityAttributes: *mut ::std::os::raw::c_void,
1694 #[doc = "< Reserved for future use, must be 0"]
1695 pub reserved: [::std::os::raw::c_uchar; 64usize],
1696}
1697#[doc = " Opaque data structure for exporting a pool allocation"]
1698#[repr(C)]
1699#[derive(Debug, Copy, Clone)]
1700pub struct hipMemPoolPtrExportData {
1701 pub reserved: [::std::os::raw::c_uchar; 64usize],
1702}
1703#[repr(u32)]
1704#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1705pub enum hipJitOption {
1706 hipJitOptionMaxRegisters = 0,
1707 hipJitOptionThreadsPerBlock = 1,
1708 hipJitOptionWallTime = 2,
1709 hipJitOptionInfoLogBuffer = 3,
1710 hipJitOptionInfoLogBufferSizeBytes = 4,
1711 hipJitOptionErrorLogBuffer = 5,
1712 hipJitOptionErrorLogBufferSizeBytes = 6,
1713 hipJitOptionOptimizationLevel = 7,
1714 hipJitOptionTargetFromContext = 8,
1715 hipJitOptionTarget = 9,
1716 hipJitOptionFallbackStrategy = 10,
1717 hipJitOptionGenerateDebugInfo = 11,
1718 hipJitOptionLogVerbose = 12,
1719 hipJitOptionGenerateLineInfo = 13,
1720 hipJitOptionCacheMode = 14,
1721 hipJitOptionSm3xOpt = 15,
1722 hipJitOptionFastCompile = 16,
1723 hipJitOptionNumOptions = 17,
1724}
1725#[repr(u32)]
1726#[doc = " @warning On AMD devices and some Nvidia devices, these hints and controls are ignored."]
1727#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1728pub enum hipFuncAttribute {
1729 hipFuncAttributeMaxDynamicSharedMemorySize = 8,
1730 hipFuncAttributePreferredSharedMemoryCarveout = 9,
1731 hipFuncAttributeMax = 10,
1732}
1733#[repr(u32)]
1734#[doc = " @warning On AMD devices and some Nvidia devices, these hints and controls are ignored."]
1735#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1736pub enum hipFuncCache_t {
1737 #[doc = "< no preference for shared memory or L1 (default)"]
1738 hipFuncCachePreferNone = 0,
1739 #[doc = "< prefer larger shared memory and smaller L1 cache"]
1740 hipFuncCachePreferShared = 1,
1741 #[doc = "< prefer larger L1 cache and smaller shared memory"]
1742 hipFuncCachePreferL1 = 2,
1743 #[doc = "< prefer equal size L1 cache and shared memory"]
1744 hipFuncCachePreferEqual = 3,
1745}
1746#[repr(u32)]
1747#[doc = " @warning On AMD devices and some Nvidia devices, these hints and controls are ignored."]
1748#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1749pub enum hipSharedMemConfig {
1750 #[doc = "< The compiler selects a device-specific value for the banking."]
1751 hipSharedMemBankSizeDefault = 0,
1752 #[doc = "< Shared mem is banked at 4-bytes intervals and performs best\n< when adjacent threads access data 4 bytes apart."]
1753 hipSharedMemBankSizeFourByte = 1,
1754 #[doc = "< Shared mem is banked at 8-byte intervals and performs best\n< when adjacent threads access data 4 bytes apart."]
1755 hipSharedMemBankSizeEightByte = 2,
1756}
1757#[doc = " Struct for data in 3D\n"]
1758#[repr(C)]
1759#[derive(Debug, Copy, Clone)]
1760pub struct dim3 {
1761 #[doc = "< x"]
1762 pub x: u32,
1763 #[doc = "< y"]
1764 pub y: u32,
1765 #[doc = "< z"]
1766 pub z: u32,
1767}
1768#[repr(C)]
1769#[derive(Debug, Copy, Clone)]
1770pub struct hipLaunchParams_t {
1771 #[doc = "< Device function symbol"]
1772 pub func: *mut ::std::os::raw::c_void,
1773 #[doc = "< Grid dimentions"]
1774 pub gridDim: dim3,
1775 #[doc = "< Block dimentions"]
1776 pub blockDim: dim3,
1777 #[doc = "< Arguments"]
1778 pub args: *mut *mut ::std::os::raw::c_void,
1779 #[doc = "< Shared memory"]
1780 pub sharedMem: usize,
1781 #[doc = "< Stream identifier"]
1782 pub stream: hipStream_t,
1783}
1784pub type hipLaunchParams = hipLaunchParams_t;
1785#[repr(u32)]
1786#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1787pub enum hipExternalMemoryHandleType_enum {
1788 hipExternalMemoryHandleTypeOpaqueFd = 1,
1789 hipExternalMemoryHandleTypeOpaqueWin32 = 2,
1790 hipExternalMemoryHandleTypeOpaqueWin32Kmt = 3,
1791 hipExternalMemoryHandleTypeD3D12Heap = 4,
1792 hipExternalMemoryHandleTypeD3D12Resource = 5,
1793 hipExternalMemoryHandleTypeD3D11Resource = 6,
1794 hipExternalMemoryHandleTypeD3D11ResourceKmt = 7,
1795}
1796pub use self::hipExternalMemoryHandleType_enum as hipExternalMemoryHandleType;
1797#[repr(C)]
1798#[derive(Copy, Clone)]
1799pub struct hipExternalMemoryHandleDesc_st {
1800 pub type_: hipExternalMemoryHandleType,
1801 pub handle: hipExternalMemoryHandleDesc_st__bindgen_ty_1,
1802 pub size: ::std::os::raw::c_ulonglong,
1803 pub flags: ::std::os::raw::c_uint,
1804}
1805#[repr(C)]
1806#[derive(Copy, Clone)]
1807pub union hipExternalMemoryHandleDesc_st__bindgen_ty_1 {
1808 pub fd: ::std::os::raw::c_int,
1809 pub win32: hipExternalMemoryHandleDesc_st__bindgen_ty_1__bindgen_ty_1,
1810}
1811#[repr(C)]
1812#[derive(Debug, Copy, Clone)]
1813pub struct hipExternalMemoryHandleDesc_st__bindgen_ty_1__bindgen_ty_1 {
1814 pub handle: *mut ::std::os::raw::c_void,
1815 pub name: *const ::std::os::raw::c_void,
1816}
1817pub type hipExternalMemoryHandleDesc = hipExternalMemoryHandleDesc_st;
1818#[repr(C)]
1819#[derive(Debug, Copy, Clone)]
1820pub struct hipExternalMemoryBufferDesc_st {
1821 pub offset: ::std::os::raw::c_ulonglong,
1822 pub size: ::std::os::raw::c_ulonglong,
1823 pub flags: ::std::os::raw::c_uint,
1824}
1825pub type hipExternalMemoryBufferDesc = hipExternalMemoryBufferDesc_st;
1826pub type hipExternalMemory_t = *mut ::std::os::raw::c_void;
1827#[repr(u32)]
1828#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1829pub enum hipExternalSemaphoreHandleType_enum {
1830 hipExternalSemaphoreHandleTypeOpaqueFd = 1,
1831 hipExternalSemaphoreHandleTypeOpaqueWin32 = 2,
1832 hipExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3,
1833 hipExternalSemaphoreHandleTypeD3D12Fence = 4,
1834}
1835pub use self::hipExternalSemaphoreHandleType_enum as hipExternalSemaphoreHandleType;
1836#[repr(C)]
1837#[derive(Copy, Clone)]
1838pub struct hipExternalSemaphoreHandleDesc_st {
1839 pub type_: hipExternalSemaphoreHandleType,
1840 pub handle: hipExternalSemaphoreHandleDesc_st__bindgen_ty_1,
1841 pub flags: ::std::os::raw::c_uint,
1842}
1843#[repr(C)]
1844#[derive(Copy, Clone)]
1845pub union hipExternalSemaphoreHandleDesc_st__bindgen_ty_1 {
1846 pub fd: ::std::os::raw::c_int,
1847 pub win32: hipExternalSemaphoreHandleDesc_st__bindgen_ty_1__bindgen_ty_1,
1848}
1849#[repr(C)]
1850#[derive(Debug, Copy, Clone)]
1851pub struct hipExternalSemaphoreHandleDesc_st__bindgen_ty_1__bindgen_ty_1 {
1852 pub handle: *mut ::std::os::raw::c_void,
1853 pub name: *const ::std::os::raw::c_void,
1854}
1855pub type hipExternalSemaphoreHandleDesc = hipExternalSemaphoreHandleDesc_st;
1856pub type hipExternalSemaphore_t = *mut ::std::os::raw::c_void;
1857#[repr(C)]
1858#[derive(Debug, Copy, Clone)]
1859pub struct hipExternalSemaphoreSignalParams_st {
1860 pub params: hipExternalSemaphoreSignalParams_st__bindgen_ty_1,
1861 pub flags: ::std::os::raw::c_uint,
1862 pub reserved: [::std::os::raw::c_uint; 16usize],
1863}
1864#[repr(C)]
1865#[derive(Debug, Copy, Clone)]
1866pub struct hipExternalSemaphoreSignalParams_st__bindgen_ty_1 {
1867 pub fence: hipExternalSemaphoreSignalParams_st__bindgen_ty_1__bindgen_ty_1,
1868 pub keyedMutex: hipExternalSemaphoreSignalParams_st__bindgen_ty_1__bindgen_ty_2,
1869 pub reserved: [::std::os::raw::c_uint; 12usize],
1870}
1871#[repr(C)]
1872#[derive(Debug, Copy, Clone)]
1873pub struct hipExternalSemaphoreSignalParams_st__bindgen_ty_1__bindgen_ty_1 {
1874 pub value: ::std::os::raw::c_ulonglong,
1875}
1876#[repr(C)]
1877#[derive(Debug, Copy, Clone)]
1878pub struct hipExternalSemaphoreSignalParams_st__bindgen_ty_1__bindgen_ty_2 {
1879 pub key: ::std::os::raw::c_ulonglong,
1880}
1881pub type hipExternalSemaphoreSignalParams = hipExternalSemaphoreSignalParams_st;
1882#[doc = " External semaphore wait parameters, compatible with driver type"]
1883#[repr(C)]
1884#[derive(Debug, Copy, Clone)]
1885pub struct hipExternalSemaphoreWaitParams_st {
1886 pub params: hipExternalSemaphoreWaitParams_st__bindgen_ty_1,
1887 pub flags: ::std::os::raw::c_uint,
1888 pub reserved: [::std::os::raw::c_uint; 16usize],
1889}
1890#[repr(C)]
1891#[derive(Debug, Copy, Clone)]
1892pub struct hipExternalSemaphoreWaitParams_st__bindgen_ty_1 {
1893 pub fence: hipExternalSemaphoreWaitParams_st__bindgen_ty_1__bindgen_ty_1,
1894 pub keyedMutex: hipExternalSemaphoreWaitParams_st__bindgen_ty_1__bindgen_ty_2,
1895 pub reserved: [::std::os::raw::c_uint; 10usize],
1896}
1897#[repr(C)]
1898#[derive(Debug, Copy, Clone)]
1899pub struct hipExternalSemaphoreWaitParams_st__bindgen_ty_1__bindgen_ty_1 {
1900 pub value: ::std::os::raw::c_ulonglong,
1901}
1902#[repr(C)]
1903#[derive(Debug, Copy, Clone)]
1904pub struct hipExternalSemaphoreWaitParams_st__bindgen_ty_1__bindgen_ty_2 {
1905 pub key: ::std::os::raw::c_ulonglong,
1906 pub timeoutMs: ::std::os::raw::c_uint,
1907}
1908#[doc = " External semaphore wait parameters, compatible with driver type"]
1909pub type hipExternalSemaphoreWaitParams = hipExternalSemaphoreWaitParams_st;
1910#[repr(u32)]
1911#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1912pub enum hipGLDeviceList {
1913 #[doc = "< All hip devices used by current OpenGL context."]
1914 hipGLDeviceListAll = 1,
1915 #[doc = "< Hip devices used by current OpenGL context in current\n< frame"]
1916 hipGLDeviceListCurrentFrame = 2,
1917 #[doc = "< Hip devices used by current OpenGL context in next\n< frame."]
1918 hipGLDeviceListNextFrame = 3,
1919}
1920#[repr(C)]
1921#[derive(Debug, Copy, Clone)]
1922pub struct _hipGraphicsResource {
1923 _unused: [u8; 0],
1924}
1925pub type hipGraphicsResource = _hipGraphicsResource;
1926pub type hipGraphicsResource_t = *mut hipGraphicsResource;
1927#[repr(C)]
1928#[derive(Debug, Copy, Clone)]
1929pub struct ihipGraph {
1930 _unused: [u8; 0],
1931}
1932#[doc = " An opaque value that represents a hip graph"]
1933pub type hipGraph_t = *mut ihipGraph;
1934#[repr(C)]
1935#[derive(Debug, Copy, Clone)]
1936pub struct hipGraphNode {
1937 _unused: [u8; 0],
1938}
1939#[doc = " An opaque value that represents a hip graph node"]
1940pub type hipGraphNode_t = *mut hipGraphNode;
1941#[repr(C)]
1942#[derive(Debug, Copy, Clone)]
1943pub struct hipGraphExec {
1944 _unused: [u8; 0],
1945}
1946#[doc = " An opaque value that represents a hip graph Exec"]
1947pub type hipGraphExec_t = *mut hipGraphExec;
1948#[repr(C)]
1949#[derive(Debug, Copy, Clone)]
1950pub struct hipUserObject {
1951 _unused: [u8; 0],
1952}
1953#[doc = " An opaque value that represents a user obj"]
1954pub type hipUserObject_t = *mut hipUserObject;
1955#[repr(u32)]
1956#[doc = " @brief hipGraphNodeType\n @enum\n"]
1957#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1958pub enum hipGraphNodeType {
1959 #[doc = "< GPU kernel node"]
1960 hipGraphNodeTypeKernel = 0,
1961 #[doc = "< Memcpy node"]
1962 hipGraphNodeTypeMemcpy = 1,
1963 #[doc = "< Memset node"]
1964 hipGraphNodeTypeMemset = 2,
1965 #[doc = "< Host (executable) node"]
1966 hipGraphNodeTypeHost = 3,
1967 #[doc = "< Node which executes an embedded graph"]
1968 hipGraphNodeTypeGraph = 4,
1969 #[doc = "< Empty (no-op) node"]
1970 hipGraphNodeTypeEmpty = 5,
1971 #[doc = "< External event wait node"]
1972 hipGraphNodeTypeWaitEvent = 6,
1973 #[doc = "< External event record node"]
1974 hipGraphNodeTypeEventRecord = 7,
1975 #[doc = "< External Semaphore signal node"]
1976 hipGraphNodeTypeExtSemaphoreSignal = 8,
1977 #[doc = "< External Semaphore wait node"]
1978 hipGraphNodeTypeExtSemaphoreWait = 9,
1979 #[doc = "< MemcpyFromSymbol node"]
1980 hipGraphNodeTypeMemcpyFromSymbol = 10,
1981 #[doc = "< MemcpyToSymbol node"]
1982 hipGraphNodeTypeMemcpyToSymbol = 11,
1983 hipGraphNodeTypeCount = 12,
1984}
1985pub type hipHostFn_t =
1986 ::std::option::Option<unsafe extern "C" fn(userData: *mut ::std::os::raw::c_void)>;
1987#[repr(C)]
1988#[derive(Debug, Copy, Clone)]
1989pub struct hipHostNodeParams {
1990 pub fn_: hipHostFn_t,
1991 pub userData: *mut ::std::os::raw::c_void,
1992}
1993#[repr(C)]
1994#[derive(Debug, Copy, Clone)]
1995pub struct hipKernelNodeParams {
1996 pub blockDim: dim3,
1997 pub extra: *mut *mut ::std::os::raw::c_void,
1998 pub func: *mut ::std::os::raw::c_void,
1999 pub gridDim: dim3,
2000 pub kernelParams: *mut *mut ::std::os::raw::c_void,
2001 pub sharedMemBytes: ::std::os::raw::c_uint,
2002}
2003#[repr(C)]
2004#[derive(Debug, Copy, Clone)]
2005pub struct hipMemsetParams {
2006 pub dst: *mut ::std::os::raw::c_void,
2007 pub elementSize: ::std::os::raw::c_uint,
2008 pub height: usize,
2009 pub pitch: usize,
2010 pub value: ::std::os::raw::c_uint,
2011 pub width: usize,
2012}
2013#[repr(u32)]
2014#[doc = " @brief hipKernelNodeAttrID\n @enum\n"]
2015#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2016pub enum hipKernelNodeAttrID {
2017 hipKernelNodeAttributeAccessPolicyWindow = 1,
2018 hipKernelNodeAttributeCooperative = 2,
2019}
2020#[repr(u32)]
2021#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2022pub enum hipAccessProperty {
2023 hipAccessPropertyNormal = 0,
2024 hipAccessPropertyStreaming = 1,
2025 hipAccessPropertyPersisting = 2,
2026}
2027#[repr(C)]
2028#[derive(Debug, Copy, Clone)]
2029pub struct hipAccessPolicyWindow {
2030 pub base_ptr: *mut ::std::os::raw::c_void,
2031 pub hitProp: hipAccessProperty,
2032 pub hitRatio: f32,
2033 pub missProp: hipAccessProperty,
2034 pub num_bytes: usize,
2035}
2036#[repr(C)]
2037#[derive(Copy, Clone)]
2038pub union hipKernelNodeAttrValue {
2039 pub accessPolicyWindow: hipAccessPolicyWindow,
2040 pub cooperative: ::std::os::raw::c_int,
2041}
2042#[repr(u32)]
2043#[doc = " @brief hipGraphExecUpdateResult\n @enum\n"]
2044#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2045pub enum hipGraphExecUpdateResult {
2046 #[doc = "< The update succeeded"]
2047 hipGraphExecUpdateSuccess = 0,
2048 #[doc = "< The update failed for an unexpected reason which is described\n< in the return value of the function"]
2049 hipGraphExecUpdateError = 1,
2050 #[doc = "< The update failed because the topology changed"]
2051 hipGraphExecUpdateErrorTopologyChanged = 2,
2052 #[doc = "< The update failed because a node type changed"]
2053 hipGraphExecUpdateErrorNodeTypeChanged = 3,
2054 hipGraphExecUpdateErrorFunctionChanged = 4,
2055 hipGraphExecUpdateErrorParametersChanged = 5,
2056 hipGraphExecUpdateErrorNotSupported = 6,
2057 hipGraphExecUpdateErrorUnsupportedFunctionChange = 7,
2058}
2059#[repr(u32)]
2060#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2061pub enum hipStreamCaptureMode {
2062 hipStreamCaptureModeGlobal = 0,
2063 hipStreamCaptureModeThreadLocal = 1,
2064 hipStreamCaptureModeRelaxed = 2,
2065}
2066#[repr(u32)]
2067#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2068pub enum hipStreamCaptureStatus {
2069 #[doc = "< Stream is not capturing"]
2070 hipStreamCaptureStatusNone = 0,
2071 #[doc = "< Stream is actively capturing"]
2072 hipStreamCaptureStatusActive = 1,
2073 #[doc = "< Stream is part of a capture sequence that has been\n< invalidated, but not terminated"]
2074 hipStreamCaptureStatusInvalidated = 2,
2075}
2076#[repr(u32)]
2077#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2078pub enum hipGraphMemAttributeType {
2079 #[doc = "< Amount of memory, in bytes, currently associated with graphs"]
2080 hipGraphMemAttrUsedMemCurrent = 0,
2081 #[doc = "< High watermark of memory, in bytes, associated with graphs since the last time."]
2082 hipGraphMemAttrUsedMemHigh = 1,
2083 #[doc = "< Amount of memory, in bytes, currently allocated for graphs."]
2084 hipGraphMemAttrReservedMemCurrent = 2,
2085 #[doc = "< High watermark of memory, in bytes, currently allocated for graphs"]
2086 hipGraphMemAttrReservedMemHigh = 3,
2087}
2088#[doc = " Memory allocation properties"]
2089#[repr(C)]
2090#[derive(Debug, Copy, Clone)]
2091pub struct hipMemAllocationProp {
2092 #[doc = "< Memory allocation type"]
2093 pub type_: hipMemAllocationType,
2094 #[doc = "< Requested handle type"]
2095 pub requestedHandleType: hipMemAllocationHandleType,
2096 #[doc = "< Memory location"]
2097 pub location: hipMemLocation,
2098 #[doc = "< Metadata for Win32 handles"]
2099 pub win32HandleMetaData: *mut ::std::os::raw::c_void,
2100 pub allocFlags: hipMemAllocationProp__bindgen_ty_1,
2101}
2102#[repr(C)]
2103#[derive(Debug, Copy, Clone)]
2104pub struct hipMemAllocationProp__bindgen_ty_1 {
2105 #[doc = "< Compression type"]
2106 pub compressionType: ::std::os::raw::c_uchar,
2107 #[doc = "< RDMA capable"]
2108 pub gpuDirectRDMACapable: ::std::os::raw::c_uchar,
2109 #[doc = "< Usage"]
2110 pub usage: ::std::os::raw::c_ushort,
2111}
2112#[repr(C)]
2113#[derive(Debug, Copy, Clone)]
2114pub struct ihipMemGenericAllocationHandle {
2115 _unused: [u8; 0],
2116}
2117#[doc = " Generic handle for memory allocation"]
2118pub type hipMemGenericAllocationHandle_t = *mut ihipMemGenericAllocationHandle;
2119#[repr(u32)]
2120#[doc = " @brief Flags for granularity\n @enum\n @ingroup Enumerations"]
2121#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2122pub enum hipMemAllocationGranularity_flags {
2123 #[doc = "< Minimum granularity"]
2124 hipMemAllocationGranularityMinimum = 0,
2125 #[doc = "< Recommended granularity for performance"]
2126 hipMemAllocationGranularityRecommended = 1,
2127}
2128#[repr(u32)]
2129#[doc = " @brief Memory handle type\n @enum\n @ingroup Enumerations"]
2130#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2131pub enum hipMemHandleType {
2132 #[doc = "< Generic handle type"]
2133 hipMemHandleTypeGeneric = 0,
2134}
2135#[repr(u32)]
2136#[doc = " @brief Memory operation types\n @enum\n @ingroup Enumerations"]
2137#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2138pub enum hipMemOperationType {
2139 #[doc = "< Map operation"]
2140 hipMemOperationTypeMap = 1,
2141 #[doc = "< Unmap operation"]
2142 hipMemOperationTypeUnmap = 2,
2143}
2144#[repr(u32)]
2145#[doc = " @brief Subresource types for sparse arrays\n @enum\n @ingroup Enumerations"]
2146#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2147pub enum hipArraySparseSubresourceType {
2148 #[doc = "< Sparse level"]
2149 hipArraySparseSubresourceTypeSparseLevel = 0,
2150 #[doc = "< Miptail"]
2151 hipArraySparseSubresourceTypeMiptail = 1,
2152}
2153#[doc = " Map info for arrays"]
2154#[repr(C)]
2155#[derive(Copy, Clone)]
2156pub struct hipArrayMapInfo {
2157 #[doc = "< Resource type"]
2158 pub resourceType: hipResourceType,
2159 pub resource: hipArrayMapInfo__bindgen_ty_1,
2160 #[doc = "< Sparse subresource type"]
2161 pub subresourceType: hipArraySparseSubresourceType,
2162 pub subresource: hipArrayMapInfo__bindgen_ty_2,
2163 #[doc = "< Memory operation type"]
2164 pub memOperationType: hipMemOperationType,
2165 #[doc = "< Memory handle type"]
2166 pub memHandleType: hipMemHandleType,
2167 pub memHandle: hipArrayMapInfo__bindgen_ty_3,
2168 #[doc = "< Offset within the memory"]
2169 pub offset: ::std::os::raw::c_ulonglong,
2170 #[doc = "< Device ordinal bit mask"]
2171 pub deviceBitMask: ::std::os::raw::c_uint,
2172 #[doc = "< flags for future use, must be zero now."]
2173 pub flags: ::std::os::raw::c_uint,
2174 #[doc = "< Reserved for future use, must be zero now."]
2175 pub reserved: [::std::os::raw::c_uint; 2usize],
2176}
2177#[repr(C)]
2178#[derive(Copy, Clone)]
2179pub union hipArrayMapInfo__bindgen_ty_1 {
2180 pub mipmap: hipMipmappedArray,
2181 pub array: hipArray_t,
2182}
2183#[repr(C)]
2184#[derive(Copy, Clone)]
2185pub union hipArrayMapInfo__bindgen_ty_2 {
2186 pub sparseLevel: hipArrayMapInfo__bindgen_ty_2__bindgen_ty_1,
2187 pub miptail: hipArrayMapInfo__bindgen_ty_2__bindgen_ty_2,
2188}
2189#[repr(C)]
2190#[derive(Debug, Copy, Clone)]
2191pub struct hipArrayMapInfo__bindgen_ty_2__bindgen_ty_1 {
2192 #[doc = "< For mipmapped arrays must be a valid mipmap level. For arrays must be zero"]
2193 pub level: ::std::os::raw::c_uint,
2194 #[doc = "< For layered arrays must be a valid layer index. Otherwise, must be zero"]
2195 pub layer: ::std::os::raw::c_uint,
2196 #[doc = "< X offset in elements"]
2197 pub offsetX: ::std::os::raw::c_uint,
2198 #[doc = "< Y offset in elements"]
2199 pub offsetY: ::std::os::raw::c_uint,
2200 #[doc = "< Z offset in elements"]
2201 pub offsetZ: ::std::os::raw::c_uint,
2202 #[doc = "< Width in elements"]
2203 pub extentWidth: ::std::os::raw::c_uint,
2204 #[doc = "< Height in elements"]
2205 pub extentHeight: ::std::os::raw::c_uint,
2206 #[doc = "< Depth in elements"]
2207 pub extentDepth: ::std::os::raw::c_uint,
2208}
2209#[repr(C)]
2210#[derive(Debug, Copy, Clone)]
2211pub struct hipArrayMapInfo__bindgen_ty_2__bindgen_ty_2 {
2212 #[doc = "< For layered arrays must be a valid layer index. Otherwise, must be zero"]
2213 pub layer: ::std::os::raw::c_uint,
2214 #[doc = "< Offset within mip tail"]
2215 pub offset: ::std::os::raw::c_ulonglong,
2216 #[doc = "< Extent in bytes"]
2217 pub size: ::std::os::raw::c_ulonglong,
2218}
2219#[repr(C)]
2220#[derive(Copy, Clone)]
2221pub union hipArrayMapInfo__bindgen_ty_3 {
2222 pub memHandle: hipMemGenericAllocationHandle_t,
2223}
2224#[doc = " Stream CallBack struct"]
2225pub type hipStreamCallback_t = ::std::option::Option<
2226 unsafe extern "C" fn(
2227 stream: hipStream_t,
2228 status: hipError_t,
2229 userData: *mut ::std::os::raw::c_void,
2230 ),
2231>;
2232#[doc = "-------------------------------------------------------------------------------------------------\n-------------------------------------------------------------------------------------------------\n @defgroup GL Interop\n @{\n This section describes Stream Memory Wait and Write functions of HIP runtime API."]
2233pub type GLuint = ::std::os::raw::c_uint;
2234pub type GLenum = ::std::os::raw::c_uint;
2235extern crate libloading;
2236pub struct hip {
2237 __library: ::libloading::Library,
2238 pub hipCreateChannelDesc: Result<
2239 unsafe extern "C" fn(
2240 x: ::std::os::raw::c_int,
2241 y: ::std::os::raw::c_int,
2242 z: ::std::os::raw::c_int,
2243 w: ::std::os::raw::c_int,
2244 f: hipChannelFormatKind,
2245 ) -> hipChannelFormatDesc,
2246 ::libloading::Error,
2247 >,
2248 pub hipInit: Result<
2249 unsafe extern "C" fn(flags: ::std::os::raw::c_uint) -> hipError_t,
2250 ::libloading::Error,
2251 >,
2252 pub hipDriverGetVersion: Result<
2253 unsafe extern "C" fn(driverVersion: *mut ::std::os::raw::c_int) -> hipError_t,
2254 ::libloading::Error,
2255 >,
2256 pub hipRuntimeGetVersion: Result<
2257 unsafe extern "C" fn(runtimeVersion: *mut ::std::os::raw::c_int) -> hipError_t,
2258 ::libloading::Error,
2259 >,
2260 pub hipDeviceGet: Result<
2261 unsafe extern "C" fn(
2262 device: *mut hipDevice_t,
2263 ordinal: ::std::os::raw::c_int,
2264 ) -> hipError_t,
2265 ::libloading::Error,
2266 >,
2267 pub hipDeviceComputeCapability: Result<
2268 unsafe extern "C" fn(
2269 major: *mut ::std::os::raw::c_int,
2270 minor: *mut ::std::os::raw::c_int,
2271 device: hipDevice_t,
2272 ) -> hipError_t,
2273 ::libloading::Error,
2274 >,
2275 pub hipDeviceGetName: Result<
2276 unsafe extern "C" fn(
2277 name: *mut ::std::os::raw::c_char,
2278 len: ::std::os::raw::c_int,
2279 device: hipDevice_t,
2280 ) -> hipError_t,
2281 ::libloading::Error,
2282 >,
2283 pub hipDeviceGetUuid: Result<
2284 unsafe extern "C" fn(uuid: *mut hipUUID, device: hipDevice_t) -> hipError_t,
2285 ::libloading::Error,
2286 >,
2287 pub hipDeviceGetP2PAttribute: Result<
2288 unsafe extern "C" fn(
2289 value: *mut ::std::os::raw::c_int,
2290 attr: hipDeviceP2PAttr,
2291 srcDevice: ::std::os::raw::c_int,
2292 dstDevice: ::std::os::raw::c_int,
2293 ) -> hipError_t,
2294 ::libloading::Error,
2295 >,
2296 pub hipDeviceGetPCIBusId: Result<
2297 unsafe extern "C" fn(
2298 pciBusId: *mut ::std::os::raw::c_char,
2299 len: ::std::os::raw::c_int,
2300 device: ::std::os::raw::c_int,
2301 ) -> hipError_t,
2302 ::libloading::Error,
2303 >,
2304 pub hipDeviceGetByPCIBusId: Result<
2305 unsafe extern "C" fn(
2306 device: *mut ::std::os::raw::c_int,
2307 pciBusId: *const ::std::os::raw::c_char,
2308 ) -> hipError_t,
2309 ::libloading::Error,
2310 >,
2311 pub hipDeviceTotalMem: Result<
2312 unsafe extern "C" fn(bytes: *mut usize, device: hipDevice_t) -> hipError_t,
2313 ::libloading::Error,
2314 >,
2315 pub hipDeviceSynchronize: Result<unsafe extern "C" fn() -> hipError_t, ::libloading::Error>,
2316 pub hipDeviceReset: Result<unsafe extern "C" fn() -> hipError_t, ::libloading::Error>,
2317 pub hipSetDevice: Result<
2318 unsafe extern "C" fn(deviceId: ::std::os::raw::c_int) -> hipError_t,
2319 ::libloading::Error,
2320 >,
2321 pub hipGetDevice: Result<
2322 unsafe extern "C" fn(deviceId: *mut ::std::os::raw::c_int) -> hipError_t,
2323 ::libloading::Error,
2324 >,
2325 pub hipGetDeviceCount: Result<
2326 unsafe extern "C" fn(count: *mut ::std::os::raw::c_int) -> hipError_t,
2327 ::libloading::Error,
2328 >,
2329 pub hipDeviceGetAttribute: Result<
2330 unsafe extern "C" fn(
2331 pi: *mut ::std::os::raw::c_int,
2332 attr: hipDeviceAttribute_t,
2333 deviceId: ::std::os::raw::c_int,
2334 ) -> hipError_t,
2335 ::libloading::Error,
2336 >,
2337 pub hipDeviceGetDefaultMemPool: Result<
2338 unsafe extern "C" fn(
2339 mem_pool: *mut hipMemPool_t,
2340 device: ::std::os::raw::c_int,
2341 ) -> hipError_t,
2342 ::libloading::Error,
2343 >,
2344 pub hipDeviceSetMemPool: Result<
2345 unsafe extern "C" fn(device: ::std::os::raw::c_int, mem_pool: hipMemPool_t) -> hipError_t,
2346 ::libloading::Error,
2347 >,
2348 pub hipDeviceGetMemPool: Result<
2349 unsafe extern "C" fn(
2350 mem_pool: *mut hipMemPool_t,
2351 device: ::std::os::raw::c_int,
2352 ) -> hipError_t,
2353 ::libloading::Error,
2354 >,
2355 pub hipGetDeviceProperties: Result<
2356 unsafe extern "C" fn(
2357 prop: *mut hipDeviceProp_t,
2358 deviceId: ::std::os::raw::c_int,
2359 ) -> hipError_t,
2360 ::libloading::Error,
2361 >,
2362 pub hipDeviceSetCacheConfig: Result<
2363 unsafe extern "C" fn(cacheConfig: hipFuncCache_t) -> hipError_t,
2364 ::libloading::Error,
2365 >,
2366 pub hipDeviceGetCacheConfig: Result<
2367 unsafe extern "C" fn(cacheConfig: *mut hipFuncCache_t) -> hipError_t,
2368 ::libloading::Error,
2369 >,
2370 pub hipDeviceGetLimit: Result<
2371 unsafe extern "C" fn(pValue: *mut usize, limit: hipLimit_t) -> hipError_t,
2372 ::libloading::Error,
2373 >,
2374 pub hipDeviceSetLimit: Result<
2375 unsafe extern "C" fn(limit: hipLimit_t, value: usize) -> hipError_t,
2376 ::libloading::Error,
2377 >,
2378 pub hipDeviceGetSharedMemConfig: Result<
2379 unsafe extern "C" fn(pConfig: *mut hipSharedMemConfig) -> hipError_t,
2380 ::libloading::Error,
2381 >,
2382 pub hipGetDeviceFlags: Result<
2383 unsafe extern "C" fn(flags: *mut ::std::os::raw::c_uint) -> hipError_t,
2384 ::libloading::Error,
2385 >,
2386 pub hipDeviceSetSharedMemConfig:
2387 Result<unsafe extern "C" fn(config: hipSharedMemConfig) -> hipError_t, ::libloading::Error>,
2388 pub hipSetDeviceFlags: Result<
2389 unsafe extern "C" fn(flags: ::std::os::raw::c_uint) -> hipError_t,
2390 ::libloading::Error,
2391 >,
2392 pub hipChooseDevice: Result<
2393 unsafe extern "C" fn(
2394 device: *mut ::std::os::raw::c_int,
2395 prop: *const hipDeviceProp_t,
2396 ) -> hipError_t,
2397 ::libloading::Error,
2398 >,
2399 pub hipExtGetLinkTypeAndHopCount: Result<
2400 unsafe extern "C" fn(
2401 device1: ::std::os::raw::c_int,
2402 device2: ::std::os::raw::c_int,
2403 linktype: *mut u32,
2404 hopcount: *mut u32,
2405 ) -> hipError_t,
2406 ::libloading::Error,
2407 >,
2408 pub hipIpcGetMemHandle: Result<
2409 unsafe extern "C" fn(
2410 handle: *mut hipIpcMemHandle_t,
2411 devPtr: *mut ::std::os::raw::c_void,
2412 ) -> hipError_t,
2413 ::libloading::Error,
2414 >,
2415 pub hipIpcOpenMemHandle: Result<
2416 unsafe extern "C" fn(
2417 devPtr: *mut *mut ::std::os::raw::c_void,
2418 handle: hipIpcMemHandle_t,
2419 flags: ::std::os::raw::c_uint,
2420 ) -> hipError_t,
2421 ::libloading::Error,
2422 >,
2423 pub hipIpcCloseMemHandle: Result<
2424 unsafe extern "C" fn(devPtr: *mut ::std::os::raw::c_void) -> hipError_t,
2425 ::libloading::Error,
2426 >,
2427 pub hipIpcGetEventHandle: Result<
2428 unsafe extern "C" fn(handle: *mut hipIpcEventHandle_t, event: hipEvent_t) -> hipError_t,
2429 ::libloading::Error,
2430 >,
2431 pub hipIpcOpenEventHandle: Result<
2432 unsafe extern "C" fn(event: *mut hipEvent_t, handle: hipIpcEventHandle_t) -> hipError_t,
2433 ::libloading::Error,
2434 >,
2435 pub hipFuncSetAttribute: Result<
2436 unsafe extern "C" fn(
2437 func: *const ::std::os::raw::c_void,
2438 attr: hipFuncAttribute,
2439 value: ::std::os::raw::c_int,
2440 ) -> hipError_t,
2441 ::libloading::Error,
2442 >,
2443 pub hipFuncSetCacheConfig: Result<
2444 unsafe extern "C" fn(
2445 func: *const ::std::os::raw::c_void,
2446 config: hipFuncCache_t,
2447 ) -> hipError_t,
2448 ::libloading::Error,
2449 >,
2450 pub hipFuncSetSharedMemConfig: Result<
2451 unsafe extern "C" fn(
2452 func: *const ::std::os::raw::c_void,
2453 config: hipSharedMemConfig,
2454 ) -> hipError_t,
2455 ::libloading::Error,
2456 >,
2457 pub hipGetLastError: Result<unsafe extern "C" fn() -> hipError_t, ::libloading::Error>,
2458 pub hipPeekAtLastError: Result<unsafe extern "C" fn() -> hipError_t, ::libloading::Error>,
2459 pub hipGetErrorName: Result<
2460 unsafe extern "C" fn(hip_error: hipError_t) -> *const ::std::os::raw::c_char,
2461 ::libloading::Error,
2462 >,
2463 pub hipGetErrorString: Result<
2464 unsafe extern "C" fn(hipError: hipError_t) -> *const ::std::os::raw::c_char,
2465 ::libloading::Error,
2466 >,
2467 pub hipDrvGetErrorName: Result<
2468 unsafe extern "C" fn(
2469 hipError: hipError_t,
2470 errorString: *mut *const ::std::os::raw::c_char,
2471 ) -> hipError_t,
2472 ::libloading::Error,
2473 >,
2474 pub hipDrvGetErrorString: Result<
2475 unsafe extern "C" fn(
2476 hipError: hipError_t,
2477 errorString: *mut *const ::std::os::raw::c_char,
2478 ) -> hipError_t,
2479 ::libloading::Error,
2480 >,
2481 pub hipStreamCreate:
2482 Result<unsafe extern "C" fn(stream: *mut hipStream_t) -> hipError_t, ::libloading::Error>,
2483 pub hipStreamCreateWithFlags: Result<
2484 unsafe extern "C" fn(stream: *mut hipStream_t, flags: ::std::os::raw::c_uint) -> hipError_t,
2485 ::libloading::Error,
2486 >,
2487 pub hipStreamCreateWithPriority: Result<
2488 unsafe extern "C" fn(
2489 stream: *mut hipStream_t,
2490 flags: ::std::os::raw::c_uint,
2491 priority: ::std::os::raw::c_int,
2492 ) -> hipError_t,
2493 ::libloading::Error,
2494 >,
2495 pub hipDeviceGetStreamPriorityRange: Result<
2496 unsafe extern "C" fn(
2497 leastPriority: *mut ::std::os::raw::c_int,
2498 greatestPriority: *mut ::std::os::raw::c_int,
2499 ) -> hipError_t,
2500 ::libloading::Error,
2501 >,
2502 pub hipStreamDestroy:
2503 Result<unsafe extern "C" fn(stream: hipStream_t) -> hipError_t, ::libloading::Error>,
2504 pub hipStreamQuery:
2505 Result<unsafe extern "C" fn(stream: hipStream_t) -> hipError_t, ::libloading::Error>,
2506 pub hipStreamSynchronize:
2507 Result<unsafe extern "C" fn(stream: hipStream_t) -> hipError_t, ::libloading::Error>,
2508 pub hipStreamWaitEvent: Result<
2509 unsafe extern "C" fn(
2510 stream: hipStream_t,
2511 event: hipEvent_t,
2512 flags: ::std::os::raw::c_uint,
2513 ) -> hipError_t,
2514 ::libloading::Error,
2515 >,
2516 pub hipStreamGetFlags: Result<
2517 unsafe extern "C" fn(stream: hipStream_t, flags: *mut ::std::os::raw::c_uint) -> hipError_t,
2518 ::libloading::Error,
2519 >,
2520 pub hipStreamGetPriority: Result<
2521 unsafe extern "C" fn(
2522 stream: hipStream_t,
2523 priority: *mut ::std::os::raw::c_int,
2524 ) -> hipError_t,
2525 ::libloading::Error,
2526 >,
2527 pub hipExtStreamCreateWithCUMask: Result<
2528 unsafe extern "C" fn(
2529 stream: *mut hipStream_t,
2530 cuMaskSize: u32,
2531 cuMask: *const u32,
2532 ) -> hipError_t,
2533 ::libloading::Error,
2534 >,
2535 pub hipExtStreamGetCUMask: Result<
2536 unsafe extern "C" fn(stream: hipStream_t, cuMaskSize: u32, cuMask: *mut u32) -> hipError_t,
2537 ::libloading::Error,
2538 >,
2539 pub hipStreamAddCallback: Result<
2540 unsafe extern "C" fn(
2541 stream: hipStream_t,
2542 callback: hipStreamCallback_t,
2543 userData: *mut ::std::os::raw::c_void,
2544 flags: ::std::os::raw::c_uint,
2545 ) -> hipError_t,
2546 ::libloading::Error,
2547 >,
2548 pub hipStreamWaitValue32: Result<
2549 unsafe extern "C" fn(
2550 stream: hipStream_t,
2551 ptr: *mut ::std::os::raw::c_void,
2552 value: u32,
2553 flags: ::std::os::raw::c_uint,
2554 mask: u32,
2555 ) -> hipError_t,
2556 ::libloading::Error,
2557 >,
2558 pub hipStreamWaitValue64: Result<
2559 unsafe extern "C" fn(
2560 stream: hipStream_t,
2561 ptr: *mut ::std::os::raw::c_void,
2562 value: u64,
2563 flags: ::std::os::raw::c_uint,
2564 mask: u64,
2565 ) -> hipError_t,
2566 ::libloading::Error,
2567 >,
2568 pub hipStreamWriteValue32: Result<
2569 unsafe extern "C" fn(
2570 stream: hipStream_t,
2571 ptr: *mut ::std::os::raw::c_void,
2572 value: u32,
2573 flags: ::std::os::raw::c_uint,
2574 ) -> hipError_t,
2575 ::libloading::Error,
2576 >,
2577 pub hipStreamWriteValue64: Result<
2578 unsafe extern "C" fn(
2579 stream: hipStream_t,
2580 ptr: *mut ::std::os::raw::c_void,
2581 value: u64,
2582 flags: ::std::os::raw::c_uint,
2583 ) -> hipError_t,
2584 ::libloading::Error,
2585 >,
2586 pub hipEventCreateWithFlags: Result<
2587 unsafe extern "C" fn(event: *mut hipEvent_t, flags: ::std::os::raw::c_uint) -> hipError_t,
2588 ::libloading::Error,
2589 >,
2590 pub hipEventCreate:
2591 Result<unsafe extern "C" fn(event: *mut hipEvent_t) -> hipError_t, ::libloading::Error>,
2592 pub hipEventRecord: Result<
2593 unsafe extern "C" fn(event: hipEvent_t, stream: hipStream_t) -> hipError_t,
2594 ::libloading::Error,
2595 >,
2596 pub hipEventDestroy:
2597 Result<unsafe extern "C" fn(event: hipEvent_t) -> hipError_t, ::libloading::Error>,
2598 pub hipEventSynchronize:
2599 Result<unsafe extern "C" fn(event: hipEvent_t) -> hipError_t, ::libloading::Error>,
2600 pub hipEventElapsedTime: Result<
2601 unsafe extern "C" fn(ms: *mut f32, start: hipEvent_t, stop: hipEvent_t) -> hipError_t,
2602 ::libloading::Error,
2603 >,
2604 pub hipEventQuery:
2605 Result<unsafe extern "C" fn(event: hipEvent_t) -> hipError_t, ::libloading::Error>,
2606 pub hipPointerGetAttributes: Result<
2607 unsafe extern "C" fn(
2608 attributes: *mut hipPointerAttribute_t,
2609 ptr: *const ::std::os::raw::c_void,
2610 ) -> hipError_t,
2611 ::libloading::Error,
2612 >,
2613 pub hipPointerGetAttribute: Result<
2614 unsafe extern "C" fn(
2615 data: *mut ::std::os::raw::c_void,
2616 attribute: hipPointer_attribute,
2617 ptr: hipDeviceptr_t,
2618 ) -> hipError_t,
2619 ::libloading::Error,
2620 >,
2621 pub hipDrvPointerGetAttributes: Result<
2622 unsafe extern "C" fn(
2623 numAttributes: ::std::os::raw::c_uint,
2624 attributes: *mut hipPointer_attribute,
2625 data: *mut *mut ::std::os::raw::c_void,
2626 ptr: hipDeviceptr_t,
2627 ) -> hipError_t,
2628 ::libloading::Error,
2629 >,
2630 pub hipImportExternalSemaphore: Result<
2631 unsafe extern "C" fn(
2632 extSem_out: *mut hipExternalSemaphore_t,
2633 semHandleDesc: *const hipExternalSemaphoreHandleDesc,
2634 ) -> hipError_t,
2635 ::libloading::Error,
2636 >,
2637 pub hipSignalExternalSemaphoresAsync: Result<
2638 unsafe extern "C" fn(
2639 extSemArray: *const hipExternalSemaphore_t,
2640 paramsArray: *const hipExternalSemaphoreSignalParams,
2641 numExtSems: ::std::os::raw::c_uint,
2642 stream: hipStream_t,
2643 ) -> hipError_t,
2644 ::libloading::Error,
2645 >,
2646 pub hipWaitExternalSemaphoresAsync: Result<
2647 unsafe extern "C" fn(
2648 extSemArray: *const hipExternalSemaphore_t,
2649 paramsArray: *const hipExternalSemaphoreWaitParams,
2650 numExtSems: ::std::os::raw::c_uint,
2651 stream: hipStream_t,
2652 ) -> hipError_t,
2653 ::libloading::Error,
2654 >,
2655 pub hipDestroyExternalSemaphore: Result<
2656 unsafe extern "C" fn(extSem: hipExternalSemaphore_t) -> hipError_t,
2657 ::libloading::Error,
2658 >,
2659 pub hipImportExternalMemory: Result<
2660 unsafe extern "C" fn(
2661 extMem_out: *mut hipExternalMemory_t,
2662 memHandleDesc: *const hipExternalMemoryHandleDesc,
2663 ) -> hipError_t,
2664 ::libloading::Error,
2665 >,
2666 pub hipExternalMemoryGetMappedBuffer: Result<
2667 unsafe extern "C" fn(
2668 devPtr: *mut *mut ::std::os::raw::c_void,
2669 extMem: hipExternalMemory_t,
2670 bufferDesc: *const hipExternalMemoryBufferDesc,
2671 ) -> hipError_t,
2672 ::libloading::Error,
2673 >,
2674 pub hipDestroyExternalMemory: Result<
2675 unsafe extern "C" fn(extMem: hipExternalMemory_t) -> hipError_t,
2676 ::libloading::Error,
2677 >,
2678 pub hipMalloc: Result<
2679 unsafe extern "C" fn(ptr: *mut *mut ::std::os::raw::c_void, size: usize) -> hipError_t,
2680 ::libloading::Error,
2681 >,
2682 pub hipExtMallocWithFlags: Result<
2683 unsafe extern "C" fn(
2684 ptr: *mut *mut ::std::os::raw::c_void,
2685 sizeBytes: usize,
2686 flags: ::std::os::raw::c_uint,
2687 ) -> hipError_t,
2688 ::libloading::Error,
2689 >,
2690 pub hipMallocHost: Result<
2691 unsafe extern "C" fn(ptr: *mut *mut ::std::os::raw::c_void, size: usize) -> hipError_t,
2692 ::libloading::Error,
2693 >,
2694 pub hipMemAllocHost: Result<
2695 unsafe extern "C" fn(ptr: *mut *mut ::std::os::raw::c_void, size: usize) -> hipError_t,
2696 ::libloading::Error,
2697 >,
2698 pub hipHostMalloc: Result<
2699 unsafe extern "C" fn(
2700 ptr: *mut *mut ::std::os::raw::c_void,
2701 size: usize,
2702 flags: ::std::os::raw::c_uint,
2703 ) -> hipError_t,
2704 ::libloading::Error,
2705 >,
2706 pub hipMallocManaged: Result<
2707 unsafe extern "C" fn(
2708 dev_ptr: *mut *mut ::std::os::raw::c_void,
2709 size: usize,
2710 flags: ::std::os::raw::c_uint,
2711 ) -> hipError_t,
2712 ::libloading::Error,
2713 >,
2714 pub hipMemPrefetchAsync: Result<
2715 unsafe extern "C" fn(
2716 dev_ptr: *const ::std::os::raw::c_void,
2717 count: usize,
2718 device: ::std::os::raw::c_int,
2719 stream: hipStream_t,
2720 ) -> hipError_t,
2721 ::libloading::Error,
2722 >,
2723 pub hipMemAdvise: Result<
2724 unsafe extern "C" fn(
2725 dev_ptr: *const ::std::os::raw::c_void,
2726 count: usize,
2727 advice: hipMemoryAdvise,
2728 device: ::std::os::raw::c_int,
2729 ) -> hipError_t,
2730 ::libloading::Error,
2731 >,
2732 pub hipMemRangeGetAttribute: Result<
2733 unsafe extern "C" fn(
2734 data: *mut ::std::os::raw::c_void,
2735 data_size: usize,
2736 attribute: hipMemRangeAttribute,
2737 dev_ptr: *const ::std::os::raw::c_void,
2738 count: usize,
2739 ) -> hipError_t,
2740 ::libloading::Error,
2741 >,
2742 pub hipMemRangeGetAttributes: Result<
2743 unsafe extern "C" fn(
2744 data: *mut *mut ::std::os::raw::c_void,
2745 data_sizes: *mut usize,
2746 attributes: *mut hipMemRangeAttribute,
2747 num_attributes: usize,
2748 dev_ptr: *const ::std::os::raw::c_void,
2749 count: usize,
2750 ) -> hipError_t,
2751 ::libloading::Error,
2752 >,
2753 pub hipStreamAttachMemAsync: Result<
2754 unsafe extern "C" fn(
2755 stream: hipStream_t,
2756 dev_ptr: *mut ::std::os::raw::c_void,
2757 length: usize,
2758 flags: ::std::os::raw::c_uint,
2759 ) -> hipError_t,
2760 ::libloading::Error,
2761 >,
2762 pub hipMallocAsync: Result<
2763 unsafe extern "C" fn(
2764 dev_ptr: *mut *mut ::std::os::raw::c_void,
2765 size: usize,
2766 stream: hipStream_t,
2767 ) -> hipError_t,
2768 ::libloading::Error,
2769 >,
2770 pub hipFreeAsync: Result<
2771 unsafe extern "C" fn(
2772 dev_ptr: *mut ::std::os::raw::c_void,
2773 stream: hipStream_t,
2774 ) -> hipError_t,
2775 ::libloading::Error,
2776 >,
2777 pub hipMemPoolTrimTo: Result<
2778 unsafe extern "C" fn(mem_pool: hipMemPool_t, min_bytes_to_hold: usize) -> hipError_t,
2779 ::libloading::Error,
2780 >,
2781 pub hipMemPoolSetAttribute: Result<
2782 unsafe extern "C" fn(
2783 mem_pool: hipMemPool_t,
2784 attr: hipMemPoolAttr,
2785 value: *mut ::std::os::raw::c_void,
2786 ) -> hipError_t,
2787 ::libloading::Error,
2788 >,
2789 pub hipMemPoolGetAttribute: Result<
2790 unsafe extern "C" fn(
2791 mem_pool: hipMemPool_t,
2792 attr: hipMemPoolAttr,
2793 value: *mut ::std::os::raw::c_void,
2794 ) -> hipError_t,
2795 ::libloading::Error,
2796 >,
2797 pub hipMemPoolSetAccess: Result<
2798 unsafe extern "C" fn(
2799 mem_pool: hipMemPool_t,
2800 desc_list: *const hipMemAccessDesc,
2801 count: usize,
2802 ) -> hipError_t,
2803 ::libloading::Error,
2804 >,
2805 pub hipMemPoolGetAccess: Result<
2806 unsafe extern "C" fn(
2807 flags: *mut hipMemAccessFlags,
2808 mem_pool: hipMemPool_t,
2809 location: *mut hipMemLocation,
2810 ) -> hipError_t,
2811 ::libloading::Error,
2812 >,
2813 pub hipMemPoolCreate: Result<
2814 unsafe extern "C" fn(
2815 mem_pool: *mut hipMemPool_t,
2816 pool_props: *const hipMemPoolProps,
2817 ) -> hipError_t,
2818 ::libloading::Error,
2819 >,
2820 pub hipMemPoolDestroy:
2821 Result<unsafe extern "C" fn(mem_pool: hipMemPool_t) -> hipError_t, ::libloading::Error>,
2822 pub hipMallocFromPoolAsync: Result<
2823 unsafe extern "C" fn(
2824 dev_ptr: *mut *mut ::std::os::raw::c_void,
2825 size: usize,
2826 mem_pool: hipMemPool_t,
2827 stream: hipStream_t,
2828 ) -> hipError_t,
2829 ::libloading::Error,
2830 >,
2831 pub hipMemPoolExportToShareableHandle: Result<
2832 unsafe extern "C" fn(
2833 shared_handle: *mut ::std::os::raw::c_void,
2834 mem_pool: hipMemPool_t,
2835 handle_type: hipMemAllocationHandleType,
2836 flags: ::std::os::raw::c_uint,
2837 ) -> hipError_t,
2838 ::libloading::Error,
2839 >,
2840 pub hipMemPoolImportFromShareableHandle: Result<
2841 unsafe extern "C" fn(
2842 mem_pool: *mut hipMemPool_t,
2843 shared_handle: *mut ::std::os::raw::c_void,
2844 handle_type: hipMemAllocationHandleType,
2845 flags: ::std::os::raw::c_uint,
2846 ) -> hipError_t,
2847 ::libloading::Error,
2848 >,
2849 pub hipMemPoolExportPointer: Result<
2850 unsafe extern "C" fn(
2851 export_data: *mut hipMemPoolPtrExportData,
2852 dev_ptr: *mut ::std::os::raw::c_void,
2853 ) -> hipError_t,
2854 ::libloading::Error,
2855 >,
2856 pub hipMemPoolImportPointer: Result<
2857 unsafe extern "C" fn(
2858 dev_ptr: *mut *mut ::std::os::raw::c_void,
2859 mem_pool: hipMemPool_t,
2860 export_data: *mut hipMemPoolPtrExportData,
2861 ) -> hipError_t,
2862 ::libloading::Error,
2863 >,
2864 pub hipHostAlloc: Result<
2865 unsafe extern "C" fn(
2866 ptr: *mut *mut ::std::os::raw::c_void,
2867 size: usize,
2868 flags: ::std::os::raw::c_uint,
2869 ) -> hipError_t,
2870 ::libloading::Error,
2871 >,
2872 pub hipHostGetDevicePointer: Result<
2873 unsafe extern "C" fn(
2874 devPtr: *mut *mut ::std::os::raw::c_void,
2875 hstPtr: *mut ::std::os::raw::c_void,
2876 flags: ::std::os::raw::c_uint,
2877 ) -> hipError_t,
2878 ::libloading::Error,
2879 >,
2880 pub hipHostGetFlags: Result<
2881 unsafe extern "C" fn(
2882 flagsPtr: *mut ::std::os::raw::c_uint,
2883 hostPtr: *mut ::std::os::raw::c_void,
2884 ) -> hipError_t,
2885 ::libloading::Error,
2886 >,
2887 pub hipHostRegister: Result<
2888 unsafe extern "C" fn(
2889 hostPtr: *mut ::std::os::raw::c_void,
2890 sizeBytes: usize,
2891 flags: ::std::os::raw::c_uint,
2892 ) -> hipError_t,
2893 ::libloading::Error,
2894 >,
2895 pub hipHostUnregister: Result<
2896 unsafe extern "C" fn(hostPtr: *mut ::std::os::raw::c_void) -> hipError_t,
2897 ::libloading::Error,
2898 >,
2899 pub hipMallocPitch: Result<
2900 unsafe extern "C" fn(
2901 ptr: *mut *mut ::std::os::raw::c_void,
2902 pitch: *mut usize,
2903 width: usize,
2904 height: usize,
2905 ) -> hipError_t,
2906 ::libloading::Error,
2907 >,
2908 pub hipMemAllocPitch: Result<
2909 unsafe extern "C" fn(
2910 dptr: *mut hipDeviceptr_t,
2911 pitch: *mut usize,
2912 widthInBytes: usize,
2913 height: usize,
2914 elementSizeBytes: ::std::os::raw::c_uint,
2915 ) -> hipError_t,
2916 ::libloading::Error,
2917 >,
2918 pub hipFree: Result<
2919 unsafe extern "C" fn(ptr: *mut ::std::os::raw::c_void) -> hipError_t,
2920 ::libloading::Error,
2921 >,
2922 pub hipFreeHost: Result<
2923 unsafe extern "C" fn(ptr: *mut ::std::os::raw::c_void) -> hipError_t,
2924 ::libloading::Error,
2925 >,
2926 pub hipHostFree: Result<
2927 unsafe extern "C" fn(ptr: *mut ::std::os::raw::c_void) -> hipError_t,
2928 ::libloading::Error,
2929 >,
2930 pub hipMemcpy: Result<
2931 unsafe extern "C" fn(
2932 dst: *mut ::std::os::raw::c_void,
2933 src: *const ::std::os::raw::c_void,
2934 sizeBytes: usize,
2935 kind: hipMemcpyKind,
2936 ) -> hipError_t,
2937 ::libloading::Error,
2938 >,
2939 pub hipMemcpyWithStream: Result<
2940 unsafe extern "C" fn(
2941 dst: *mut ::std::os::raw::c_void,
2942 src: *const ::std::os::raw::c_void,
2943 sizeBytes: usize,
2944 kind: hipMemcpyKind,
2945 stream: hipStream_t,
2946 ) -> hipError_t,
2947 ::libloading::Error,
2948 >,
2949 pub hipMemcpyHtoD: Result<
2950 unsafe extern "C" fn(
2951 dst: hipDeviceptr_t,
2952 src: *mut ::std::os::raw::c_void,
2953 sizeBytes: usize,
2954 ) -> hipError_t,
2955 ::libloading::Error,
2956 >,
2957 pub hipMemcpyDtoH: Result<
2958 unsafe extern "C" fn(
2959 dst: *mut ::std::os::raw::c_void,
2960 src: hipDeviceptr_t,
2961 sizeBytes: usize,
2962 ) -> hipError_t,
2963 ::libloading::Error,
2964 >,
2965 pub hipMemcpyDtoD: Result<
2966 unsafe extern "C" fn(
2967 dst: hipDeviceptr_t,
2968 src: hipDeviceptr_t,
2969 sizeBytes: usize,
2970 ) -> hipError_t,
2971 ::libloading::Error,
2972 >,
2973 pub hipMemcpyHtoDAsync: Result<
2974 unsafe extern "C" fn(
2975 dst: hipDeviceptr_t,
2976 src: *mut ::std::os::raw::c_void,
2977 sizeBytes: usize,
2978 stream: hipStream_t,
2979 ) -> hipError_t,
2980 ::libloading::Error,
2981 >,
2982 pub hipMemcpyDtoHAsync: Result<
2983 unsafe extern "C" fn(
2984 dst: *mut ::std::os::raw::c_void,
2985 src: hipDeviceptr_t,
2986 sizeBytes: usize,
2987 stream: hipStream_t,
2988 ) -> hipError_t,
2989 ::libloading::Error,
2990 >,
2991 pub hipMemcpyDtoDAsync: Result<
2992 unsafe extern "C" fn(
2993 dst: hipDeviceptr_t,
2994 src: hipDeviceptr_t,
2995 sizeBytes: usize,
2996 stream: hipStream_t,
2997 ) -> hipError_t,
2998 ::libloading::Error,
2999 >,
3000 pub hipModuleGetGlobal: Result<
3001 unsafe extern "C" fn(
3002 dptr: *mut hipDeviceptr_t,
3003 bytes: *mut usize,
3004 hmod: hipModule_t,
3005 name: *const ::std::os::raw::c_char,
3006 ) -> hipError_t,
3007 ::libloading::Error,
3008 >,
3009 pub hipGetSymbolAddress: Result<
3010 unsafe extern "C" fn(
3011 devPtr: *mut *mut ::std::os::raw::c_void,
3012 symbol: *const ::std::os::raw::c_void,
3013 ) -> hipError_t,
3014 ::libloading::Error,
3015 >,
3016 pub hipGetSymbolSize: Result<
3017 unsafe extern "C" fn(size: *mut usize, symbol: *const ::std::os::raw::c_void) -> hipError_t,
3018 ::libloading::Error,
3019 >,
3020 pub hipMemcpyToSymbol: Result<
3021 unsafe extern "C" fn(
3022 symbol: *const ::std::os::raw::c_void,
3023 src: *const ::std::os::raw::c_void,
3024 sizeBytes: usize,
3025 offset: usize,
3026 kind: hipMemcpyKind,
3027 ) -> hipError_t,
3028 ::libloading::Error,
3029 >,
3030 pub hipMemcpyToSymbolAsync: Result<
3031 unsafe extern "C" fn(
3032 symbol: *const ::std::os::raw::c_void,
3033 src: *const ::std::os::raw::c_void,
3034 sizeBytes: usize,
3035 offset: usize,
3036 kind: hipMemcpyKind,
3037 stream: hipStream_t,
3038 ) -> hipError_t,
3039 ::libloading::Error,
3040 >,
3041 pub hipMemcpyFromSymbol: Result<
3042 unsafe extern "C" fn(
3043 dst: *mut ::std::os::raw::c_void,
3044 symbol: *const ::std::os::raw::c_void,
3045 sizeBytes: usize,
3046 offset: usize,
3047 kind: hipMemcpyKind,
3048 ) -> hipError_t,
3049 ::libloading::Error,
3050 >,
3051 pub hipMemcpyFromSymbolAsync: Result<
3052 unsafe extern "C" fn(
3053 dst: *mut ::std::os::raw::c_void,
3054 symbol: *const ::std::os::raw::c_void,
3055 sizeBytes: usize,
3056 offset: usize,
3057 kind: hipMemcpyKind,
3058 stream: hipStream_t,
3059 ) -> hipError_t,
3060 ::libloading::Error,
3061 >,
3062 pub hipMemcpyAsync: Result<
3063 unsafe extern "C" fn(
3064 dst: *mut ::std::os::raw::c_void,
3065 src: *const ::std::os::raw::c_void,
3066 sizeBytes: usize,
3067 kind: hipMemcpyKind,
3068 stream: hipStream_t,
3069 ) -> hipError_t,
3070 ::libloading::Error,
3071 >,
3072 pub hipMemset: Result<
3073 unsafe extern "C" fn(
3074 dst: *mut ::std::os::raw::c_void,
3075 value: ::std::os::raw::c_int,
3076 sizeBytes: usize,
3077 ) -> hipError_t,
3078 ::libloading::Error,
3079 >,
3080 pub hipMemsetD8: Result<
3081 unsafe extern "C" fn(
3082 dest: hipDeviceptr_t,
3083 value: ::std::os::raw::c_uchar,
3084 count: usize,
3085 ) -> hipError_t,
3086 ::libloading::Error,
3087 >,
3088 pub hipMemsetD8Async: Result<
3089 unsafe extern "C" fn(
3090 dest: hipDeviceptr_t,
3091 value: ::std::os::raw::c_uchar,
3092 count: usize,
3093 stream: hipStream_t,
3094 ) -> hipError_t,
3095 ::libloading::Error,
3096 >,
3097 pub hipMemsetD16: Result<
3098 unsafe extern "C" fn(
3099 dest: hipDeviceptr_t,
3100 value: ::std::os::raw::c_ushort,
3101 count: usize,
3102 ) -> hipError_t,
3103 ::libloading::Error,
3104 >,
3105 pub hipMemsetD16Async: Result<
3106 unsafe extern "C" fn(
3107 dest: hipDeviceptr_t,
3108 value: ::std::os::raw::c_ushort,
3109 count: usize,
3110 stream: hipStream_t,
3111 ) -> hipError_t,
3112 ::libloading::Error,
3113 >,
3114 pub hipMemsetD32: Result<
3115 unsafe extern "C" fn(
3116 dest: hipDeviceptr_t,
3117 value: ::std::os::raw::c_int,
3118 count: usize,
3119 ) -> hipError_t,
3120 ::libloading::Error,
3121 >,
3122 pub hipMemsetAsync: Result<
3123 unsafe extern "C" fn(
3124 dst: *mut ::std::os::raw::c_void,
3125 value: ::std::os::raw::c_int,
3126 sizeBytes: usize,
3127 stream: hipStream_t,
3128 ) -> hipError_t,
3129 ::libloading::Error,
3130 >,
3131 pub hipMemsetD32Async: Result<
3132 unsafe extern "C" fn(
3133 dst: hipDeviceptr_t,
3134 value: ::std::os::raw::c_int,
3135 count: usize,
3136 stream: hipStream_t,
3137 ) -> hipError_t,
3138 ::libloading::Error,
3139 >,
3140 pub hipMemset2D: Result<
3141 unsafe extern "C" fn(
3142 dst: *mut ::std::os::raw::c_void,
3143 pitch: usize,
3144 value: ::std::os::raw::c_int,
3145 width: usize,
3146 height: usize,
3147 ) -> hipError_t,
3148 ::libloading::Error,
3149 >,
3150 pub hipMemset2DAsync: Result<
3151 unsafe extern "C" fn(
3152 dst: *mut ::std::os::raw::c_void,
3153 pitch: usize,
3154 value: ::std::os::raw::c_int,
3155 width: usize,
3156 height: usize,
3157 stream: hipStream_t,
3158 ) -> hipError_t,
3159 ::libloading::Error,
3160 >,
3161 pub hipMemset3D: Result<
3162 unsafe extern "C" fn(
3163 pitchedDevPtr: hipPitchedPtr,
3164 value: ::std::os::raw::c_int,
3165 extent: hipExtent,
3166 ) -> hipError_t,
3167 ::libloading::Error,
3168 >,
3169 pub hipMemset3DAsync: Result<
3170 unsafe extern "C" fn(
3171 pitchedDevPtr: hipPitchedPtr,
3172 value: ::std::os::raw::c_int,
3173 extent: hipExtent,
3174 stream: hipStream_t,
3175 ) -> hipError_t,
3176 ::libloading::Error,
3177 >,
3178 pub hipMemGetInfo: Result<
3179 unsafe extern "C" fn(free: *mut usize, total: *mut usize) -> hipError_t,
3180 ::libloading::Error,
3181 >,
3182 pub hipMemPtrGetInfo: Result<
3183 unsafe extern "C" fn(ptr: *mut ::std::os::raw::c_void, size: *mut usize) -> hipError_t,
3184 ::libloading::Error,
3185 >,
3186 pub hipMallocArray: Result<
3187 unsafe extern "C" fn(
3188 array: *mut *mut hipArray,
3189 desc: *const hipChannelFormatDesc,
3190 width: usize,
3191 height: usize,
3192 flags: ::std::os::raw::c_uint,
3193 ) -> hipError_t,
3194 ::libloading::Error,
3195 >,
3196 pub hipArrayCreate: Result<
3197 unsafe extern "C" fn(
3198 pHandle: *mut *mut hipArray,
3199 pAllocateArray: *const HIP_ARRAY_DESCRIPTOR,
3200 ) -> hipError_t,
3201 ::libloading::Error,
3202 >,
3203 pub hipArrayDestroy:
3204 Result<unsafe extern "C" fn(array: *mut hipArray) -> hipError_t, ::libloading::Error>,
3205 pub hipArray3DCreate: Result<
3206 unsafe extern "C" fn(
3207 array: *mut *mut hipArray,
3208 pAllocateArray: *const HIP_ARRAY3D_DESCRIPTOR,
3209 ) -> hipError_t,
3210 ::libloading::Error,
3211 >,
3212 pub hipMalloc3D: Result<
3213 unsafe extern "C" fn(pitchedDevPtr: *mut hipPitchedPtr, extent: hipExtent) -> hipError_t,
3214 ::libloading::Error,
3215 >,
3216 pub hipFreeArray:
3217 Result<unsafe extern "C" fn(array: *mut hipArray) -> hipError_t, ::libloading::Error>,
3218 pub hipFreeMipmappedArray: Result<
3219 unsafe extern "C" fn(mipmappedArray: hipMipmappedArray_t) -> hipError_t,
3220 ::libloading::Error,
3221 >,
3222 pub hipMalloc3DArray: Result<
3223 unsafe extern "C" fn(
3224 array: *mut *mut hipArray,
3225 desc: *const hipChannelFormatDesc,
3226 extent: hipExtent,
3227 flags: ::std::os::raw::c_uint,
3228 ) -> hipError_t,
3229 ::libloading::Error,
3230 >,
3231 pub hipMallocMipmappedArray: Result<
3232 unsafe extern "C" fn(
3233 mipmappedArray: *mut hipMipmappedArray_t,
3234 desc: *const hipChannelFormatDesc,
3235 extent: hipExtent,
3236 numLevels: ::std::os::raw::c_uint,
3237 flags: ::std::os::raw::c_uint,
3238 ) -> hipError_t,
3239 ::libloading::Error,
3240 >,
3241 pub hipGetMipmappedArrayLevel: Result<
3242 unsafe extern "C" fn(
3243 levelArray: *mut hipArray_t,
3244 mipmappedArray: hipMipmappedArray_const_t,
3245 level: ::std::os::raw::c_uint,
3246 ) -> hipError_t,
3247 ::libloading::Error,
3248 >,
3249 pub hipMemcpy2D: Result<
3250 unsafe extern "C" fn(
3251 dst: *mut ::std::os::raw::c_void,
3252 dpitch: usize,
3253 src: *const ::std::os::raw::c_void,
3254 spitch: usize,
3255 width: usize,
3256 height: usize,
3257 kind: hipMemcpyKind,
3258 ) -> hipError_t,
3259 ::libloading::Error,
3260 >,
3261 pub hipMemcpyParam2D:
3262 Result<unsafe extern "C" fn(pCopy: *const hip_Memcpy2D) -> hipError_t, ::libloading::Error>,
3263 pub hipMemcpyParam2DAsync: Result<
3264 unsafe extern "C" fn(pCopy: *const hip_Memcpy2D, stream: hipStream_t) -> hipError_t,
3265 ::libloading::Error,
3266 >,
3267 pub hipMemcpy2DAsync: Result<
3268 unsafe extern "C" fn(
3269 dst: *mut ::std::os::raw::c_void,
3270 dpitch: usize,
3271 src: *const ::std::os::raw::c_void,
3272 spitch: usize,
3273 width: usize,
3274 height: usize,
3275 kind: hipMemcpyKind,
3276 stream: hipStream_t,
3277 ) -> hipError_t,
3278 ::libloading::Error,
3279 >,
3280 pub hipMemcpy2DToArray: Result<
3281 unsafe extern "C" fn(
3282 dst: *mut hipArray,
3283 wOffset: usize,
3284 hOffset: usize,
3285 src: *const ::std::os::raw::c_void,
3286 spitch: usize,
3287 width: usize,
3288 height: usize,
3289 kind: hipMemcpyKind,
3290 ) -> hipError_t,
3291 ::libloading::Error,
3292 >,
3293 pub hipMemcpy2DToArrayAsync: Result<
3294 unsafe extern "C" fn(
3295 dst: *mut hipArray,
3296 wOffset: usize,
3297 hOffset: usize,
3298 src: *const ::std::os::raw::c_void,
3299 spitch: usize,
3300 width: usize,
3301 height: usize,
3302 kind: hipMemcpyKind,
3303 stream: hipStream_t,
3304 ) -> hipError_t,
3305 ::libloading::Error,
3306 >,
3307 pub hipMemcpyToArray: Result<
3308 unsafe extern "C" fn(
3309 dst: *mut hipArray,
3310 wOffset: usize,
3311 hOffset: usize,
3312 src: *const ::std::os::raw::c_void,
3313 count: usize,
3314 kind: hipMemcpyKind,
3315 ) -> hipError_t,
3316 ::libloading::Error,
3317 >,
3318 pub hipMemcpyFromArray: Result<
3319 unsafe extern "C" fn(
3320 dst: *mut ::std::os::raw::c_void,
3321 srcArray: hipArray_const_t,
3322 wOffset: usize,
3323 hOffset: usize,
3324 count: usize,
3325 kind: hipMemcpyKind,
3326 ) -> hipError_t,
3327 ::libloading::Error,
3328 >,
3329 pub hipMemcpy2DFromArray: Result<
3330 unsafe extern "C" fn(
3331 dst: *mut ::std::os::raw::c_void,
3332 dpitch: usize,
3333 src: hipArray_const_t,
3334 wOffset: usize,
3335 hOffset: usize,
3336 width: usize,
3337 height: usize,
3338 kind: hipMemcpyKind,
3339 ) -> hipError_t,
3340 ::libloading::Error,
3341 >,
3342 pub hipMemcpy2DFromArrayAsync: Result<
3343 unsafe extern "C" fn(
3344 dst: *mut ::std::os::raw::c_void,
3345 dpitch: usize,
3346 src: hipArray_const_t,
3347 wOffset: usize,
3348 hOffset: usize,
3349 width: usize,
3350 height: usize,
3351 kind: hipMemcpyKind,
3352 stream: hipStream_t,
3353 ) -> hipError_t,
3354 ::libloading::Error,
3355 >,
3356 pub hipMemcpyAtoH: Result<
3357 unsafe extern "C" fn(
3358 dst: *mut ::std::os::raw::c_void,
3359 srcArray: *mut hipArray,
3360 srcOffset: usize,
3361 count: usize,
3362 ) -> hipError_t,
3363 ::libloading::Error,
3364 >,
3365 pub hipMemcpyHtoA: Result<
3366 unsafe extern "C" fn(
3367 dstArray: *mut hipArray,
3368 dstOffset: usize,
3369 srcHost: *const ::std::os::raw::c_void,
3370 count: usize,
3371 ) -> hipError_t,
3372 ::libloading::Error,
3373 >,
3374 pub hipMemcpy3D:
3375 Result<unsafe extern "C" fn(p: *const hipMemcpy3DParms) -> hipError_t, ::libloading::Error>,
3376 pub hipMemcpy3DAsync: Result<
3377 unsafe extern "C" fn(p: *const hipMemcpy3DParms, stream: hipStream_t) -> hipError_t,
3378 ::libloading::Error,
3379 >,
3380 pub hipDrvMemcpy3D:
3381 Result<unsafe extern "C" fn(pCopy: *const HIP_MEMCPY3D) -> hipError_t, ::libloading::Error>,
3382 pub hipDrvMemcpy3DAsync: Result<
3383 unsafe extern "C" fn(pCopy: *const HIP_MEMCPY3D, stream: hipStream_t) -> hipError_t,
3384 ::libloading::Error,
3385 >,
3386 pub hipDeviceCanAccessPeer: Result<
3387 unsafe extern "C" fn(
3388 canAccessPeer: *mut ::std::os::raw::c_int,
3389 deviceId: ::std::os::raw::c_int,
3390 peerDeviceId: ::std::os::raw::c_int,
3391 ) -> hipError_t,
3392 ::libloading::Error,
3393 >,
3394 pub hipDeviceEnablePeerAccess: Result<
3395 unsafe extern "C" fn(
3396 peerDeviceId: ::std::os::raw::c_int,
3397 flags: ::std::os::raw::c_uint,
3398 ) -> hipError_t,
3399 ::libloading::Error,
3400 >,
3401 pub hipDeviceDisablePeerAccess: Result<
3402 unsafe extern "C" fn(peerDeviceId: ::std::os::raw::c_int) -> hipError_t,
3403 ::libloading::Error,
3404 >,
3405 pub hipMemGetAddressRange: Result<
3406 unsafe extern "C" fn(
3407 pbase: *mut hipDeviceptr_t,
3408 psize: *mut usize,
3409 dptr: hipDeviceptr_t,
3410 ) -> hipError_t,
3411 ::libloading::Error,
3412 >,
3413 pub hipMemcpyPeer: Result<
3414 unsafe extern "C" fn(
3415 dst: *mut ::std::os::raw::c_void,
3416 dstDeviceId: ::std::os::raw::c_int,
3417 src: *const ::std::os::raw::c_void,
3418 srcDeviceId: ::std::os::raw::c_int,
3419 sizeBytes: usize,
3420 ) -> hipError_t,
3421 ::libloading::Error,
3422 >,
3423 pub hipMemcpyPeerAsync: Result<
3424 unsafe extern "C" fn(
3425 dst: *mut ::std::os::raw::c_void,
3426 dstDeviceId: ::std::os::raw::c_int,
3427 src: *const ::std::os::raw::c_void,
3428 srcDevice: ::std::os::raw::c_int,
3429 sizeBytes: usize,
3430 stream: hipStream_t,
3431 ) -> hipError_t,
3432 ::libloading::Error,
3433 >,
3434 pub hipCtxCreate: Result<
3435 unsafe extern "C" fn(
3436 ctx: *mut hipCtx_t,
3437 flags: ::std::os::raw::c_uint,
3438 device: hipDevice_t,
3439 ) -> hipError_t,
3440 ::libloading::Error,
3441 >,
3442 pub hipCtxDestroy:
3443 Result<unsafe extern "C" fn(ctx: hipCtx_t) -> hipError_t, ::libloading::Error>,
3444 pub hipCtxPopCurrent:
3445 Result<unsafe extern "C" fn(ctx: *mut hipCtx_t) -> hipError_t, ::libloading::Error>,
3446 pub hipCtxPushCurrent:
3447 Result<unsafe extern "C" fn(ctx: hipCtx_t) -> hipError_t, ::libloading::Error>,
3448 pub hipCtxSetCurrent:
3449 Result<unsafe extern "C" fn(ctx: hipCtx_t) -> hipError_t, ::libloading::Error>,
3450 pub hipCtxGetCurrent:
3451 Result<unsafe extern "C" fn(ctx: *mut hipCtx_t) -> hipError_t, ::libloading::Error>,
3452 pub hipCtxGetDevice:
3453 Result<unsafe extern "C" fn(device: *mut hipDevice_t) -> hipError_t, ::libloading::Error>,
3454 pub hipCtxGetApiVersion: Result<
3455 unsafe extern "C" fn(ctx: hipCtx_t, apiVersion: *mut ::std::os::raw::c_int) -> hipError_t,
3456 ::libloading::Error,
3457 >,
3458 pub hipCtxGetCacheConfig: Result<
3459 unsafe extern "C" fn(cacheConfig: *mut hipFuncCache_t) -> hipError_t,
3460 ::libloading::Error,
3461 >,
3462 pub hipCtxSetCacheConfig: Result<
3463 unsafe extern "C" fn(cacheConfig: hipFuncCache_t) -> hipError_t,
3464 ::libloading::Error,
3465 >,
3466 pub hipCtxSetSharedMemConfig:
3467 Result<unsafe extern "C" fn(config: hipSharedMemConfig) -> hipError_t, ::libloading::Error>,
3468 pub hipCtxGetSharedMemConfig: Result<
3469 unsafe extern "C" fn(pConfig: *mut hipSharedMemConfig) -> hipError_t,
3470 ::libloading::Error,
3471 >,
3472 pub hipCtxSynchronize: Result<unsafe extern "C" fn() -> hipError_t, ::libloading::Error>,
3473 pub hipCtxGetFlags: Result<
3474 unsafe extern "C" fn(flags: *mut ::std::os::raw::c_uint) -> hipError_t,
3475 ::libloading::Error,
3476 >,
3477 pub hipCtxEnablePeerAccess: Result<
3478 unsafe extern "C" fn(peerCtx: hipCtx_t, flags: ::std::os::raw::c_uint) -> hipError_t,
3479 ::libloading::Error,
3480 >,
3481 pub hipCtxDisablePeerAccess:
3482 Result<unsafe extern "C" fn(peerCtx: hipCtx_t) -> hipError_t, ::libloading::Error>,
3483 pub hipDevicePrimaryCtxGetState: Result<
3484 unsafe extern "C" fn(
3485 dev: hipDevice_t,
3486 flags: *mut ::std::os::raw::c_uint,
3487 active: *mut ::std::os::raw::c_int,
3488 ) -> hipError_t,
3489 ::libloading::Error,
3490 >,
3491 pub hipDevicePrimaryCtxRelease:
3492 Result<unsafe extern "C" fn(dev: hipDevice_t) -> hipError_t, ::libloading::Error>,
3493 pub hipDevicePrimaryCtxRetain: Result<
3494 unsafe extern "C" fn(pctx: *mut hipCtx_t, dev: hipDevice_t) -> hipError_t,
3495 ::libloading::Error,
3496 >,
3497 pub hipDevicePrimaryCtxReset:
3498 Result<unsafe extern "C" fn(dev: hipDevice_t) -> hipError_t, ::libloading::Error>,
3499 pub hipDevicePrimaryCtxSetFlags: Result<
3500 unsafe extern "C" fn(dev: hipDevice_t, flags: ::std::os::raw::c_uint) -> hipError_t,
3501 ::libloading::Error,
3502 >,
3503 pub hipModuleLoad: Result<
3504 unsafe extern "C" fn(
3505 module: *mut hipModule_t,
3506 fname: *const ::std::os::raw::c_char,
3507 ) -> hipError_t,
3508 ::libloading::Error,
3509 >,
3510 pub hipModuleUnload:
3511 Result<unsafe extern "C" fn(module: hipModule_t) -> hipError_t, ::libloading::Error>,
3512 pub hipModuleGetFunction: Result<
3513 unsafe extern "C" fn(
3514 function: *mut hipFunction_t,
3515 module: hipModule_t,
3516 kname: *const ::std::os::raw::c_char,
3517 ) -> hipError_t,
3518 ::libloading::Error,
3519 >,
3520 pub hipFuncGetAttributes: Result<
3521 unsafe extern "C" fn(
3522 attr: *mut hipFuncAttributes,
3523 func: *const ::std::os::raw::c_void,
3524 ) -> hipError_t,
3525 ::libloading::Error,
3526 >,
3527 pub hipFuncGetAttribute: Result<
3528 unsafe extern "C" fn(
3529 value: *mut ::std::os::raw::c_int,
3530 attrib: hipFunction_attribute,
3531 hfunc: hipFunction_t,
3532 ) -> hipError_t,
3533 ::libloading::Error,
3534 >,
3535 pub hipModuleGetTexRef: Result<
3536 unsafe extern "C" fn(
3537 texRef: *mut *mut textureReference,
3538 hmod: hipModule_t,
3539 name: *const ::std::os::raw::c_char,
3540 ) -> hipError_t,
3541 ::libloading::Error,
3542 >,
3543 pub hipModuleLoadData: Result<
3544 unsafe extern "C" fn(
3545 module: *mut hipModule_t,
3546 image: *const ::std::os::raw::c_void,
3547 ) -> hipError_t,
3548 ::libloading::Error,
3549 >,
3550 pub hipModuleLoadDataEx: Result<
3551 unsafe extern "C" fn(
3552 module: *mut hipModule_t,
3553 image: *const ::std::os::raw::c_void,
3554 numOptions: ::std::os::raw::c_uint,
3555 options: *mut hipJitOption,
3556 optionValues: *mut *mut ::std::os::raw::c_void,
3557 ) -> hipError_t,
3558 ::libloading::Error,
3559 >,
3560 pub hipModuleLaunchKernel: Result<
3561 unsafe extern "C" fn(
3562 f: hipFunction_t,
3563 gridDimX: ::std::os::raw::c_uint,
3564 gridDimY: ::std::os::raw::c_uint,
3565 gridDimZ: ::std::os::raw::c_uint,
3566 blockDimX: ::std::os::raw::c_uint,
3567 blockDimY: ::std::os::raw::c_uint,
3568 blockDimZ: ::std::os::raw::c_uint,
3569 sharedMemBytes: ::std::os::raw::c_uint,
3570 stream: hipStream_t,
3571 kernelParams: *mut *mut ::std::os::raw::c_void,
3572 extra: *mut *mut ::std::os::raw::c_void,
3573 ) -> hipError_t,
3574 ::libloading::Error,
3575 >,
3576 pub hipLaunchCooperativeKernel: Result<
3577 unsafe extern "C" fn(
3578 f: *const ::std::os::raw::c_void,
3579 gridDim: dim3,
3580 blockDimX: dim3,
3581 kernelParams: *mut *mut ::std::os::raw::c_void,
3582 sharedMemBytes: ::std::os::raw::c_uint,
3583 stream: hipStream_t,
3584 ) -> hipError_t,
3585 ::libloading::Error,
3586 >,
3587 pub hipLaunchCooperativeKernelMultiDevice: Result<
3588 unsafe extern "C" fn(
3589 launchParamsList: *mut hipLaunchParams,
3590 numDevices: ::std::os::raw::c_int,
3591 flags: ::std::os::raw::c_uint,
3592 ) -> hipError_t,
3593 ::libloading::Error,
3594 >,
3595 pub hipExtLaunchMultiKernelMultiDevice: Result<
3596 unsafe extern "C" fn(
3597 launchParamsList: *mut hipLaunchParams,
3598 numDevices: ::std::os::raw::c_int,
3599 flags: ::std::os::raw::c_uint,
3600 ) -> hipError_t,
3601 ::libloading::Error,
3602 >,
3603 pub hipModuleOccupancyMaxPotentialBlockSize: Result<
3604 unsafe extern "C" fn(
3605 gridSize: *mut ::std::os::raw::c_int,
3606 blockSize: *mut ::std::os::raw::c_int,
3607 f: hipFunction_t,
3608 dynSharedMemPerBlk: usize,
3609 blockSizeLimit: ::std::os::raw::c_int,
3610 ) -> hipError_t,
3611 ::libloading::Error,
3612 >,
3613 pub hipModuleOccupancyMaxPotentialBlockSizeWithFlags: Result<
3614 unsafe extern "C" fn(
3615 gridSize: *mut ::std::os::raw::c_int,
3616 blockSize: *mut ::std::os::raw::c_int,
3617 f: hipFunction_t,
3618 dynSharedMemPerBlk: usize,
3619 blockSizeLimit: ::std::os::raw::c_int,
3620 flags: ::std::os::raw::c_uint,
3621 ) -> hipError_t,
3622 ::libloading::Error,
3623 >,
3624 pub hipModuleOccupancyMaxActiveBlocksPerMultiprocessor: Result<
3625 unsafe extern "C" fn(
3626 numBlocks: *mut ::std::os::raw::c_int,
3627 f: hipFunction_t,
3628 blockSize: ::std::os::raw::c_int,
3629 dynSharedMemPerBlk: usize,
3630 ) -> hipError_t,
3631 ::libloading::Error,
3632 >,
3633 pub hipModuleOccupancyMaxActiveBlocksPerMultiprocessorWithFlags: Result<
3634 unsafe extern "C" fn(
3635 numBlocks: *mut ::std::os::raw::c_int,
3636 f: hipFunction_t,
3637 blockSize: ::std::os::raw::c_int,
3638 dynSharedMemPerBlk: usize,
3639 flags: ::std::os::raw::c_uint,
3640 ) -> hipError_t,
3641 ::libloading::Error,
3642 >,
3643 pub hipOccupancyMaxActiveBlocksPerMultiprocessor: Result<
3644 unsafe extern "C" fn(
3645 numBlocks: *mut ::std::os::raw::c_int,
3646 f: *const ::std::os::raw::c_void,
3647 blockSize: ::std::os::raw::c_int,
3648 dynSharedMemPerBlk: usize,
3649 ) -> hipError_t,
3650 ::libloading::Error,
3651 >,
3652 pub hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags: Result<
3653 unsafe extern "C" fn(
3654 numBlocks: *mut ::std::os::raw::c_int,
3655 f: *const ::std::os::raw::c_void,
3656 blockSize: ::std::os::raw::c_int,
3657 dynSharedMemPerBlk: usize,
3658 flags: ::std::os::raw::c_uint,
3659 ) -> hipError_t,
3660 ::libloading::Error,
3661 >,
3662 pub hipOccupancyMaxPotentialBlockSize: Result<
3663 unsafe extern "C" fn(
3664 gridSize: *mut ::std::os::raw::c_int,
3665 blockSize: *mut ::std::os::raw::c_int,
3666 f: *const ::std::os::raw::c_void,
3667 dynSharedMemPerBlk: usize,
3668 blockSizeLimit: ::std::os::raw::c_int,
3669 ) -> hipError_t,
3670 ::libloading::Error,
3671 >,
3672 pub hipProfilerStart: Result<unsafe extern "C" fn() -> hipError_t, ::libloading::Error>,
3673 pub hipProfilerStop: Result<unsafe extern "C" fn() -> hipError_t, ::libloading::Error>,
3674 pub hipConfigureCall: Result<
3675 unsafe extern "C" fn(
3676 gridDim: dim3,
3677 blockDim: dim3,
3678 sharedMem: usize,
3679 stream: hipStream_t,
3680 ) -> hipError_t,
3681 ::libloading::Error,
3682 >,
3683 pub hipSetupArgument: Result<
3684 unsafe extern "C" fn(
3685 arg: *const ::std::os::raw::c_void,
3686 size: usize,
3687 offset: usize,
3688 ) -> hipError_t,
3689 ::libloading::Error,
3690 >,
3691 pub hipLaunchByPtr: Result<
3692 unsafe extern "C" fn(func: *const ::std::os::raw::c_void) -> hipError_t,
3693 ::libloading::Error,
3694 >,
3695 pub hipLaunchKernel: Result<
3696 unsafe extern "C" fn(
3697 function_address: *const ::std::os::raw::c_void,
3698 numBlocks: dim3,
3699 dimBlocks: dim3,
3700 args: *mut *mut ::std::os::raw::c_void,
3701 sharedMemBytes: usize,
3702 stream: hipStream_t,
3703 ) -> hipError_t,
3704 ::libloading::Error,
3705 >,
3706 pub hipLaunchHostFunc: Result<
3707 unsafe extern "C" fn(
3708 stream: hipStream_t,
3709 fn_: hipHostFn_t,
3710 userData: *mut ::std::os::raw::c_void,
3711 ) -> hipError_t,
3712 ::libloading::Error,
3713 >,
3714 pub hipDrvMemcpy2DUnaligned:
3715 Result<unsafe extern "C" fn(pCopy: *const hip_Memcpy2D) -> hipError_t, ::libloading::Error>,
3716 pub hipExtLaunchKernel: Result<
3717 unsafe extern "C" fn(
3718 function_address: *const ::std::os::raw::c_void,
3719 numBlocks: dim3,
3720 dimBlocks: dim3,
3721 args: *mut *mut ::std::os::raw::c_void,
3722 sharedMemBytes: usize,
3723 stream: hipStream_t,
3724 startEvent: hipEvent_t,
3725 stopEvent: hipEvent_t,
3726 flags: ::std::os::raw::c_int,
3727 ) -> hipError_t,
3728 ::libloading::Error,
3729 >,
3730 pub hipBindTextureToMipmappedArray: Result<
3731 unsafe extern "C" fn(
3732 tex: *const textureReference,
3733 mipmappedArray: hipMipmappedArray_const_t,
3734 desc: *const hipChannelFormatDesc,
3735 ) -> hipError_t,
3736 ::libloading::Error,
3737 >,
3738 pub hipCreateTextureObject: Result<
3739 unsafe extern "C" fn(
3740 pTexObject: *mut hipTextureObject_t,
3741 pResDesc: *const hipResourceDesc,
3742 pTexDesc: *const hipTextureDesc,
3743 pResViewDesc: *const hipResourceViewDesc,
3744 ) -> hipError_t,
3745 ::libloading::Error,
3746 >,
3747 pub hipDestroyTextureObject: Result<
3748 unsafe extern "C" fn(textureObject: hipTextureObject_t) -> hipError_t,
3749 ::libloading::Error,
3750 >,
3751 pub hipGetChannelDesc: Result<
3752 unsafe extern "C" fn(
3753 desc: *mut hipChannelFormatDesc,
3754 array: hipArray_const_t,
3755 ) -> hipError_t,
3756 ::libloading::Error,
3757 >,
3758 pub hipGetTextureObjectResourceDesc: Result<
3759 unsafe extern "C" fn(
3760 pResDesc: *mut hipResourceDesc,
3761 textureObject: hipTextureObject_t,
3762 ) -> hipError_t,
3763 ::libloading::Error,
3764 >,
3765 pub hipGetTextureObjectResourceViewDesc: Result<
3766 unsafe extern "C" fn(
3767 pResViewDesc: *mut hipResourceViewDesc,
3768 textureObject: hipTextureObject_t,
3769 ) -> hipError_t,
3770 ::libloading::Error,
3771 >,
3772 pub hipGetTextureObjectTextureDesc: Result<
3773 unsafe extern "C" fn(
3774 pTexDesc: *mut hipTextureDesc,
3775 textureObject: hipTextureObject_t,
3776 ) -> hipError_t,
3777 ::libloading::Error,
3778 >,
3779 pub hipTexObjectCreate: Result<
3780 unsafe extern "C" fn(
3781 pTexObject: *mut hipTextureObject_t,
3782 pResDesc: *const HIP_RESOURCE_DESC,
3783 pTexDesc: *const HIP_TEXTURE_DESC,
3784 pResViewDesc: *const HIP_RESOURCE_VIEW_DESC,
3785 ) -> hipError_t,
3786 ::libloading::Error,
3787 >,
3788 pub hipTexObjectDestroy: Result<
3789 unsafe extern "C" fn(texObject: hipTextureObject_t) -> hipError_t,
3790 ::libloading::Error,
3791 >,
3792 pub hipTexObjectGetResourceDesc: Result<
3793 unsafe extern "C" fn(
3794 pResDesc: *mut HIP_RESOURCE_DESC,
3795 texObject: hipTextureObject_t,
3796 ) -> hipError_t,
3797 ::libloading::Error,
3798 >,
3799 pub hipTexObjectGetResourceViewDesc: Result<
3800 unsafe extern "C" fn(
3801 pResViewDesc: *mut HIP_RESOURCE_VIEW_DESC,
3802 texObject: hipTextureObject_t,
3803 ) -> hipError_t,
3804 ::libloading::Error,
3805 >,
3806 pub hipTexObjectGetTextureDesc: Result<
3807 unsafe extern "C" fn(
3808 pTexDesc: *mut HIP_TEXTURE_DESC,
3809 texObject: hipTextureObject_t,
3810 ) -> hipError_t,
3811 ::libloading::Error,
3812 >,
3813 pub hipGetTextureReference: Result<
3814 unsafe extern "C" fn(
3815 texref: *mut *const textureReference,
3816 symbol: *const ::std::os::raw::c_void,
3817 ) -> hipError_t,
3818 ::libloading::Error,
3819 >,
3820 pub hipTexRefSetAddressMode: Result<
3821 unsafe extern "C" fn(
3822 texRef: *mut textureReference,
3823 dim: ::std::os::raw::c_int,
3824 am: hipTextureAddressMode,
3825 ) -> hipError_t,
3826 ::libloading::Error,
3827 >,
3828 pub hipTexRefSetArray: Result<
3829 unsafe extern "C" fn(
3830 tex: *mut textureReference,
3831 array: hipArray_const_t,
3832 flags: ::std::os::raw::c_uint,
3833 ) -> hipError_t,
3834 ::libloading::Error,
3835 >,
3836 pub hipTexRefSetFilterMode: Result<
3837 unsafe extern "C" fn(texRef: *mut textureReference, fm: hipTextureFilterMode) -> hipError_t,
3838 ::libloading::Error,
3839 >,
3840 pub hipTexRefSetFlags: Result<
3841 unsafe extern "C" fn(
3842 texRef: *mut textureReference,
3843 Flags: ::std::os::raw::c_uint,
3844 ) -> hipError_t,
3845 ::libloading::Error,
3846 >,
3847 pub hipTexRefSetFormat: Result<
3848 unsafe extern "C" fn(
3849 texRef: *mut textureReference,
3850 fmt: hipArray_Format,
3851 NumPackedComponents: ::std::os::raw::c_int,
3852 ) -> hipError_t,
3853 ::libloading::Error,
3854 >,
3855 pub hipBindTexture: Result<
3856 unsafe extern "C" fn(
3857 offset: *mut usize,
3858 tex: *const textureReference,
3859 devPtr: *const ::std::os::raw::c_void,
3860 desc: *const hipChannelFormatDesc,
3861 size: usize,
3862 ) -> hipError_t,
3863 ::libloading::Error,
3864 >,
3865 pub hipBindTexture2D: Result<
3866 unsafe extern "C" fn(
3867 offset: *mut usize,
3868 tex: *const textureReference,
3869 devPtr: *const ::std::os::raw::c_void,
3870 desc: *const hipChannelFormatDesc,
3871 width: usize,
3872 height: usize,
3873 pitch: usize,
3874 ) -> hipError_t,
3875 ::libloading::Error,
3876 >,
3877 pub hipBindTextureToArray: Result<
3878 unsafe extern "C" fn(
3879 tex: *const textureReference,
3880 array: hipArray_const_t,
3881 desc: *const hipChannelFormatDesc,
3882 ) -> hipError_t,
3883 ::libloading::Error,
3884 >,
3885 pub hipGetTextureAlignmentOffset: Result<
3886 unsafe extern "C" fn(offset: *mut usize, texref: *const textureReference) -> hipError_t,
3887 ::libloading::Error,
3888 >,
3889 pub hipUnbindTexture: Result<
3890 unsafe extern "C" fn(tex: *const textureReference) -> hipError_t,
3891 ::libloading::Error,
3892 >,
3893 pub hipTexRefGetAddress: Result<
3894 unsafe extern "C" fn(
3895 dev_ptr: *mut hipDeviceptr_t,
3896 texRef: *const textureReference,
3897 ) -> hipError_t,
3898 ::libloading::Error,
3899 >,
3900 pub hipTexRefGetAddressMode: Result<
3901 unsafe extern "C" fn(
3902 pam: *mut hipTextureAddressMode,
3903 texRef: *const textureReference,
3904 dim: ::std::os::raw::c_int,
3905 ) -> hipError_t,
3906 ::libloading::Error,
3907 >,
3908 pub hipTexRefGetFilterMode: Result<
3909 unsafe extern "C" fn(
3910 pfm: *mut hipTextureFilterMode,
3911 texRef: *const textureReference,
3912 ) -> hipError_t,
3913 ::libloading::Error,
3914 >,
3915 pub hipTexRefGetFlags: Result<
3916 unsafe extern "C" fn(
3917 pFlags: *mut ::std::os::raw::c_uint,
3918 texRef: *const textureReference,
3919 ) -> hipError_t,
3920 ::libloading::Error,
3921 >,
3922 pub hipTexRefGetFormat: Result<
3923 unsafe extern "C" fn(
3924 pFormat: *mut hipArray_Format,
3925 pNumChannels: *mut ::std::os::raw::c_int,
3926 texRef: *const textureReference,
3927 ) -> hipError_t,
3928 ::libloading::Error,
3929 >,
3930 pub hipTexRefGetMaxAnisotropy: Result<
3931 unsafe extern "C" fn(
3932 pmaxAnsio: *mut ::std::os::raw::c_int,
3933 texRef: *const textureReference,
3934 ) -> hipError_t,
3935 ::libloading::Error,
3936 >,
3937 pub hipTexRefGetMipmapFilterMode: Result<
3938 unsafe extern "C" fn(
3939 pfm: *mut hipTextureFilterMode,
3940 texRef: *const textureReference,
3941 ) -> hipError_t,
3942 ::libloading::Error,
3943 >,
3944 pub hipTexRefGetMipmapLevelBias: Result<
3945 unsafe extern "C" fn(pbias: *mut f32, texRef: *const textureReference) -> hipError_t,
3946 ::libloading::Error,
3947 >,
3948 pub hipTexRefGetMipmapLevelClamp: Result<
3949 unsafe extern "C" fn(
3950 pminMipmapLevelClamp: *mut f32,
3951 pmaxMipmapLevelClamp: *mut f32,
3952 texRef: *const textureReference,
3953 ) -> hipError_t,
3954 ::libloading::Error,
3955 >,
3956 pub hipTexRefGetMipMappedArray: Result<
3957 unsafe extern "C" fn(
3958 pArray: *mut hipMipmappedArray_t,
3959 texRef: *const textureReference,
3960 ) -> hipError_t,
3961 ::libloading::Error,
3962 >,
3963 pub hipTexRefSetAddress: Result<
3964 unsafe extern "C" fn(
3965 ByteOffset: *mut usize,
3966 texRef: *mut textureReference,
3967 dptr: hipDeviceptr_t,
3968 bytes: usize,
3969 ) -> hipError_t,
3970 ::libloading::Error,
3971 >,
3972 pub hipTexRefSetAddress2D: Result<
3973 unsafe extern "C" fn(
3974 texRef: *mut textureReference,
3975 desc: *const HIP_ARRAY_DESCRIPTOR,
3976 dptr: hipDeviceptr_t,
3977 Pitch: usize,
3978 ) -> hipError_t,
3979 ::libloading::Error,
3980 >,
3981 pub hipTexRefSetMaxAnisotropy: Result<
3982 unsafe extern "C" fn(
3983 texRef: *mut textureReference,
3984 maxAniso: ::std::os::raw::c_uint,
3985 ) -> hipError_t,
3986 ::libloading::Error,
3987 >,
3988 pub hipTexRefSetBorderColor: Result<
3989 unsafe extern "C" fn(texRef: *mut textureReference, pBorderColor: *mut f32) -> hipError_t,
3990 ::libloading::Error,
3991 >,
3992 pub hipTexRefSetMipmapFilterMode: Result<
3993 unsafe extern "C" fn(texRef: *mut textureReference, fm: hipTextureFilterMode) -> hipError_t,
3994 ::libloading::Error,
3995 >,
3996 pub hipTexRefSetMipmapLevelBias: Result<
3997 unsafe extern "C" fn(texRef: *mut textureReference, bias: f32) -> hipError_t,
3998 ::libloading::Error,
3999 >,
4000 pub hipTexRefSetMipmapLevelClamp: Result<
4001 unsafe extern "C" fn(
4002 texRef: *mut textureReference,
4003 minMipMapLevelClamp: f32,
4004 maxMipMapLevelClamp: f32,
4005 ) -> hipError_t,
4006 ::libloading::Error,
4007 >,
4008 pub hipTexRefSetMipmappedArray: Result<
4009 unsafe extern "C" fn(
4010 texRef: *mut textureReference,
4011 mipmappedArray: *mut hipMipmappedArray,
4012 Flags: ::std::os::raw::c_uint,
4013 ) -> hipError_t,
4014 ::libloading::Error,
4015 >,
4016 pub hipMipmappedArrayCreate: Result<
4017 unsafe extern "C" fn(
4018 pHandle: *mut hipMipmappedArray_t,
4019 pMipmappedArrayDesc: *mut HIP_ARRAY3D_DESCRIPTOR,
4020 numMipmapLevels: ::std::os::raw::c_uint,
4021 ) -> hipError_t,
4022 ::libloading::Error,
4023 >,
4024 pub hipMipmappedArrayDestroy: Result<
4025 unsafe extern "C" fn(hMipmappedArray: hipMipmappedArray_t) -> hipError_t,
4026 ::libloading::Error,
4027 >,
4028 pub hipMipmappedArrayGetLevel: Result<
4029 unsafe extern "C" fn(
4030 pLevelArray: *mut hipArray_t,
4031 hMipMappedArray: hipMipmappedArray_t,
4032 level: ::std::os::raw::c_uint,
4033 ) -> hipError_t,
4034 ::libloading::Error,
4035 >,
4036 pub hipApiName:
4037 Result<unsafe extern "C" fn(id: u32) -> *const ::std::os::raw::c_char, ::libloading::Error>,
4038 pub hipKernelNameRef: Result<
4039 unsafe extern "C" fn(f: hipFunction_t) -> *const ::std::os::raw::c_char,
4040 ::libloading::Error,
4041 >,
4042 pub hipKernelNameRefByPtr: Result<
4043 unsafe extern "C" fn(
4044 hostFunction: *const ::std::os::raw::c_void,
4045 stream: hipStream_t,
4046 ) -> *const ::std::os::raw::c_char,
4047 ::libloading::Error,
4048 >,
4049 pub hipGetStreamDeviceId: Result<
4050 unsafe extern "C" fn(stream: hipStream_t) -> ::std::os::raw::c_int,
4051 ::libloading::Error,
4052 >,
4053 pub hipStreamBeginCapture: Result<
4054 unsafe extern "C" fn(stream: hipStream_t, mode: hipStreamCaptureMode) -> hipError_t,
4055 ::libloading::Error,
4056 >,
4057 pub hipStreamEndCapture: Result<
4058 unsafe extern "C" fn(stream: hipStream_t, pGraph: *mut hipGraph_t) -> hipError_t,
4059 ::libloading::Error,
4060 >,
4061 pub hipStreamGetCaptureInfo: Result<
4062 unsafe extern "C" fn(
4063 stream: hipStream_t,
4064 pCaptureStatus: *mut hipStreamCaptureStatus,
4065 pId: *mut ::std::os::raw::c_ulonglong,
4066 ) -> hipError_t,
4067 ::libloading::Error,
4068 >,
4069 pub hipStreamGetCaptureInfo_v2: Result<
4070 unsafe extern "C" fn(
4071 stream: hipStream_t,
4072 captureStatus_out: *mut hipStreamCaptureStatus,
4073 id_out: *mut ::std::os::raw::c_ulonglong,
4074 graph_out: *mut hipGraph_t,
4075 dependencies_out: *mut *const hipGraphNode_t,
4076 numDependencies_out: *mut usize,
4077 ) -> hipError_t,
4078 ::libloading::Error,
4079 >,
4080 pub hipStreamIsCapturing: Result<
4081 unsafe extern "C" fn(
4082 stream: hipStream_t,
4083 pCaptureStatus: *mut hipStreamCaptureStatus,
4084 ) -> hipError_t,
4085 ::libloading::Error,
4086 >,
4087 pub hipStreamUpdateCaptureDependencies: Result<
4088 unsafe extern "C" fn(
4089 stream: hipStream_t,
4090 dependencies: *mut hipGraphNode_t,
4091 numDependencies: usize,
4092 flags: ::std::os::raw::c_uint,
4093 ) -> hipError_t,
4094 ::libloading::Error,
4095 >,
4096 pub hipThreadExchangeStreamCaptureMode: Result<
4097 unsafe extern "C" fn(mode: *mut hipStreamCaptureMode) -> hipError_t,
4098 ::libloading::Error,
4099 >,
4100 pub hipGraphCreate: Result<
4101 unsafe extern "C" fn(pGraph: *mut hipGraph_t, flags: ::std::os::raw::c_uint) -> hipError_t,
4102 ::libloading::Error,
4103 >,
4104 pub hipGraphDestroy:
4105 Result<unsafe extern "C" fn(graph: hipGraph_t) -> hipError_t, ::libloading::Error>,
4106 pub hipGraphAddDependencies: Result<
4107 unsafe extern "C" fn(
4108 graph: hipGraph_t,
4109 from: *const hipGraphNode_t,
4110 to: *const hipGraphNode_t,
4111 numDependencies: usize,
4112 ) -> hipError_t,
4113 ::libloading::Error,
4114 >,
4115 pub hipGraphRemoveDependencies: Result<
4116 unsafe extern "C" fn(
4117 graph: hipGraph_t,
4118 from: *const hipGraphNode_t,
4119 to: *const hipGraphNode_t,
4120 numDependencies: usize,
4121 ) -> hipError_t,
4122 ::libloading::Error,
4123 >,
4124 pub hipGraphGetEdges: Result<
4125 unsafe extern "C" fn(
4126 graph: hipGraph_t,
4127 from: *mut hipGraphNode_t,
4128 to: *mut hipGraphNode_t,
4129 numEdges: *mut usize,
4130 ) -> hipError_t,
4131 ::libloading::Error,
4132 >,
4133 pub hipGraphGetNodes: Result<
4134 unsafe extern "C" fn(
4135 graph: hipGraph_t,
4136 nodes: *mut hipGraphNode_t,
4137 numNodes: *mut usize,
4138 ) -> hipError_t,
4139 ::libloading::Error,
4140 >,
4141 pub hipGraphGetRootNodes: Result<
4142 unsafe extern "C" fn(
4143 graph: hipGraph_t,
4144 pRootNodes: *mut hipGraphNode_t,
4145 pNumRootNodes: *mut usize,
4146 ) -> hipError_t,
4147 ::libloading::Error,
4148 >,
4149 pub hipGraphNodeGetDependencies: Result<
4150 unsafe extern "C" fn(
4151 node: hipGraphNode_t,
4152 pDependencies: *mut hipGraphNode_t,
4153 pNumDependencies: *mut usize,
4154 ) -> hipError_t,
4155 ::libloading::Error,
4156 >,
4157 pub hipGraphNodeGetDependentNodes: Result<
4158 unsafe extern "C" fn(
4159 node: hipGraphNode_t,
4160 pDependentNodes: *mut hipGraphNode_t,
4161 pNumDependentNodes: *mut usize,
4162 ) -> hipError_t,
4163 ::libloading::Error,
4164 >,
4165 pub hipGraphNodeGetType: Result<
4166 unsafe extern "C" fn(node: hipGraphNode_t, pType: *mut hipGraphNodeType) -> hipError_t,
4167 ::libloading::Error,
4168 >,
4169 pub hipGraphDestroyNode:
4170 Result<unsafe extern "C" fn(node: hipGraphNode_t) -> hipError_t, ::libloading::Error>,
4171 pub hipGraphClone: Result<
4172 unsafe extern "C" fn(pGraphClone: *mut hipGraph_t, originalGraph: hipGraph_t) -> hipError_t,
4173 ::libloading::Error,
4174 >,
4175 pub hipGraphNodeFindInClone: Result<
4176 unsafe extern "C" fn(
4177 pNode: *mut hipGraphNode_t,
4178 originalNode: hipGraphNode_t,
4179 clonedGraph: hipGraph_t,
4180 ) -> hipError_t,
4181 ::libloading::Error,
4182 >,
4183 pub hipGraphInstantiate: Result<
4184 unsafe extern "C" fn(
4185 pGraphExec: *mut hipGraphExec_t,
4186 graph: hipGraph_t,
4187 pErrorNode: *mut hipGraphNode_t,
4188 pLogBuffer: *mut ::std::os::raw::c_char,
4189 bufferSize: usize,
4190 ) -> hipError_t,
4191 ::libloading::Error,
4192 >,
4193 pub hipGraphInstantiateWithFlags: Result<
4194 unsafe extern "C" fn(
4195 pGraphExec: *mut hipGraphExec_t,
4196 graph: hipGraph_t,
4197 flags: ::std::os::raw::c_ulonglong,
4198 ) -> hipError_t,
4199 ::libloading::Error,
4200 >,
4201 pub hipGraphLaunch: Result<
4202 unsafe extern "C" fn(graphExec: hipGraphExec_t, stream: hipStream_t) -> hipError_t,
4203 ::libloading::Error,
4204 >,
4205 pub hipGraphUpload: Result<
4206 unsafe extern "C" fn(graphExec: hipGraphExec_t, stream: hipStream_t) -> hipError_t,
4207 ::libloading::Error,
4208 >,
4209 pub hipGraphExecDestroy:
4210 Result<unsafe extern "C" fn(graphExec: hipGraphExec_t) -> hipError_t, ::libloading::Error>,
4211 pub hipGraphExecUpdate: Result<
4212 unsafe extern "C" fn(
4213 hGraphExec: hipGraphExec_t,
4214 hGraph: hipGraph_t,
4215 hErrorNode_out: *mut hipGraphNode_t,
4216 updateResult_out: *mut hipGraphExecUpdateResult,
4217 ) -> hipError_t,
4218 ::libloading::Error,
4219 >,
4220 pub hipGraphAddKernelNode: Result<
4221 unsafe extern "C" fn(
4222 pGraphNode: *mut hipGraphNode_t,
4223 graph: hipGraph_t,
4224 pDependencies: *const hipGraphNode_t,
4225 numDependencies: usize,
4226 pNodeParams: *const hipKernelNodeParams,
4227 ) -> hipError_t,
4228 ::libloading::Error,
4229 >,
4230 pub hipGraphKernelNodeGetParams: Result<
4231 unsafe extern "C" fn(
4232 node: hipGraphNode_t,
4233 pNodeParams: *mut hipKernelNodeParams,
4234 ) -> hipError_t,
4235 ::libloading::Error,
4236 >,
4237 pub hipGraphKernelNodeSetParams: Result<
4238 unsafe extern "C" fn(
4239 node: hipGraphNode_t,
4240 pNodeParams: *const hipKernelNodeParams,
4241 ) -> hipError_t,
4242 ::libloading::Error,
4243 >,
4244 pub hipGraphExecKernelNodeSetParams: Result<
4245 unsafe extern "C" fn(
4246 hGraphExec: hipGraphExec_t,
4247 node: hipGraphNode_t,
4248 pNodeParams: *const hipKernelNodeParams,
4249 ) -> hipError_t,
4250 ::libloading::Error,
4251 >,
4252 pub hipGraphAddMemcpyNode: Result<
4253 unsafe extern "C" fn(
4254 pGraphNode: *mut hipGraphNode_t,
4255 graph: hipGraph_t,
4256 pDependencies: *const hipGraphNode_t,
4257 numDependencies: usize,
4258 pCopyParams: *const hipMemcpy3DParms,
4259 ) -> hipError_t,
4260 ::libloading::Error,
4261 >,
4262 pub hipGraphMemcpyNodeGetParams: Result<
4263 unsafe extern "C" fn(
4264 node: hipGraphNode_t,
4265 pNodeParams: *mut hipMemcpy3DParms,
4266 ) -> hipError_t,
4267 ::libloading::Error,
4268 >,
4269 pub hipGraphMemcpyNodeSetParams: Result<
4270 unsafe extern "C" fn(
4271 node: hipGraphNode_t,
4272 pNodeParams: *const hipMemcpy3DParms,
4273 ) -> hipError_t,
4274 ::libloading::Error,
4275 >,
4276 pub hipGraphKernelNodeSetAttribute: Result<
4277 unsafe extern "C" fn(
4278 hNode: hipGraphNode_t,
4279 attr: hipKernelNodeAttrID,
4280 value: *const hipKernelNodeAttrValue,
4281 ) -> hipError_t,
4282 ::libloading::Error,
4283 >,
4284 pub hipGraphKernelNodeGetAttribute: Result<
4285 unsafe extern "C" fn(
4286 hNode: hipGraphNode_t,
4287 attr: hipKernelNodeAttrID,
4288 value: *mut hipKernelNodeAttrValue,
4289 ) -> hipError_t,
4290 ::libloading::Error,
4291 >,
4292 pub hipGraphExecMemcpyNodeSetParams: Result<
4293 unsafe extern "C" fn(
4294 hGraphExec: hipGraphExec_t,
4295 node: hipGraphNode_t,
4296 pNodeParams: *mut hipMemcpy3DParms,
4297 ) -> hipError_t,
4298 ::libloading::Error,
4299 >,
4300 pub hipGraphAddMemcpyNode1D: Result<
4301 unsafe extern "C" fn(
4302 pGraphNode: *mut hipGraphNode_t,
4303 graph: hipGraph_t,
4304 pDependencies: *const hipGraphNode_t,
4305 numDependencies: usize,
4306 dst: *mut ::std::os::raw::c_void,
4307 src: *const ::std::os::raw::c_void,
4308 count: usize,
4309 kind: hipMemcpyKind,
4310 ) -> hipError_t,
4311 ::libloading::Error,
4312 >,
4313 pub hipGraphMemcpyNodeSetParams1D: Result<
4314 unsafe extern "C" fn(
4315 node: hipGraphNode_t,
4316 dst: *mut ::std::os::raw::c_void,
4317 src: *const ::std::os::raw::c_void,
4318 count: usize,
4319 kind: hipMemcpyKind,
4320 ) -> hipError_t,
4321 ::libloading::Error,
4322 >,
4323 pub hipGraphExecMemcpyNodeSetParams1D: Result<
4324 unsafe extern "C" fn(
4325 hGraphExec: hipGraphExec_t,
4326 node: hipGraphNode_t,
4327 dst: *mut ::std::os::raw::c_void,
4328 src: *const ::std::os::raw::c_void,
4329 count: usize,
4330 kind: hipMemcpyKind,
4331 ) -> hipError_t,
4332 ::libloading::Error,
4333 >,
4334 pub hipGraphAddMemcpyNodeFromSymbol: Result<
4335 unsafe extern "C" fn(
4336 pGraphNode: *mut hipGraphNode_t,
4337 graph: hipGraph_t,
4338 pDependencies: *const hipGraphNode_t,
4339 numDependencies: usize,
4340 dst: *mut ::std::os::raw::c_void,
4341 symbol: *const ::std::os::raw::c_void,
4342 count: usize,
4343 offset: usize,
4344 kind: hipMemcpyKind,
4345 ) -> hipError_t,
4346 ::libloading::Error,
4347 >,
4348 pub hipGraphMemcpyNodeSetParamsFromSymbol: Result<
4349 unsafe extern "C" fn(
4350 node: hipGraphNode_t,
4351 dst: *mut ::std::os::raw::c_void,
4352 symbol: *const ::std::os::raw::c_void,
4353 count: usize,
4354 offset: usize,
4355 kind: hipMemcpyKind,
4356 ) -> hipError_t,
4357 ::libloading::Error,
4358 >,
4359 pub hipGraphExecMemcpyNodeSetParamsFromSymbol: Result<
4360 unsafe extern "C" fn(
4361 hGraphExec: hipGraphExec_t,
4362 node: hipGraphNode_t,
4363 dst: *mut ::std::os::raw::c_void,
4364 symbol: *const ::std::os::raw::c_void,
4365 count: usize,
4366 offset: usize,
4367 kind: hipMemcpyKind,
4368 ) -> hipError_t,
4369 ::libloading::Error,
4370 >,
4371 pub hipGraphAddMemcpyNodeToSymbol: Result<
4372 unsafe extern "C" fn(
4373 pGraphNode: *mut hipGraphNode_t,
4374 graph: hipGraph_t,
4375 pDependencies: *const hipGraphNode_t,
4376 numDependencies: usize,
4377 symbol: *const ::std::os::raw::c_void,
4378 src: *const ::std::os::raw::c_void,
4379 count: usize,
4380 offset: usize,
4381 kind: hipMemcpyKind,
4382 ) -> hipError_t,
4383 ::libloading::Error,
4384 >,
4385 pub hipGraphMemcpyNodeSetParamsToSymbol: Result<
4386 unsafe extern "C" fn(
4387 node: hipGraphNode_t,
4388 symbol: *const ::std::os::raw::c_void,
4389 src: *const ::std::os::raw::c_void,
4390 count: usize,
4391 offset: usize,
4392 kind: hipMemcpyKind,
4393 ) -> hipError_t,
4394 ::libloading::Error,
4395 >,
4396 pub hipGraphExecMemcpyNodeSetParamsToSymbol: Result<
4397 unsafe extern "C" fn(
4398 hGraphExec: hipGraphExec_t,
4399 node: hipGraphNode_t,
4400 symbol: *const ::std::os::raw::c_void,
4401 src: *const ::std::os::raw::c_void,
4402 count: usize,
4403 offset: usize,
4404 kind: hipMemcpyKind,
4405 ) -> hipError_t,
4406 ::libloading::Error,
4407 >,
4408 pub hipGraphAddMemsetNode: Result<
4409 unsafe extern "C" fn(
4410 pGraphNode: *mut hipGraphNode_t,
4411 graph: hipGraph_t,
4412 pDependencies: *const hipGraphNode_t,
4413 numDependencies: usize,
4414 pMemsetParams: *const hipMemsetParams,
4415 ) -> hipError_t,
4416 ::libloading::Error,
4417 >,
4418 pub hipGraphMemsetNodeGetParams: Result<
4419 unsafe extern "C" fn(node: hipGraphNode_t, pNodeParams: *mut hipMemsetParams) -> hipError_t,
4420 ::libloading::Error,
4421 >,
4422 pub hipGraphMemsetNodeSetParams: Result<
4423 unsafe extern "C" fn(
4424 node: hipGraphNode_t,
4425 pNodeParams: *const hipMemsetParams,
4426 ) -> hipError_t,
4427 ::libloading::Error,
4428 >,
4429 pub hipGraphExecMemsetNodeSetParams: Result<
4430 unsafe extern "C" fn(
4431 hGraphExec: hipGraphExec_t,
4432 node: hipGraphNode_t,
4433 pNodeParams: *const hipMemsetParams,
4434 ) -> hipError_t,
4435 ::libloading::Error,
4436 >,
4437 pub hipGraphAddHostNode: Result<
4438 unsafe extern "C" fn(
4439 pGraphNode: *mut hipGraphNode_t,
4440 graph: hipGraph_t,
4441 pDependencies: *const hipGraphNode_t,
4442 numDependencies: usize,
4443 pNodeParams: *const hipHostNodeParams,
4444 ) -> hipError_t,
4445 ::libloading::Error,
4446 >,
4447 pub hipGraphHostNodeGetParams: Result<
4448 unsafe extern "C" fn(
4449 node: hipGraphNode_t,
4450 pNodeParams: *mut hipHostNodeParams,
4451 ) -> hipError_t,
4452 ::libloading::Error,
4453 >,
4454 pub hipGraphHostNodeSetParams: Result<
4455 unsafe extern "C" fn(
4456 node: hipGraphNode_t,
4457 pNodeParams: *const hipHostNodeParams,
4458 ) -> hipError_t,
4459 ::libloading::Error,
4460 >,
4461 pub hipGraphExecHostNodeSetParams: Result<
4462 unsafe extern "C" fn(
4463 hGraphExec: hipGraphExec_t,
4464 node: hipGraphNode_t,
4465 pNodeParams: *const hipHostNodeParams,
4466 ) -> hipError_t,
4467 ::libloading::Error,
4468 >,
4469 pub hipGraphAddChildGraphNode: Result<
4470 unsafe extern "C" fn(
4471 pGraphNode: *mut hipGraphNode_t,
4472 graph: hipGraph_t,
4473 pDependencies: *const hipGraphNode_t,
4474 numDependencies: usize,
4475 childGraph: hipGraph_t,
4476 ) -> hipError_t,
4477 ::libloading::Error,
4478 >,
4479 pub hipGraphChildGraphNodeGetGraph: Result<
4480 unsafe extern "C" fn(node: hipGraphNode_t, pGraph: *mut hipGraph_t) -> hipError_t,
4481 ::libloading::Error,
4482 >,
4483 pub hipGraphExecChildGraphNodeSetParams: Result<
4484 unsafe extern "C" fn(
4485 hGraphExec: hipGraphExec_t,
4486 node: hipGraphNode_t,
4487 childGraph: hipGraph_t,
4488 ) -> hipError_t,
4489 ::libloading::Error,
4490 >,
4491 pub hipGraphAddEmptyNode: Result<
4492 unsafe extern "C" fn(
4493 pGraphNode: *mut hipGraphNode_t,
4494 graph: hipGraph_t,
4495 pDependencies: *const hipGraphNode_t,
4496 numDependencies: usize,
4497 ) -> hipError_t,
4498 ::libloading::Error,
4499 >,
4500 pub hipGraphAddEventRecordNode: Result<
4501 unsafe extern "C" fn(
4502 pGraphNode: *mut hipGraphNode_t,
4503 graph: hipGraph_t,
4504 pDependencies: *const hipGraphNode_t,
4505 numDependencies: usize,
4506 event: hipEvent_t,
4507 ) -> hipError_t,
4508 ::libloading::Error,
4509 >,
4510 pub hipGraphEventRecordNodeGetEvent: Result<
4511 unsafe extern "C" fn(node: hipGraphNode_t, event_out: *mut hipEvent_t) -> hipError_t,
4512 ::libloading::Error,
4513 >,
4514 pub hipGraphEventRecordNodeSetEvent: Result<
4515 unsafe extern "C" fn(node: hipGraphNode_t, event: hipEvent_t) -> hipError_t,
4516 ::libloading::Error,
4517 >,
4518 pub hipGraphExecEventRecordNodeSetEvent: Result<
4519 unsafe extern "C" fn(
4520 hGraphExec: hipGraphExec_t,
4521 hNode: hipGraphNode_t,
4522 event: hipEvent_t,
4523 ) -> hipError_t,
4524 ::libloading::Error,
4525 >,
4526 pub hipGraphAddEventWaitNode: Result<
4527 unsafe extern "C" fn(
4528 pGraphNode: *mut hipGraphNode_t,
4529 graph: hipGraph_t,
4530 pDependencies: *const hipGraphNode_t,
4531 numDependencies: usize,
4532 event: hipEvent_t,
4533 ) -> hipError_t,
4534 ::libloading::Error,
4535 >,
4536 pub hipGraphEventWaitNodeGetEvent: Result<
4537 unsafe extern "C" fn(node: hipGraphNode_t, event_out: *mut hipEvent_t) -> hipError_t,
4538 ::libloading::Error,
4539 >,
4540 pub hipGraphEventWaitNodeSetEvent: Result<
4541 unsafe extern "C" fn(node: hipGraphNode_t, event: hipEvent_t) -> hipError_t,
4542 ::libloading::Error,
4543 >,
4544 pub hipGraphExecEventWaitNodeSetEvent: Result<
4545 unsafe extern "C" fn(
4546 hGraphExec: hipGraphExec_t,
4547 hNode: hipGraphNode_t,
4548 event: hipEvent_t,
4549 ) -> hipError_t,
4550 ::libloading::Error,
4551 >,
4552 pub hipDeviceGetGraphMemAttribute: Result<
4553 unsafe extern "C" fn(
4554 device: ::std::os::raw::c_int,
4555 attr: hipGraphMemAttributeType,
4556 value: *mut ::std::os::raw::c_void,
4557 ) -> hipError_t,
4558 ::libloading::Error,
4559 >,
4560 pub hipDeviceSetGraphMemAttribute: Result<
4561 unsafe extern "C" fn(
4562 device: ::std::os::raw::c_int,
4563 attr: hipGraphMemAttributeType,
4564 value: *mut ::std::os::raw::c_void,
4565 ) -> hipError_t,
4566 ::libloading::Error,
4567 >,
4568 pub hipDeviceGraphMemTrim: Result<
4569 unsafe extern "C" fn(device: ::std::os::raw::c_int) -> hipError_t,
4570 ::libloading::Error,
4571 >,
4572 pub hipUserObjectCreate: Result<
4573 unsafe extern "C" fn(
4574 object_out: *mut hipUserObject_t,
4575 ptr: *mut ::std::os::raw::c_void,
4576 destroy: hipHostFn_t,
4577 initialRefcount: ::std::os::raw::c_uint,
4578 flags: ::std::os::raw::c_uint,
4579 ) -> hipError_t,
4580 ::libloading::Error,
4581 >,
4582 pub hipUserObjectRelease: Result<
4583 unsafe extern "C" fn(object: hipUserObject_t, count: ::std::os::raw::c_uint) -> hipError_t,
4584 ::libloading::Error,
4585 >,
4586 pub hipUserObjectRetain: Result<
4587 unsafe extern "C" fn(object: hipUserObject_t, count: ::std::os::raw::c_uint) -> hipError_t,
4588 ::libloading::Error,
4589 >,
4590 pub hipGraphRetainUserObject: Result<
4591 unsafe extern "C" fn(
4592 graph: hipGraph_t,
4593 object: hipUserObject_t,
4594 count: ::std::os::raw::c_uint,
4595 flags: ::std::os::raw::c_uint,
4596 ) -> hipError_t,
4597 ::libloading::Error,
4598 >,
4599 pub hipGraphReleaseUserObject: Result<
4600 unsafe extern "C" fn(
4601 graph: hipGraph_t,
4602 object: hipUserObject_t,
4603 count: ::std::os::raw::c_uint,
4604 ) -> hipError_t,
4605 ::libloading::Error,
4606 >,
4607 pub hipMemAddressFree: Result<
4608 unsafe extern "C" fn(devPtr: *mut ::std::os::raw::c_void, size: usize) -> hipError_t,
4609 ::libloading::Error,
4610 >,
4611 pub hipMemAddressReserve: Result<
4612 unsafe extern "C" fn(
4613 ptr: *mut *mut ::std::os::raw::c_void,
4614 size: usize,
4615 alignment: usize,
4616 addr: *mut ::std::os::raw::c_void,
4617 flags: ::std::os::raw::c_ulonglong,
4618 ) -> hipError_t,
4619 ::libloading::Error,
4620 >,
4621 pub hipMemCreate: Result<
4622 unsafe extern "C" fn(
4623 handle: *mut hipMemGenericAllocationHandle_t,
4624 size: usize,
4625 prop: *const hipMemAllocationProp,
4626 flags: ::std::os::raw::c_ulonglong,
4627 ) -> hipError_t,
4628 ::libloading::Error,
4629 >,
4630 pub hipMemExportToShareableHandle: Result<
4631 unsafe extern "C" fn(
4632 shareableHandle: *mut ::std::os::raw::c_void,
4633 handle: hipMemGenericAllocationHandle_t,
4634 handleType: hipMemAllocationHandleType,
4635 flags: ::std::os::raw::c_ulonglong,
4636 ) -> hipError_t,
4637 ::libloading::Error,
4638 >,
4639 pub hipMemGetAccess: Result<
4640 unsafe extern "C" fn(
4641 flags: *mut ::std::os::raw::c_ulonglong,
4642 location: *const hipMemLocation,
4643 ptr: *mut ::std::os::raw::c_void,
4644 ) -> hipError_t,
4645 ::libloading::Error,
4646 >,
4647 pub hipMemGetAllocationGranularity: Result<
4648 unsafe extern "C" fn(
4649 granularity: *mut usize,
4650 prop: *const hipMemAllocationProp,
4651 option: hipMemAllocationGranularity_flags,
4652 ) -> hipError_t,
4653 ::libloading::Error,
4654 >,
4655 pub hipMemGetAllocationPropertiesFromHandle: Result<
4656 unsafe extern "C" fn(
4657 prop: *mut hipMemAllocationProp,
4658 handle: hipMemGenericAllocationHandle_t,
4659 ) -> hipError_t,
4660 ::libloading::Error,
4661 >,
4662 pub hipMemImportFromShareableHandle: Result<
4663 unsafe extern "C" fn(
4664 handle: *mut hipMemGenericAllocationHandle_t,
4665 osHandle: *mut ::std::os::raw::c_void,
4666 shHandleType: hipMemAllocationHandleType,
4667 ) -> hipError_t,
4668 ::libloading::Error,
4669 >,
4670 pub hipMemMap: Result<
4671 unsafe extern "C" fn(
4672 ptr: *mut ::std::os::raw::c_void,
4673 size: usize,
4674 offset: usize,
4675 handle: hipMemGenericAllocationHandle_t,
4676 flags: ::std::os::raw::c_ulonglong,
4677 ) -> hipError_t,
4678 ::libloading::Error,
4679 >,
4680 pub hipMemMapArrayAsync: Result<
4681 unsafe extern "C" fn(
4682 mapInfoList: *mut hipArrayMapInfo,
4683 count: ::std::os::raw::c_uint,
4684 stream: hipStream_t,
4685 ) -> hipError_t,
4686 ::libloading::Error,
4687 >,
4688 pub hipMemRelease: Result<
4689 unsafe extern "C" fn(handle: hipMemGenericAllocationHandle_t) -> hipError_t,
4690 ::libloading::Error,
4691 >,
4692 pub hipMemRetainAllocationHandle: Result<
4693 unsafe extern "C" fn(
4694 handle: *mut hipMemGenericAllocationHandle_t,
4695 addr: *mut ::std::os::raw::c_void,
4696 ) -> hipError_t,
4697 ::libloading::Error,
4698 >,
4699 pub hipMemSetAccess: Result<
4700 unsafe extern "C" fn(
4701 ptr: *mut ::std::os::raw::c_void,
4702 size: usize,
4703 desc: *const hipMemAccessDesc,
4704 count: usize,
4705 ) -> hipError_t,
4706 ::libloading::Error,
4707 >,
4708 pub hipMemUnmap: Result<
4709 unsafe extern "C" fn(ptr: *mut ::std::os::raw::c_void, size: usize) -> hipError_t,
4710 ::libloading::Error,
4711 >,
4712 pub hipGLGetDevices: Result<
4713 unsafe extern "C" fn(
4714 pHipDeviceCount: *mut ::std::os::raw::c_uint,
4715 pHipDevices: *mut ::std::os::raw::c_int,
4716 hipDeviceCount: ::std::os::raw::c_uint,
4717 deviceList: hipGLDeviceList,
4718 ) -> hipError_t,
4719 ::libloading::Error,
4720 >,
4721 pub hipGraphicsGLRegisterBuffer: Result<
4722 unsafe extern "C" fn(
4723 resource: *mut *mut hipGraphicsResource,
4724 buffer: GLuint,
4725 flags: ::std::os::raw::c_uint,
4726 ) -> hipError_t,
4727 ::libloading::Error,
4728 >,
4729 pub hipGraphicsGLRegisterImage: Result<
4730 unsafe extern "C" fn(
4731 resource: *mut *mut hipGraphicsResource,
4732 image: GLuint,
4733 target: GLenum,
4734 flags: ::std::os::raw::c_uint,
4735 ) -> hipError_t,
4736 ::libloading::Error,
4737 >,
4738 pub hipGraphicsMapResources: Result<
4739 unsafe extern "C" fn(
4740 count: ::std::os::raw::c_int,
4741 resources: *mut hipGraphicsResource_t,
4742 stream: hipStream_t,
4743 ) -> hipError_t,
4744 ::libloading::Error,
4745 >,
4746 pub hipGraphicsSubResourceGetMappedArray: Result<
4747 unsafe extern "C" fn(
4748 array: *mut hipArray_t,
4749 resource: hipGraphicsResource_t,
4750 arrayIndex: ::std::os::raw::c_uint,
4751 mipLevel: ::std::os::raw::c_uint,
4752 ) -> hipError_t,
4753 ::libloading::Error,
4754 >,
4755 pub hipGraphicsResourceGetMappedPointer: Result<
4756 unsafe extern "C" fn(
4757 devPtr: *mut *mut ::std::os::raw::c_void,
4758 size: *mut usize,
4759 resource: hipGraphicsResource_t,
4760 ) -> hipError_t,
4761 ::libloading::Error,
4762 >,
4763 pub hipGraphicsUnmapResources: Result<
4764 unsafe extern "C" fn(
4765 count: ::std::os::raw::c_int,
4766 resources: *mut hipGraphicsResource_t,
4767 stream: hipStream_t,
4768 ) -> hipError_t,
4769 ::libloading::Error,
4770 >,
4771 pub hipGraphicsUnregisterResource: Result<
4772 unsafe extern "C" fn(resource: hipGraphicsResource_t) -> hipError_t,
4773 ::libloading::Error,
4774 >,
4775 pub hipMemcpy_spt: Result<
4776 unsafe extern "C" fn(
4777 dst: *mut ::std::os::raw::c_void,
4778 src: *const ::std::os::raw::c_void,
4779 sizeBytes: usize,
4780 kind: hipMemcpyKind,
4781 ) -> hipError_t,
4782 ::libloading::Error,
4783 >,
4784 pub hipMemcpyToSymbol_spt: Result<
4785 unsafe extern "C" fn(
4786 symbol: *const ::std::os::raw::c_void,
4787 src: *const ::std::os::raw::c_void,
4788 sizeBytes: usize,
4789 offset: usize,
4790 kind: hipMemcpyKind,
4791 ) -> hipError_t,
4792 ::libloading::Error,
4793 >,
4794 pub hipMemcpyFromSymbol_spt: Result<
4795 unsafe extern "C" fn(
4796 dst: *mut ::std::os::raw::c_void,
4797 symbol: *const ::std::os::raw::c_void,
4798 sizeBytes: usize,
4799 offset: usize,
4800 kind: hipMemcpyKind,
4801 ) -> hipError_t,
4802 ::libloading::Error,
4803 >,
4804 pub hipMemcpy2D_spt: Result<
4805 unsafe extern "C" fn(
4806 dst: *mut ::std::os::raw::c_void,
4807 dpitch: usize,
4808 src: *const ::std::os::raw::c_void,
4809 spitch: usize,
4810 width: usize,
4811 height: usize,
4812 kind: hipMemcpyKind,
4813 ) -> hipError_t,
4814 ::libloading::Error,
4815 >,
4816 pub hipMemcpy2DFromArray_spt: Result<
4817 unsafe extern "C" fn(
4818 dst: *mut ::std::os::raw::c_void,
4819 dpitch: usize,
4820 src: hipArray_const_t,
4821 wOffset: usize,
4822 hOffset: usize,
4823 width: usize,
4824 height: usize,
4825 kind: hipMemcpyKind,
4826 ) -> hipError_t,
4827 ::libloading::Error,
4828 >,
4829 pub hipMemcpy3D_spt:
4830 Result<unsafe extern "C" fn(p: *const hipMemcpy3DParms) -> hipError_t, ::libloading::Error>,
4831 pub hipMemset_spt: Result<
4832 unsafe extern "C" fn(
4833 dst: *mut ::std::os::raw::c_void,
4834 value: ::std::os::raw::c_int,
4835 sizeBytes: usize,
4836 ) -> hipError_t,
4837 ::libloading::Error,
4838 >,
4839 pub hipMemsetAsync_spt: Result<
4840 unsafe extern "C" fn(
4841 dst: *mut ::std::os::raw::c_void,
4842 value: ::std::os::raw::c_int,
4843 sizeBytes: usize,
4844 stream: hipStream_t,
4845 ) -> hipError_t,
4846 ::libloading::Error,
4847 >,
4848 pub hipMemset2D_spt: Result<
4849 unsafe extern "C" fn(
4850 dst: *mut ::std::os::raw::c_void,
4851 pitch: usize,
4852 value: ::std::os::raw::c_int,
4853 width: usize,
4854 height: usize,
4855 ) -> hipError_t,
4856 ::libloading::Error,
4857 >,
4858 pub hipMemset2DAsync_spt: Result<
4859 unsafe extern "C" fn(
4860 dst: *mut ::std::os::raw::c_void,
4861 pitch: usize,
4862 value: ::std::os::raw::c_int,
4863 width: usize,
4864 height: usize,
4865 stream: hipStream_t,
4866 ) -> hipError_t,
4867 ::libloading::Error,
4868 >,
4869 pub hipMemset3DAsync_spt: Result<
4870 unsafe extern "C" fn(
4871 pitchedDevPtr: hipPitchedPtr,
4872 value: ::std::os::raw::c_int,
4873 extent: hipExtent,
4874 stream: hipStream_t,
4875 ) -> hipError_t,
4876 ::libloading::Error,
4877 >,
4878 pub hipMemset3D_spt: Result<
4879 unsafe extern "C" fn(
4880 pitchedDevPtr: hipPitchedPtr,
4881 value: ::std::os::raw::c_int,
4882 extent: hipExtent,
4883 ) -> hipError_t,
4884 ::libloading::Error,
4885 >,
4886 pub hipMemcpyAsync_spt: Result<
4887 unsafe extern "C" fn(
4888 dst: *mut ::std::os::raw::c_void,
4889 src: *const ::std::os::raw::c_void,
4890 sizeBytes: usize,
4891 kind: hipMemcpyKind,
4892 stream: hipStream_t,
4893 ) -> hipError_t,
4894 ::libloading::Error,
4895 >,
4896 pub hipMemcpy3DAsync_spt: Result<
4897 unsafe extern "C" fn(p: *const hipMemcpy3DParms, stream: hipStream_t) -> hipError_t,
4898 ::libloading::Error,
4899 >,
4900 pub hipMemcpy2DAsync_spt: Result<
4901 unsafe extern "C" fn(
4902 dst: *mut ::std::os::raw::c_void,
4903 dpitch: usize,
4904 src: *const ::std::os::raw::c_void,
4905 spitch: usize,
4906 width: usize,
4907 height: usize,
4908 kind: hipMemcpyKind,
4909 stream: hipStream_t,
4910 ) -> hipError_t,
4911 ::libloading::Error,
4912 >,
4913 pub hipMemcpyFromSymbolAsync_spt: Result<
4914 unsafe extern "C" fn(
4915 dst: *mut ::std::os::raw::c_void,
4916 symbol: *const ::std::os::raw::c_void,
4917 sizeBytes: usize,
4918 offset: usize,
4919 kind: hipMemcpyKind,
4920 stream: hipStream_t,
4921 ) -> hipError_t,
4922 ::libloading::Error,
4923 >,
4924 pub hipMemcpyToSymbolAsync_spt: Result<
4925 unsafe extern "C" fn(
4926 symbol: *const ::std::os::raw::c_void,
4927 src: *const ::std::os::raw::c_void,
4928 sizeBytes: usize,
4929 offset: usize,
4930 kind: hipMemcpyKind,
4931 stream: hipStream_t,
4932 ) -> hipError_t,
4933 ::libloading::Error,
4934 >,
4935 pub hipMemcpyFromArray_spt: Result<
4936 unsafe extern "C" fn(
4937 dst: *mut ::std::os::raw::c_void,
4938 src: hipArray_const_t,
4939 wOffsetSrc: usize,
4940 hOffset: usize,
4941 count: usize,
4942 kind: hipMemcpyKind,
4943 ) -> hipError_t,
4944 ::libloading::Error,
4945 >,
4946 pub hipMemcpy2DToArray_spt: Result<
4947 unsafe extern "C" fn(
4948 dst: *mut hipArray,
4949 wOffset: usize,
4950 hOffset: usize,
4951 src: *const ::std::os::raw::c_void,
4952 spitch: usize,
4953 width: usize,
4954 height: usize,
4955 kind: hipMemcpyKind,
4956 ) -> hipError_t,
4957 ::libloading::Error,
4958 >,
4959 pub hipMemcpy2DFromArrayAsync_spt: Result<
4960 unsafe extern "C" fn(
4961 dst: *mut ::std::os::raw::c_void,
4962 dpitch: usize,
4963 src: hipArray_const_t,
4964 wOffsetSrc: usize,
4965 hOffsetSrc: usize,
4966 width: usize,
4967 height: usize,
4968 kind: hipMemcpyKind,
4969 stream: hipStream_t,
4970 ) -> hipError_t,
4971 ::libloading::Error,
4972 >,
4973 pub hipMemcpy2DToArrayAsync_spt: Result<
4974 unsafe extern "C" fn(
4975 dst: *mut hipArray,
4976 wOffset: usize,
4977 hOffset: usize,
4978 src: *const ::std::os::raw::c_void,
4979 spitch: usize,
4980 width: usize,
4981 height: usize,
4982 kind: hipMemcpyKind,
4983 stream: hipStream_t,
4984 ) -> hipError_t,
4985 ::libloading::Error,
4986 >,
4987 pub hipStreamQuery_spt:
4988 Result<unsafe extern "C" fn(stream: hipStream_t) -> hipError_t, ::libloading::Error>,
4989 pub hipStreamSynchronize_spt:
4990 Result<unsafe extern "C" fn(stream: hipStream_t) -> hipError_t, ::libloading::Error>,
4991 pub hipStreamGetPriority_spt: Result<
4992 unsafe extern "C" fn(
4993 stream: hipStream_t,
4994 priority: *mut ::std::os::raw::c_int,
4995 ) -> hipError_t,
4996 ::libloading::Error,
4997 >,
4998 pub hipStreamWaitEvent_spt: Result<
4999 unsafe extern "C" fn(
5000 stream: hipStream_t,
5001 event: hipEvent_t,
5002 flags: ::std::os::raw::c_uint,
5003 ) -> hipError_t,
5004 ::libloading::Error,
5005 >,
5006 pub hipStreamGetFlags_spt: Result<
5007 unsafe extern "C" fn(stream: hipStream_t, flags: *mut ::std::os::raw::c_uint) -> hipError_t,
5008 ::libloading::Error,
5009 >,
5010 pub hipStreamAddCallback_spt: Result<
5011 unsafe extern "C" fn(
5012 stream: hipStream_t,
5013 callback: hipStreamCallback_t,
5014 userData: *mut ::std::os::raw::c_void,
5015 flags: ::std::os::raw::c_uint,
5016 ) -> hipError_t,
5017 ::libloading::Error,
5018 >,
5019 pub hipEventRecord_spt: Result<
5020 unsafe extern "C" fn(event: hipEvent_t, stream: hipStream_t) -> hipError_t,
5021 ::libloading::Error,
5022 >,
5023 pub hipLaunchCooperativeKernel_spt: Result<
5024 unsafe extern "C" fn(
5025 f: *const ::std::os::raw::c_void,
5026 gridDim: dim3,
5027 blockDim: dim3,
5028 kernelParams: *mut *mut ::std::os::raw::c_void,
5029 sharedMemBytes: u32,
5030 hStream: hipStream_t,
5031 ) -> hipError_t,
5032 ::libloading::Error,
5033 >,
5034 pub hipLaunchKernel_spt: Result<
5035 unsafe extern "C" fn(
5036 function_address: *const ::std::os::raw::c_void,
5037 numBlocks: dim3,
5038 dimBlocks: dim3,
5039 args: *mut *mut ::std::os::raw::c_void,
5040 sharedMemBytes: usize,
5041 stream: hipStream_t,
5042 ) -> hipError_t,
5043 ::libloading::Error,
5044 >,
5045 pub hipGraphLaunch_spt: Result<
5046 unsafe extern "C" fn(graphExec: hipGraphExec_t, stream: hipStream_t) -> hipError_t,
5047 ::libloading::Error,
5048 >,
5049 pub hipStreamBeginCapture_spt: Result<
5050 unsafe extern "C" fn(stream: hipStream_t, mode: hipStreamCaptureMode) -> hipError_t,
5051 ::libloading::Error,
5052 >,
5053 pub hipStreamEndCapture_spt: Result<
5054 unsafe extern "C" fn(stream: hipStream_t, pGraph: *mut hipGraph_t) -> hipError_t,
5055 ::libloading::Error,
5056 >,
5057 pub hipStreamIsCapturing_spt: Result<
5058 unsafe extern "C" fn(
5059 stream: hipStream_t,
5060 pCaptureStatus: *mut hipStreamCaptureStatus,
5061 ) -> hipError_t,
5062 ::libloading::Error,
5063 >,
5064 pub hipStreamGetCaptureInfo_spt: Result<
5065 unsafe extern "C" fn(
5066 stream: hipStream_t,
5067 pCaptureStatus: *mut hipStreamCaptureStatus,
5068 pId: *mut ::std::os::raw::c_ulonglong,
5069 ) -> hipError_t,
5070 ::libloading::Error,
5071 >,
5072 pub hipStreamGetCaptureInfo_v2_spt: Result<
5073 unsafe extern "C" fn(
5074 stream: hipStream_t,
5075 captureStatus_out: *mut hipStreamCaptureStatus,
5076 id_out: *mut ::std::os::raw::c_ulonglong,
5077 graph_out: *mut hipGraph_t,
5078 dependencies_out: *mut *const hipGraphNode_t,
5079 numDependencies_out: *mut usize,
5080 ) -> hipError_t,
5081 ::libloading::Error,
5082 >,
5083 pub hipLaunchHostFunc_spt: Result<
5084 unsafe extern "C" fn(
5085 stream: hipStream_t,
5086 fn_: hipHostFn_t,
5087 userData: *mut ::std::os::raw::c_void,
5088 ) -> hipError_t,
5089 ::libloading::Error,
5090 >,
5091}
5092impl hip {
5093 pub unsafe fn new<P>(path: P) -> Result<Self, ::libloading::Error>
5094 where
5095 P: AsRef<::std::ffi::OsStr>,
5096 {
5097 let library = ::libloading::Library::new(path)?;
5098 Self::from_library(library)
5099 }
5100 pub unsafe fn from_library<L>(library: L) -> Result<Self, ::libloading::Error>
5101 where
5102 L: Into<::libloading::Library>,
5103 {
5104 let __library = library.into();
5105 let hipCreateChannelDesc = __library.get(b"hipCreateChannelDesc\0").map(|sym| *sym);
5106 let hipInit = __library.get(b"hipInit\0").map(|sym| *sym);
5107 let hipDriverGetVersion = __library.get(b"hipDriverGetVersion\0").map(|sym| *sym);
5108 let hipRuntimeGetVersion = __library.get(b"hipRuntimeGetVersion\0").map(|sym| *sym);
5109 let hipDeviceGet = __library.get(b"hipDeviceGet\0").map(|sym| *sym);
5110 let hipDeviceComputeCapability = __library
5111 .get(b"hipDeviceComputeCapability\0")
5112 .map(|sym| *sym);
5113 let hipDeviceGetName = __library.get(b"hipDeviceGetName\0").map(|sym| *sym);
5114 let hipDeviceGetUuid = __library.get(b"hipDeviceGetUuid\0").map(|sym| *sym);
5115 let hipDeviceGetP2PAttribute = __library.get(b"hipDeviceGetP2PAttribute\0").map(|sym| *sym);
5116 let hipDeviceGetPCIBusId = __library.get(b"hipDeviceGetPCIBusId\0").map(|sym| *sym);
5117 let hipDeviceGetByPCIBusId = __library.get(b"hipDeviceGetByPCIBusId\0").map(|sym| *sym);
5118 let hipDeviceTotalMem = __library.get(b"hipDeviceTotalMem\0").map(|sym| *sym);
5119 let hipDeviceSynchronize = __library.get(b"hipDeviceSynchronize\0").map(|sym| *sym);
5120 let hipDeviceReset = __library.get(b"hipDeviceReset\0").map(|sym| *sym);
5121 let hipSetDevice = __library.get(b"hipSetDevice\0").map(|sym| *sym);
5122 let hipGetDevice = __library.get(b"hipGetDevice\0").map(|sym| *sym);
5123 let hipGetDeviceCount = __library.get(b"hipGetDeviceCount\0").map(|sym| *sym);
5124 let hipDeviceGetAttribute = __library.get(b"hipDeviceGetAttribute\0").map(|sym| *sym);
5125 let hipDeviceGetDefaultMemPool = __library
5126 .get(b"hipDeviceGetDefaultMemPool\0")
5127 .map(|sym| *sym);
5128 let hipDeviceSetMemPool = __library.get(b"hipDeviceSetMemPool\0").map(|sym| *sym);
5129 let hipDeviceGetMemPool = __library.get(b"hipDeviceGetMemPool\0").map(|sym| *sym);
5130 let hipGetDeviceProperties = __library.get(b"hipGetDeviceProperties\0").map(|sym| *sym);
5131 let hipDeviceSetCacheConfig = __library.get(b"hipDeviceSetCacheConfig\0").map(|sym| *sym);
5132 let hipDeviceGetCacheConfig = __library.get(b"hipDeviceGetCacheConfig\0").map(|sym| *sym);
5133 let hipDeviceGetLimit = __library.get(b"hipDeviceGetLimit\0").map(|sym| *sym);
5134 let hipDeviceSetLimit = __library.get(b"hipDeviceSetLimit\0").map(|sym| *sym);
5135 let hipDeviceGetSharedMemConfig = __library
5136 .get(b"hipDeviceGetSharedMemConfig\0")
5137 .map(|sym| *sym);
5138 let hipGetDeviceFlags = __library.get(b"hipGetDeviceFlags\0").map(|sym| *sym);
5139 let hipDeviceSetSharedMemConfig = __library
5140 .get(b"hipDeviceSetSharedMemConfig\0")
5141 .map(|sym| *sym);
5142 let hipSetDeviceFlags = __library.get(b"hipSetDeviceFlags\0").map(|sym| *sym);
5143 let hipChooseDevice = __library.get(b"hipChooseDevice\0").map(|sym| *sym);
5144 let hipExtGetLinkTypeAndHopCount = __library
5145 .get(b"hipExtGetLinkTypeAndHopCount\0")
5146 .map(|sym| *sym);
5147 let hipIpcGetMemHandle = __library.get(b"hipIpcGetMemHandle\0").map(|sym| *sym);
5148 let hipIpcOpenMemHandle = __library.get(b"hipIpcOpenMemHandle\0").map(|sym| *sym);
5149 let hipIpcCloseMemHandle = __library.get(b"hipIpcCloseMemHandle\0").map(|sym| *sym);
5150 let hipIpcGetEventHandle = __library.get(b"hipIpcGetEventHandle\0").map(|sym| *sym);
5151 let hipIpcOpenEventHandle = __library.get(b"hipIpcOpenEventHandle\0").map(|sym| *sym);
5152 let hipFuncSetAttribute = __library.get(b"hipFuncSetAttribute\0").map(|sym| *sym);
5153 let hipFuncSetCacheConfig = __library.get(b"hipFuncSetCacheConfig\0").map(|sym| *sym);
5154 let hipFuncSetSharedMemConfig = __library
5155 .get(b"hipFuncSetSharedMemConfig\0")
5156 .map(|sym| *sym);
5157 let hipGetLastError = __library.get(b"hipGetLastError\0").map(|sym| *sym);
5158 let hipPeekAtLastError = __library.get(b"hipPeekAtLastError\0").map(|sym| *sym);
5159 let hipGetErrorName = __library.get(b"hipGetErrorName\0").map(|sym| *sym);
5160 let hipGetErrorString = __library.get(b"hipGetErrorString\0").map(|sym| *sym);
5161 let hipDrvGetErrorName = __library.get(b"hipDrvGetErrorName\0").map(|sym| *sym);
5162 let hipDrvGetErrorString = __library.get(b"hipDrvGetErrorString\0").map(|sym| *sym);
5163 let hipStreamCreate = __library.get(b"hipStreamCreate\0").map(|sym| *sym);
5164 let hipStreamCreateWithFlags = __library.get(b"hipStreamCreateWithFlags\0").map(|sym| *sym);
5165 let hipStreamCreateWithPriority = __library
5166 .get(b"hipStreamCreateWithPriority\0")
5167 .map(|sym| *sym);
5168 let hipDeviceGetStreamPriorityRange = __library
5169 .get(b"hipDeviceGetStreamPriorityRange\0")
5170 .map(|sym| *sym);
5171 let hipStreamDestroy = __library.get(b"hipStreamDestroy\0").map(|sym| *sym);
5172 let hipStreamQuery = __library.get(b"hipStreamQuery\0").map(|sym| *sym);
5173 let hipStreamSynchronize = __library.get(b"hipStreamSynchronize\0").map(|sym| *sym);
5174 let hipStreamWaitEvent = __library.get(b"hipStreamWaitEvent\0").map(|sym| *sym);
5175 let hipStreamGetFlags = __library.get(b"hipStreamGetFlags\0").map(|sym| *sym);
5176 let hipStreamGetPriority = __library.get(b"hipStreamGetPriority\0").map(|sym| *sym);
5177 let hipExtStreamCreateWithCUMask = __library
5178 .get(b"hipExtStreamCreateWithCUMask\0")
5179 .map(|sym| *sym);
5180 let hipExtStreamGetCUMask = __library.get(b"hipExtStreamGetCUMask\0").map(|sym| *sym);
5181 let hipStreamAddCallback = __library.get(b"hipStreamAddCallback\0").map(|sym| *sym);
5182 let hipStreamWaitValue32 = __library.get(b"hipStreamWaitValue32\0").map(|sym| *sym);
5183 let hipStreamWaitValue64 = __library.get(b"hipStreamWaitValue64\0").map(|sym| *sym);
5184 let hipStreamWriteValue32 = __library.get(b"hipStreamWriteValue32\0").map(|sym| *sym);
5185 let hipStreamWriteValue64 = __library.get(b"hipStreamWriteValue64\0").map(|sym| *sym);
5186 let hipEventCreateWithFlags = __library.get(b"hipEventCreateWithFlags\0").map(|sym| *sym);
5187 let hipEventCreate = __library.get(b"hipEventCreate\0").map(|sym| *sym);
5188 let hipEventRecord = __library.get(b"hipEventRecord\0").map(|sym| *sym);
5189 let hipEventDestroy = __library.get(b"hipEventDestroy\0").map(|sym| *sym);
5190 let hipEventSynchronize = __library.get(b"hipEventSynchronize\0").map(|sym| *sym);
5191 let hipEventElapsedTime = __library.get(b"hipEventElapsedTime\0").map(|sym| *sym);
5192 let hipEventQuery = __library.get(b"hipEventQuery\0").map(|sym| *sym);
5193 let hipPointerGetAttributes = __library.get(b"hipPointerGetAttributes\0").map(|sym| *sym);
5194 let hipPointerGetAttribute = __library.get(b"hipPointerGetAttribute\0").map(|sym| *sym);
5195 let hipDrvPointerGetAttributes = __library
5196 .get(b"hipDrvPointerGetAttributes\0")
5197 .map(|sym| *sym);
5198 let hipImportExternalSemaphore = __library
5199 .get(b"hipImportExternalSemaphore\0")
5200 .map(|sym| *sym);
5201 let hipSignalExternalSemaphoresAsync = __library
5202 .get(b"hipSignalExternalSemaphoresAsync\0")
5203 .map(|sym| *sym);
5204 let hipWaitExternalSemaphoresAsync = __library
5205 .get(b"hipWaitExternalSemaphoresAsync\0")
5206 .map(|sym| *sym);
5207 let hipDestroyExternalSemaphore = __library
5208 .get(b"hipDestroyExternalSemaphore\0")
5209 .map(|sym| *sym);
5210 let hipImportExternalMemory = __library.get(b"hipImportExternalMemory\0").map(|sym| *sym);
5211 let hipExternalMemoryGetMappedBuffer = __library
5212 .get(b"hipExternalMemoryGetMappedBuffer\0")
5213 .map(|sym| *sym);
5214 let hipDestroyExternalMemory = __library.get(b"hipDestroyExternalMemory\0").map(|sym| *sym);
5215 let hipMalloc = __library.get(b"hipMalloc\0").map(|sym| *sym);
5216 let hipExtMallocWithFlags = __library.get(b"hipExtMallocWithFlags\0").map(|sym| *sym);
5217 let hipMallocHost = __library.get(b"hipMallocHost\0").map(|sym| *sym);
5218 let hipMemAllocHost = __library.get(b"hipMemAllocHost\0").map(|sym| *sym);
5219 let hipHostMalloc = __library.get(b"hipHostMalloc\0").map(|sym| *sym);
5220 let hipMallocManaged = __library.get(b"hipMallocManaged\0").map(|sym| *sym);
5221 let hipMemPrefetchAsync = __library.get(b"hipMemPrefetchAsync\0").map(|sym| *sym);
5222 let hipMemAdvise = __library.get(b"hipMemAdvise\0").map(|sym| *sym);
5223 let hipMemRangeGetAttribute = __library.get(b"hipMemRangeGetAttribute\0").map(|sym| *sym);
5224 let hipMemRangeGetAttributes = __library.get(b"hipMemRangeGetAttributes\0").map(|sym| *sym);
5225 let hipStreamAttachMemAsync = __library.get(b"hipStreamAttachMemAsync\0").map(|sym| *sym);
5226 let hipMallocAsync = __library.get(b"hipMallocAsync\0").map(|sym| *sym);
5227 let hipFreeAsync = __library.get(b"hipFreeAsync\0").map(|sym| *sym);
5228 let hipMemPoolTrimTo = __library.get(b"hipMemPoolTrimTo\0").map(|sym| *sym);
5229 let hipMemPoolSetAttribute = __library.get(b"hipMemPoolSetAttribute\0").map(|sym| *sym);
5230 let hipMemPoolGetAttribute = __library.get(b"hipMemPoolGetAttribute\0").map(|sym| *sym);
5231 let hipMemPoolSetAccess = __library.get(b"hipMemPoolSetAccess\0").map(|sym| *sym);
5232 let hipMemPoolGetAccess = __library.get(b"hipMemPoolGetAccess\0").map(|sym| *sym);
5233 let hipMemPoolCreate = __library.get(b"hipMemPoolCreate\0").map(|sym| *sym);
5234 let hipMemPoolDestroy = __library.get(b"hipMemPoolDestroy\0").map(|sym| *sym);
5235 let hipMallocFromPoolAsync = __library.get(b"hipMallocFromPoolAsync\0").map(|sym| *sym);
5236 let hipMemPoolExportToShareableHandle = __library
5237 .get(b"hipMemPoolExportToShareableHandle\0")
5238 .map(|sym| *sym);
5239 let hipMemPoolImportFromShareableHandle = __library
5240 .get(b"hipMemPoolImportFromShareableHandle\0")
5241 .map(|sym| *sym);
5242 let hipMemPoolExportPointer = __library.get(b"hipMemPoolExportPointer\0").map(|sym| *sym);
5243 let hipMemPoolImportPointer = __library.get(b"hipMemPoolImportPointer\0").map(|sym| *sym);
5244 let hipHostAlloc = __library.get(b"hipHostAlloc\0").map(|sym| *sym);
5245 let hipHostGetDevicePointer = __library.get(b"hipHostGetDevicePointer\0").map(|sym| *sym);
5246 let hipHostGetFlags = __library.get(b"hipHostGetFlags\0").map(|sym| *sym);
5247 let hipHostRegister = __library.get(b"hipHostRegister\0").map(|sym| *sym);
5248 let hipHostUnregister = __library.get(b"hipHostUnregister\0").map(|sym| *sym);
5249 let hipMallocPitch = __library.get(b"hipMallocPitch\0").map(|sym| *sym);
5250 let hipMemAllocPitch = __library.get(b"hipMemAllocPitch\0").map(|sym| *sym);
5251 let hipFree = __library.get(b"hipFree\0").map(|sym| *sym);
5252 let hipFreeHost = __library.get(b"hipFreeHost\0").map(|sym| *sym);
5253 let hipHostFree = __library.get(b"hipHostFree\0").map(|sym| *sym);
5254 let hipMemcpy = __library.get(b"hipMemcpy\0").map(|sym| *sym);
5255 let hipMemcpyWithStream = __library.get(b"hipMemcpyWithStream\0").map(|sym| *sym);
5256 let hipMemcpyHtoD = __library.get(b"hipMemcpyHtoD\0").map(|sym| *sym);
5257 let hipMemcpyDtoH = __library.get(b"hipMemcpyDtoH\0").map(|sym| *sym);
5258 let hipMemcpyDtoD = __library.get(b"hipMemcpyDtoD\0").map(|sym| *sym);
5259 let hipMemcpyHtoDAsync = __library.get(b"hipMemcpyHtoDAsync\0").map(|sym| *sym);
5260 let hipMemcpyDtoHAsync = __library.get(b"hipMemcpyDtoHAsync\0").map(|sym| *sym);
5261 let hipMemcpyDtoDAsync = __library.get(b"hipMemcpyDtoDAsync\0").map(|sym| *sym);
5262 let hipModuleGetGlobal = __library.get(b"hipModuleGetGlobal\0").map(|sym| *sym);
5263 let hipGetSymbolAddress = __library.get(b"hipGetSymbolAddress\0").map(|sym| *sym);
5264 let hipGetSymbolSize = __library.get(b"hipGetSymbolSize\0").map(|sym| *sym);
5265 let hipMemcpyToSymbol = __library.get(b"hipMemcpyToSymbol\0").map(|sym| *sym);
5266 let hipMemcpyToSymbolAsync = __library.get(b"hipMemcpyToSymbolAsync\0").map(|sym| *sym);
5267 let hipMemcpyFromSymbol = __library.get(b"hipMemcpyFromSymbol\0").map(|sym| *sym);
5268 let hipMemcpyFromSymbolAsync = __library.get(b"hipMemcpyFromSymbolAsync\0").map(|sym| *sym);
5269 let hipMemcpyAsync = __library.get(b"hipMemcpyAsync\0").map(|sym| *sym);
5270 let hipMemset = __library.get(b"hipMemset\0").map(|sym| *sym);
5271 let hipMemsetD8 = __library.get(b"hipMemsetD8\0").map(|sym| *sym);
5272 let hipMemsetD8Async = __library.get(b"hipMemsetD8Async\0").map(|sym| *sym);
5273 let hipMemsetD16 = __library.get(b"hipMemsetD16\0").map(|sym| *sym);
5274 let hipMemsetD16Async = __library.get(b"hipMemsetD16Async\0").map(|sym| *sym);
5275 let hipMemsetD32 = __library.get(b"hipMemsetD32\0").map(|sym| *sym);
5276 let hipMemsetAsync = __library.get(b"hipMemsetAsync\0").map(|sym| *sym);
5277 let hipMemsetD32Async = __library.get(b"hipMemsetD32Async\0").map(|sym| *sym);
5278 let hipMemset2D = __library.get(b"hipMemset2D\0").map(|sym| *sym);
5279 let hipMemset2DAsync = __library.get(b"hipMemset2DAsync\0").map(|sym| *sym);
5280 let hipMemset3D = __library.get(b"hipMemset3D\0").map(|sym| *sym);
5281 let hipMemset3DAsync = __library.get(b"hipMemset3DAsync\0").map(|sym| *sym);
5282 let hipMemGetInfo = __library.get(b"hipMemGetInfo\0").map(|sym| *sym);
5283 let hipMemPtrGetInfo = __library.get(b"hipMemPtrGetInfo\0").map(|sym| *sym);
5284 let hipMallocArray = __library.get(b"hipMallocArray\0").map(|sym| *sym);
5285 let hipArrayCreate = __library.get(b"hipArrayCreate\0").map(|sym| *sym);
5286 let hipArrayDestroy = __library.get(b"hipArrayDestroy\0").map(|sym| *sym);
5287 let hipArray3DCreate = __library.get(b"hipArray3DCreate\0").map(|sym| *sym);
5288 let hipMalloc3D = __library.get(b"hipMalloc3D\0").map(|sym| *sym);
5289 let hipFreeArray = __library.get(b"hipFreeArray\0").map(|sym| *sym);
5290 let hipFreeMipmappedArray = __library.get(b"hipFreeMipmappedArray\0").map(|sym| *sym);
5291 let hipMalloc3DArray = __library.get(b"hipMalloc3DArray\0").map(|sym| *sym);
5292 let hipMallocMipmappedArray = __library.get(b"hipMallocMipmappedArray\0").map(|sym| *sym);
5293 let hipGetMipmappedArrayLevel = __library
5294 .get(b"hipGetMipmappedArrayLevel\0")
5295 .map(|sym| *sym);
5296 let hipMemcpy2D = __library.get(b"hipMemcpy2D\0").map(|sym| *sym);
5297 let hipMemcpyParam2D = __library.get(b"hipMemcpyParam2D\0").map(|sym| *sym);
5298 let hipMemcpyParam2DAsync = __library.get(b"hipMemcpyParam2DAsync\0").map(|sym| *sym);
5299 let hipMemcpy2DAsync = __library.get(b"hipMemcpy2DAsync\0").map(|sym| *sym);
5300 let hipMemcpy2DToArray = __library.get(b"hipMemcpy2DToArray\0").map(|sym| *sym);
5301 let hipMemcpy2DToArrayAsync = __library.get(b"hipMemcpy2DToArrayAsync\0").map(|sym| *sym);
5302 let hipMemcpyToArray = __library.get(b"hipMemcpyToArray\0").map(|sym| *sym);
5303 let hipMemcpyFromArray = __library.get(b"hipMemcpyFromArray\0").map(|sym| *sym);
5304 let hipMemcpy2DFromArray = __library.get(b"hipMemcpy2DFromArray\0").map(|sym| *sym);
5305 let hipMemcpy2DFromArrayAsync = __library
5306 .get(b"hipMemcpy2DFromArrayAsync\0")
5307 .map(|sym| *sym);
5308 let hipMemcpyAtoH = __library.get(b"hipMemcpyAtoH\0").map(|sym| *sym);
5309 let hipMemcpyHtoA = __library.get(b"hipMemcpyHtoA\0").map(|sym| *sym);
5310 let hipMemcpy3D = __library.get(b"hipMemcpy3D\0").map(|sym| *sym);
5311 let hipMemcpy3DAsync = __library.get(b"hipMemcpy3DAsync\0").map(|sym| *sym);
5312 let hipDrvMemcpy3D = __library.get(b"hipDrvMemcpy3D\0").map(|sym| *sym);
5313 let hipDrvMemcpy3DAsync = __library.get(b"hipDrvMemcpy3DAsync\0").map(|sym| *sym);
5314 let hipDeviceCanAccessPeer = __library.get(b"hipDeviceCanAccessPeer\0").map(|sym| *sym);
5315 let hipDeviceEnablePeerAccess = __library
5316 .get(b"hipDeviceEnablePeerAccess\0")
5317 .map(|sym| *sym);
5318 let hipDeviceDisablePeerAccess = __library
5319 .get(b"hipDeviceDisablePeerAccess\0")
5320 .map(|sym| *sym);
5321 let hipMemGetAddressRange = __library.get(b"hipMemGetAddressRange\0").map(|sym| *sym);
5322 let hipMemcpyPeer = __library.get(b"hipMemcpyPeer\0").map(|sym| *sym);
5323 let hipMemcpyPeerAsync = __library.get(b"hipMemcpyPeerAsync\0").map(|sym| *sym);
5324 let hipCtxCreate = __library.get(b"hipCtxCreate\0").map(|sym| *sym);
5325 let hipCtxDestroy = __library.get(b"hipCtxDestroy\0").map(|sym| *sym);
5326 let hipCtxPopCurrent = __library.get(b"hipCtxPopCurrent\0").map(|sym| *sym);
5327 let hipCtxPushCurrent = __library.get(b"hipCtxPushCurrent\0").map(|sym| *sym);
5328 let hipCtxSetCurrent = __library.get(b"hipCtxSetCurrent\0").map(|sym| *sym);
5329 let hipCtxGetCurrent = __library.get(b"hipCtxGetCurrent\0").map(|sym| *sym);
5330 let hipCtxGetDevice = __library.get(b"hipCtxGetDevice\0").map(|sym| *sym);
5331 let hipCtxGetApiVersion = __library.get(b"hipCtxGetApiVersion\0").map(|sym| *sym);
5332 let hipCtxGetCacheConfig = __library.get(b"hipCtxGetCacheConfig\0").map(|sym| *sym);
5333 let hipCtxSetCacheConfig = __library.get(b"hipCtxSetCacheConfig\0").map(|sym| *sym);
5334 let hipCtxSetSharedMemConfig = __library.get(b"hipCtxSetSharedMemConfig\0").map(|sym| *sym);
5335 let hipCtxGetSharedMemConfig = __library.get(b"hipCtxGetSharedMemConfig\0").map(|sym| *sym);
5336 let hipCtxSynchronize = __library.get(b"hipCtxSynchronize\0").map(|sym| *sym);
5337 let hipCtxGetFlags = __library.get(b"hipCtxGetFlags\0").map(|sym| *sym);
5338 let hipCtxEnablePeerAccess = __library.get(b"hipCtxEnablePeerAccess\0").map(|sym| *sym);
5339 let hipCtxDisablePeerAccess = __library.get(b"hipCtxDisablePeerAccess\0").map(|sym| *sym);
5340 let hipDevicePrimaryCtxGetState = __library
5341 .get(b"hipDevicePrimaryCtxGetState\0")
5342 .map(|sym| *sym);
5343 let hipDevicePrimaryCtxRelease = __library
5344 .get(b"hipDevicePrimaryCtxRelease\0")
5345 .map(|sym| *sym);
5346 let hipDevicePrimaryCtxRetain = __library
5347 .get(b"hipDevicePrimaryCtxRetain\0")
5348 .map(|sym| *sym);
5349 let hipDevicePrimaryCtxReset = __library.get(b"hipDevicePrimaryCtxReset\0").map(|sym| *sym);
5350 let hipDevicePrimaryCtxSetFlags = __library
5351 .get(b"hipDevicePrimaryCtxSetFlags\0")
5352 .map(|sym| *sym);
5353 let hipModuleLoad = __library.get(b"hipModuleLoad\0").map(|sym| *sym);
5354 let hipModuleUnload = __library.get(b"hipModuleUnload\0").map(|sym| *sym);
5355 let hipModuleGetFunction = __library.get(b"hipModuleGetFunction\0").map(|sym| *sym);
5356 let hipFuncGetAttributes = __library.get(b"hipFuncGetAttributes\0").map(|sym| *sym);
5357 let hipFuncGetAttribute = __library.get(b"hipFuncGetAttribute\0").map(|sym| *sym);
5358 let hipModuleGetTexRef = __library.get(b"hipModuleGetTexRef\0").map(|sym| *sym);
5359 let hipModuleLoadData = __library.get(b"hipModuleLoadData\0").map(|sym| *sym);
5360 let hipModuleLoadDataEx = __library.get(b"hipModuleLoadDataEx\0").map(|sym| *sym);
5361 let hipModuleLaunchKernel = __library.get(b"hipModuleLaunchKernel\0").map(|sym| *sym);
5362 let hipLaunchCooperativeKernel = __library
5363 .get(b"hipLaunchCooperativeKernel\0")
5364 .map(|sym| *sym);
5365 let hipLaunchCooperativeKernelMultiDevice = __library
5366 .get(b"hipLaunchCooperativeKernelMultiDevice\0")
5367 .map(|sym| *sym);
5368 let hipExtLaunchMultiKernelMultiDevice = __library
5369 .get(b"hipExtLaunchMultiKernelMultiDevice\0")
5370 .map(|sym| *sym);
5371 let hipModuleOccupancyMaxPotentialBlockSize = __library
5372 .get(b"hipModuleOccupancyMaxPotentialBlockSize\0")
5373 .map(|sym| *sym);
5374 let hipModuleOccupancyMaxPotentialBlockSizeWithFlags = __library
5375 .get(b"hipModuleOccupancyMaxPotentialBlockSizeWithFlags\0")
5376 .map(|sym| *sym);
5377 let hipModuleOccupancyMaxActiveBlocksPerMultiprocessor = __library
5378 .get(b"hipModuleOccupancyMaxActiveBlocksPerMultiprocessor\0")
5379 .map(|sym| *sym);
5380 let hipModuleOccupancyMaxActiveBlocksPerMultiprocessorWithFlags = __library
5381 .get(b"hipModuleOccupancyMaxActiveBlocksPerMultiprocessorWithFlags\0")
5382 .map(|sym| *sym);
5383 let hipOccupancyMaxActiveBlocksPerMultiprocessor = __library
5384 .get(b"hipOccupancyMaxActiveBlocksPerMultiprocessor\0")
5385 .map(|sym| *sym);
5386 let hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags = __library
5387 .get(b"hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags\0")
5388 .map(|sym| *sym);
5389 let hipOccupancyMaxPotentialBlockSize = __library
5390 .get(b"hipOccupancyMaxPotentialBlockSize\0")
5391 .map(|sym| *sym);
5392 let hipProfilerStart = __library.get(b"hipProfilerStart\0").map(|sym| *sym);
5393 let hipProfilerStop = __library.get(b"hipProfilerStop\0").map(|sym| *sym);
5394 let hipConfigureCall = __library.get(b"hipConfigureCall\0").map(|sym| *sym);
5395 let hipSetupArgument = __library.get(b"hipSetupArgument\0").map(|sym| *sym);
5396 let hipLaunchByPtr = __library.get(b"hipLaunchByPtr\0").map(|sym| *sym);
5397 let hipLaunchKernel = __library.get(b"hipLaunchKernel\0").map(|sym| *sym);
5398 let hipLaunchHostFunc = __library.get(b"hipLaunchHostFunc\0").map(|sym| *sym);
5399 let hipDrvMemcpy2DUnaligned = __library.get(b"hipDrvMemcpy2DUnaligned\0").map(|sym| *sym);
5400 let hipExtLaunchKernel = __library.get(b"hipExtLaunchKernel\0").map(|sym| *sym);
5401 let hipBindTextureToMipmappedArray = __library
5402 .get(b"hipBindTextureToMipmappedArray\0")
5403 .map(|sym| *sym);
5404 let hipCreateTextureObject = __library.get(b"hipCreateTextureObject\0").map(|sym| *sym);
5405 let hipDestroyTextureObject = __library.get(b"hipDestroyTextureObject\0").map(|sym| *sym);
5406 let hipGetChannelDesc = __library.get(b"hipGetChannelDesc\0").map(|sym| *sym);
5407 let hipGetTextureObjectResourceDesc = __library
5408 .get(b"hipGetTextureObjectResourceDesc\0")
5409 .map(|sym| *sym);
5410 let hipGetTextureObjectResourceViewDesc = __library
5411 .get(b"hipGetTextureObjectResourceViewDesc\0")
5412 .map(|sym| *sym);
5413 let hipGetTextureObjectTextureDesc = __library
5414 .get(b"hipGetTextureObjectTextureDesc\0")
5415 .map(|sym| *sym);
5416 let hipTexObjectCreate = __library.get(b"hipTexObjectCreate\0").map(|sym| *sym);
5417 let hipTexObjectDestroy = __library.get(b"hipTexObjectDestroy\0").map(|sym| *sym);
5418 let hipTexObjectGetResourceDesc = __library
5419 .get(b"hipTexObjectGetResourceDesc\0")
5420 .map(|sym| *sym);
5421 let hipTexObjectGetResourceViewDesc = __library
5422 .get(b"hipTexObjectGetResourceViewDesc\0")
5423 .map(|sym| *sym);
5424 let hipTexObjectGetTextureDesc = __library
5425 .get(b"hipTexObjectGetTextureDesc\0")
5426 .map(|sym| *sym);
5427 let hipGetTextureReference = __library.get(b"hipGetTextureReference\0").map(|sym| *sym);
5428 let hipTexRefSetAddressMode = __library.get(b"hipTexRefSetAddressMode\0").map(|sym| *sym);
5429 let hipTexRefSetArray = __library.get(b"hipTexRefSetArray\0").map(|sym| *sym);
5430 let hipTexRefSetFilterMode = __library.get(b"hipTexRefSetFilterMode\0").map(|sym| *sym);
5431 let hipTexRefSetFlags = __library.get(b"hipTexRefSetFlags\0").map(|sym| *sym);
5432 let hipTexRefSetFormat = __library.get(b"hipTexRefSetFormat\0").map(|sym| *sym);
5433 let hipBindTexture = __library.get(b"hipBindTexture\0").map(|sym| *sym);
5434 let hipBindTexture2D = __library.get(b"hipBindTexture2D\0").map(|sym| *sym);
5435 let hipBindTextureToArray = __library.get(b"hipBindTextureToArray\0").map(|sym| *sym);
5436 let hipGetTextureAlignmentOffset = __library
5437 .get(b"hipGetTextureAlignmentOffset\0")
5438 .map(|sym| *sym);
5439 let hipUnbindTexture = __library.get(b"hipUnbindTexture\0").map(|sym| *sym);
5440 let hipTexRefGetAddress = __library.get(b"hipTexRefGetAddress\0").map(|sym| *sym);
5441 let hipTexRefGetAddressMode = __library.get(b"hipTexRefGetAddressMode\0").map(|sym| *sym);
5442 let hipTexRefGetFilterMode = __library.get(b"hipTexRefGetFilterMode\0").map(|sym| *sym);
5443 let hipTexRefGetFlags = __library.get(b"hipTexRefGetFlags\0").map(|sym| *sym);
5444 let hipTexRefGetFormat = __library.get(b"hipTexRefGetFormat\0").map(|sym| *sym);
5445 let hipTexRefGetMaxAnisotropy = __library
5446 .get(b"hipTexRefGetMaxAnisotropy\0")
5447 .map(|sym| *sym);
5448 let hipTexRefGetMipmapFilterMode = __library
5449 .get(b"hipTexRefGetMipmapFilterMode\0")
5450 .map(|sym| *sym);
5451 let hipTexRefGetMipmapLevelBias = __library
5452 .get(b"hipTexRefGetMipmapLevelBias\0")
5453 .map(|sym| *sym);
5454 let hipTexRefGetMipmapLevelClamp = __library
5455 .get(b"hipTexRefGetMipmapLevelClamp\0")
5456 .map(|sym| *sym);
5457 let hipTexRefGetMipMappedArray = __library
5458 .get(b"hipTexRefGetMipMappedArray\0")
5459 .map(|sym| *sym);
5460 let hipTexRefSetAddress = __library.get(b"hipTexRefSetAddress\0").map(|sym| *sym);
5461 let hipTexRefSetAddress2D = __library.get(b"hipTexRefSetAddress2D\0").map(|sym| *sym);
5462 let hipTexRefSetMaxAnisotropy = __library
5463 .get(b"hipTexRefSetMaxAnisotropy\0")
5464 .map(|sym| *sym);
5465 let hipTexRefSetBorderColor = __library.get(b"hipTexRefSetBorderColor\0").map(|sym| *sym);
5466 let hipTexRefSetMipmapFilterMode = __library
5467 .get(b"hipTexRefSetMipmapFilterMode\0")
5468 .map(|sym| *sym);
5469 let hipTexRefSetMipmapLevelBias = __library
5470 .get(b"hipTexRefSetMipmapLevelBias\0")
5471 .map(|sym| *sym);
5472 let hipTexRefSetMipmapLevelClamp = __library
5473 .get(b"hipTexRefSetMipmapLevelClamp\0")
5474 .map(|sym| *sym);
5475 let hipTexRefSetMipmappedArray = __library
5476 .get(b"hipTexRefSetMipmappedArray\0")
5477 .map(|sym| *sym);
5478 let hipMipmappedArrayCreate = __library.get(b"hipMipmappedArrayCreate\0").map(|sym| *sym);
5479 let hipMipmappedArrayDestroy = __library.get(b"hipMipmappedArrayDestroy\0").map(|sym| *sym);
5480 let hipMipmappedArrayGetLevel = __library
5481 .get(b"hipMipmappedArrayGetLevel\0")
5482 .map(|sym| *sym);
5483 let hipApiName = __library.get(b"hipApiName\0").map(|sym| *sym);
5484 let hipKernelNameRef = __library.get(b"hipKernelNameRef\0").map(|sym| *sym);
5485 let hipKernelNameRefByPtr = __library.get(b"hipKernelNameRefByPtr\0").map(|sym| *sym);
5486 let hipGetStreamDeviceId = __library.get(b"hipGetStreamDeviceId\0").map(|sym| *sym);
5487 let hipStreamBeginCapture = __library.get(b"hipStreamBeginCapture\0").map(|sym| *sym);
5488 let hipStreamEndCapture = __library.get(b"hipStreamEndCapture\0").map(|sym| *sym);
5489 let hipStreamGetCaptureInfo = __library.get(b"hipStreamGetCaptureInfo\0").map(|sym| *sym);
5490 let hipStreamGetCaptureInfo_v2 = __library
5491 .get(b"hipStreamGetCaptureInfo_v2\0")
5492 .map(|sym| *sym);
5493 let hipStreamIsCapturing = __library.get(b"hipStreamIsCapturing\0").map(|sym| *sym);
5494 let hipStreamUpdateCaptureDependencies = __library
5495 .get(b"hipStreamUpdateCaptureDependencies\0")
5496 .map(|sym| *sym);
5497 let hipThreadExchangeStreamCaptureMode = __library
5498 .get(b"hipThreadExchangeStreamCaptureMode\0")
5499 .map(|sym| *sym);
5500 let hipGraphCreate = __library.get(b"hipGraphCreate\0").map(|sym| *sym);
5501 let hipGraphDestroy = __library.get(b"hipGraphDestroy\0").map(|sym| *sym);
5502 let hipGraphAddDependencies = __library.get(b"hipGraphAddDependencies\0").map(|sym| *sym);
5503 let hipGraphRemoveDependencies = __library
5504 .get(b"hipGraphRemoveDependencies\0")
5505 .map(|sym| *sym);
5506 let hipGraphGetEdges = __library.get(b"hipGraphGetEdges\0").map(|sym| *sym);
5507 let hipGraphGetNodes = __library.get(b"hipGraphGetNodes\0").map(|sym| *sym);
5508 let hipGraphGetRootNodes = __library.get(b"hipGraphGetRootNodes\0").map(|sym| *sym);
5509 let hipGraphNodeGetDependencies = __library
5510 .get(b"hipGraphNodeGetDependencies\0")
5511 .map(|sym| *sym);
5512 let hipGraphNodeGetDependentNodes = __library
5513 .get(b"hipGraphNodeGetDependentNodes\0")
5514 .map(|sym| *sym);
5515 let hipGraphNodeGetType = __library.get(b"hipGraphNodeGetType\0").map(|sym| *sym);
5516 let hipGraphDestroyNode = __library.get(b"hipGraphDestroyNode\0").map(|sym| *sym);
5517 let hipGraphClone = __library.get(b"hipGraphClone\0").map(|sym| *sym);
5518 let hipGraphNodeFindInClone = __library.get(b"hipGraphNodeFindInClone\0").map(|sym| *sym);
5519 let hipGraphInstantiate = __library.get(b"hipGraphInstantiate\0").map(|sym| *sym);
5520 let hipGraphInstantiateWithFlags = __library
5521 .get(b"hipGraphInstantiateWithFlags\0")
5522 .map(|sym| *sym);
5523 let hipGraphLaunch = __library.get(b"hipGraphLaunch\0").map(|sym| *sym);
5524 let hipGraphUpload = __library.get(b"hipGraphUpload\0").map(|sym| *sym);
5525 let hipGraphExecDestroy = __library.get(b"hipGraphExecDestroy\0").map(|sym| *sym);
5526 let hipGraphExecUpdate = __library.get(b"hipGraphExecUpdate\0").map(|sym| *sym);
5527 let hipGraphAddKernelNode = __library.get(b"hipGraphAddKernelNode\0").map(|sym| *sym);
5528 let hipGraphKernelNodeGetParams = __library
5529 .get(b"hipGraphKernelNodeGetParams\0")
5530 .map(|sym| *sym);
5531 let hipGraphKernelNodeSetParams = __library
5532 .get(b"hipGraphKernelNodeSetParams\0")
5533 .map(|sym| *sym);
5534 let hipGraphExecKernelNodeSetParams = __library
5535 .get(b"hipGraphExecKernelNodeSetParams\0")
5536 .map(|sym| *sym);
5537 let hipGraphAddMemcpyNode = __library.get(b"hipGraphAddMemcpyNode\0").map(|sym| *sym);
5538 let hipGraphMemcpyNodeGetParams = __library
5539 .get(b"hipGraphMemcpyNodeGetParams\0")
5540 .map(|sym| *sym);
5541 let hipGraphMemcpyNodeSetParams = __library
5542 .get(b"hipGraphMemcpyNodeSetParams\0")
5543 .map(|sym| *sym);
5544 let hipGraphKernelNodeSetAttribute = __library
5545 .get(b"hipGraphKernelNodeSetAttribute\0")
5546 .map(|sym| *sym);
5547 let hipGraphKernelNodeGetAttribute = __library
5548 .get(b"hipGraphKernelNodeGetAttribute\0")
5549 .map(|sym| *sym);
5550 let hipGraphExecMemcpyNodeSetParams = __library
5551 .get(b"hipGraphExecMemcpyNodeSetParams\0")
5552 .map(|sym| *sym);
5553 let hipGraphAddMemcpyNode1D = __library.get(b"hipGraphAddMemcpyNode1D\0").map(|sym| *sym);
5554 let hipGraphMemcpyNodeSetParams1D = __library
5555 .get(b"hipGraphMemcpyNodeSetParams1D\0")
5556 .map(|sym| *sym);
5557 let hipGraphExecMemcpyNodeSetParams1D = __library
5558 .get(b"hipGraphExecMemcpyNodeSetParams1D\0")
5559 .map(|sym| *sym);
5560 let hipGraphAddMemcpyNodeFromSymbol = __library
5561 .get(b"hipGraphAddMemcpyNodeFromSymbol\0")
5562 .map(|sym| *sym);
5563 let hipGraphMemcpyNodeSetParamsFromSymbol = __library
5564 .get(b"hipGraphMemcpyNodeSetParamsFromSymbol\0")
5565 .map(|sym| *sym);
5566 let hipGraphExecMemcpyNodeSetParamsFromSymbol = __library
5567 .get(b"hipGraphExecMemcpyNodeSetParamsFromSymbol\0")
5568 .map(|sym| *sym);
5569 let hipGraphAddMemcpyNodeToSymbol = __library
5570 .get(b"hipGraphAddMemcpyNodeToSymbol\0")
5571 .map(|sym| *sym);
5572 let hipGraphMemcpyNodeSetParamsToSymbol = __library
5573 .get(b"hipGraphMemcpyNodeSetParamsToSymbol\0")
5574 .map(|sym| *sym);
5575 let hipGraphExecMemcpyNodeSetParamsToSymbol = __library
5576 .get(b"hipGraphExecMemcpyNodeSetParamsToSymbol\0")
5577 .map(|sym| *sym);
5578 let hipGraphAddMemsetNode = __library.get(b"hipGraphAddMemsetNode\0").map(|sym| *sym);
5579 let hipGraphMemsetNodeGetParams = __library
5580 .get(b"hipGraphMemsetNodeGetParams\0")
5581 .map(|sym| *sym);
5582 let hipGraphMemsetNodeSetParams = __library
5583 .get(b"hipGraphMemsetNodeSetParams\0")
5584 .map(|sym| *sym);
5585 let hipGraphExecMemsetNodeSetParams = __library
5586 .get(b"hipGraphExecMemsetNodeSetParams\0")
5587 .map(|sym| *sym);
5588 let hipGraphAddHostNode = __library.get(b"hipGraphAddHostNode\0").map(|sym| *sym);
5589 let hipGraphHostNodeGetParams = __library
5590 .get(b"hipGraphHostNodeGetParams\0")
5591 .map(|sym| *sym);
5592 let hipGraphHostNodeSetParams = __library
5593 .get(b"hipGraphHostNodeSetParams\0")
5594 .map(|sym| *sym);
5595 let hipGraphExecHostNodeSetParams = __library
5596 .get(b"hipGraphExecHostNodeSetParams\0")
5597 .map(|sym| *sym);
5598 let hipGraphAddChildGraphNode = __library
5599 .get(b"hipGraphAddChildGraphNode\0")
5600 .map(|sym| *sym);
5601 let hipGraphChildGraphNodeGetGraph = __library
5602 .get(b"hipGraphChildGraphNodeGetGraph\0")
5603 .map(|sym| *sym);
5604 let hipGraphExecChildGraphNodeSetParams = __library
5605 .get(b"hipGraphExecChildGraphNodeSetParams\0")
5606 .map(|sym| *sym);
5607 let hipGraphAddEmptyNode = __library.get(b"hipGraphAddEmptyNode\0").map(|sym| *sym);
5608 let hipGraphAddEventRecordNode = __library
5609 .get(b"hipGraphAddEventRecordNode\0")
5610 .map(|sym| *sym);
5611 let hipGraphEventRecordNodeGetEvent = __library
5612 .get(b"hipGraphEventRecordNodeGetEvent\0")
5613 .map(|sym| *sym);
5614 let hipGraphEventRecordNodeSetEvent = __library
5615 .get(b"hipGraphEventRecordNodeSetEvent\0")
5616 .map(|sym| *sym);
5617 let hipGraphExecEventRecordNodeSetEvent = __library
5618 .get(b"hipGraphExecEventRecordNodeSetEvent\0")
5619 .map(|sym| *sym);
5620 let hipGraphAddEventWaitNode = __library.get(b"hipGraphAddEventWaitNode\0").map(|sym| *sym);
5621 let hipGraphEventWaitNodeGetEvent = __library
5622 .get(b"hipGraphEventWaitNodeGetEvent\0")
5623 .map(|sym| *sym);
5624 let hipGraphEventWaitNodeSetEvent = __library
5625 .get(b"hipGraphEventWaitNodeSetEvent\0")
5626 .map(|sym| *sym);
5627 let hipGraphExecEventWaitNodeSetEvent = __library
5628 .get(b"hipGraphExecEventWaitNodeSetEvent\0")
5629 .map(|sym| *sym);
5630 let hipDeviceGetGraphMemAttribute = __library
5631 .get(b"hipDeviceGetGraphMemAttribute\0")
5632 .map(|sym| *sym);
5633 let hipDeviceSetGraphMemAttribute = __library
5634 .get(b"hipDeviceSetGraphMemAttribute\0")
5635 .map(|sym| *sym);
5636 let hipDeviceGraphMemTrim = __library.get(b"hipDeviceGraphMemTrim\0").map(|sym| *sym);
5637 let hipUserObjectCreate = __library.get(b"hipUserObjectCreate\0").map(|sym| *sym);
5638 let hipUserObjectRelease = __library.get(b"hipUserObjectRelease\0").map(|sym| *sym);
5639 let hipUserObjectRetain = __library.get(b"hipUserObjectRetain\0").map(|sym| *sym);
5640 let hipGraphRetainUserObject = __library.get(b"hipGraphRetainUserObject\0").map(|sym| *sym);
5641 let hipGraphReleaseUserObject = __library
5642 .get(b"hipGraphReleaseUserObject\0")
5643 .map(|sym| *sym);
5644 let hipMemAddressFree = __library.get(b"hipMemAddressFree\0").map(|sym| *sym);
5645 let hipMemAddressReserve = __library.get(b"hipMemAddressReserve\0").map(|sym| *sym);
5646 let hipMemCreate = __library.get(b"hipMemCreate\0").map(|sym| *sym);
5647 let hipMemExportToShareableHandle = __library
5648 .get(b"hipMemExportToShareableHandle\0")
5649 .map(|sym| *sym);
5650 let hipMemGetAccess = __library.get(b"hipMemGetAccess\0").map(|sym| *sym);
5651 let hipMemGetAllocationGranularity = __library
5652 .get(b"hipMemGetAllocationGranularity\0")
5653 .map(|sym| *sym);
5654 let hipMemGetAllocationPropertiesFromHandle = __library
5655 .get(b"hipMemGetAllocationPropertiesFromHandle\0")
5656 .map(|sym| *sym);
5657 let hipMemImportFromShareableHandle = __library
5658 .get(b"hipMemImportFromShareableHandle\0")
5659 .map(|sym| *sym);
5660 let hipMemMap = __library.get(b"hipMemMap\0").map(|sym| *sym);
5661 let hipMemMapArrayAsync = __library.get(b"hipMemMapArrayAsync\0").map(|sym| *sym);
5662 let hipMemRelease = __library.get(b"hipMemRelease\0").map(|sym| *sym);
5663 let hipMemRetainAllocationHandle = __library
5664 .get(b"hipMemRetainAllocationHandle\0")
5665 .map(|sym| *sym);
5666 let hipMemSetAccess = __library.get(b"hipMemSetAccess\0").map(|sym| *sym);
5667 let hipMemUnmap = __library.get(b"hipMemUnmap\0").map(|sym| *sym);
5668 let hipGLGetDevices = __library.get(b"hipGLGetDevices\0").map(|sym| *sym);
5669 let hipGraphicsGLRegisterBuffer = __library
5670 .get(b"hipGraphicsGLRegisterBuffer\0")
5671 .map(|sym| *sym);
5672 let hipGraphicsGLRegisterImage = __library
5673 .get(b"hipGraphicsGLRegisterImage\0")
5674 .map(|sym| *sym);
5675 let hipGraphicsMapResources = __library.get(b"hipGraphicsMapResources\0").map(|sym| *sym);
5676 let hipGraphicsSubResourceGetMappedArray = __library
5677 .get(b"hipGraphicsSubResourceGetMappedArray\0")
5678 .map(|sym| *sym);
5679 let hipGraphicsResourceGetMappedPointer = __library
5680 .get(b"hipGraphicsResourceGetMappedPointer\0")
5681 .map(|sym| *sym);
5682 let hipGraphicsUnmapResources = __library
5683 .get(b"hipGraphicsUnmapResources\0")
5684 .map(|sym| *sym);
5685 let hipGraphicsUnregisterResource = __library
5686 .get(b"hipGraphicsUnregisterResource\0")
5687 .map(|sym| *sym);
5688 let hipMemcpy_spt = __library.get(b"hipMemcpy_spt\0").map(|sym| *sym);
5689 let hipMemcpyToSymbol_spt = __library.get(b"hipMemcpyToSymbol_spt\0").map(|sym| *sym);
5690 let hipMemcpyFromSymbol_spt = __library.get(b"hipMemcpyFromSymbol_spt\0").map(|sym| *sym);
5691 let hipMemcpy2D_spt = __library.get(b"hipMemcpy2D_spt\0").map(|sym| *sym);
5692 let hipMemcpy2DFromArray_spt = __library.get(b"hipMemcpy2DFromArray_spt\0").map(|sym| *sym);
5693 let hipMemcpy3D_spt = __library.get(b"hipMemcpy3D_spt\0").map(|sym| *sym);
5694 let hipMemset_spt = __library.get(b"hipMemset_spt\0").map(|sym| *sym);
5695 let hipMemsetAsync_spt = __library.get(b"hipMemsetAsync_spt\0").map(|sym| *sym);
5696 let hipMemset2D_spt = __library.get(b"hipMemset2D_spt\0").map(|sym| *sym);
5697 let hipMemset2DAsync_spt = __library.get(b"hipMemset2DAsync_spt\0").map(|sym| *sym);
5698 let hipMemset3DAsync_spt = __library.get(b"hipMemset3DAsync_spt\0").map(|sym| *sym);
5699 let hipMemset3D_spt = __library.get(b"hipMemset3D_spt\0").map(|sym| *sym);
5700 let hipMemcpyAsync_spt = __library.get(b"hipMemcpyAsync_spt\0").map(|sym| *sym);
5701 let hipMemcpy3DAsync_spt = __library.get(b"hipMemcpy3DAsync_spt\0").map(|sym| *sym);
5702 let hipMemcpy2DAsync_spt = __library.get(b"hipMemcpy2DAsync_spt\0").map(|sym| *sym);
5703 let hipMemcpyFromSymbolAsync_spt = __library
5704 .get(b"hipMemcpyFromSymbolAsync_spt\0")
5705 .map(|sym| *sym);
5706 let hipMemcpyToSymbolAsync_spt = __library
5707 .get(b"hipMemcpyToSymbolAsync_spt\0")
5708 .map(|sym| *sym);
5709 let hipMemcpyFromArray_spt = __library.get(b"hipMemcpyFromArray_spt\0").map(|sym| *sym);
5710 let hipMemcpy2DToArray_spt = __library.get(b"hipMemcpy2DToArray_spt\0").map(|sym| *sym);
5711 let hipMemcpy2DFromArrayAsync_spt = __library
5712 .get(b"hipMemcpy2DFromArrayAsync_spt\0")
5713 .map(|sym| *sym);
5714 let hipMemcpy2DToArrayAsync_spt = __library
5715 .get(b"hipMemcpy2DToArrayAsync_spt\0")
5716 .map(|sym| *sym);
5717 let hipStreamQuery_spt = __library.get(b"hipStreamQuery_spt\0").map(|sym| *sym);
5718 let hipStreamSynchronize_spt = __library.get(b"hipStreamSynchronize_spt\0").map(|sym| *sym);
5719 let hipStreamGetPriority_spt = __library.get(b"hipStreamGetPriority_spt\0").map(|sym| *sym);
5720 let hipStreamWaitEvent_spt = __library.get(b"hipStreamWaitEvent_spt\0").map(|sym| *sym);
5721 let hipStreamGetFlags_spt = __library.get(b"hipStreamGetFlags_spt\0").map(|sym| *sym);
5722 let hipStreamAddCallback_spt = __library.get(b"hipStreamAddCallback_spt\0").map(|sym| *sym);
5723 let hipEventRecord_spt = __library.get(b"hipEventRecord_spt\0").map(|sym| *sym);
5724 let hipLaunchCooperativeKernel_spt = __library
5725 .get(b"hipLaunchCooperativeKernel_spt\0")
5726 .map(|sym| *sym);
5727 let hipLaunchKernel_spt = __library.get(b"hipLaunchKernel_spt\0").map(|sym| *sym);
5728 let hipGraphLaunch_spt = __library.get(b"hipGraphLaunch_spt\0").map(|sym| *sym);
5729 let hipStreamBeginCapture_spt = __library
5730 .get(b"hipStreamBeginCapture_spt\0")
5731 .map(|sym| *sym);
5732 let hipStreamEndCapture_spt = __library.get(b"hipStreamEndCapture_spt\0").map(|sym| *sym);
5733 let hipStreamIsCapturing_spt = __library.get(b"hipStreamIsCapturing_spt\0").map(|sym| *sym);
5734 let hipStreamGetCaptureInfo_spt = __library
5735 .get(b"hipStreamGetCaptureInfo_spt\0")
5736 .map(|sym| *sym);
5737 let hipStreamGetCaptureInfo_v2_spt = __library
5738 .get(b"hipStreamGetCaptureInfo_v2_spt\0")
5739 .map(|sym| *sym);
5740 let hipLaunchHostFunc_spt = __library.get(b"hipLaunchHostFunc_spt\0").map(|sym| *sym);
5741 Ok(hip {
5742 __library,
5743 hipCreateChannelDesc,
5744 hipInit,
5745 hipDriverGetVersion,
5746 hipRuntimeGetVersion,
5747 hipDeviceGet,
5748 hipDeviceComputeCapability,
5749 hipDeviceGetName,
5750 hipDeviceGetUuid,
5751 hipDeviceGetP2PAttribute,
5752 hipDeviceGetPCIBusId,
5753 hipDeviceGetByPCIBusId,
5754 hipDeviceTotalMem,
5755 hipDeviceSynchronize,
5756 hipDeviceReset,
5757 hipSetDevice,
5758 hipGetDevice,
5759 hipGetDeviceCount,
5760 hipDeviceGetAttribute,
5761 hipDeviceGetDefaultMemPool,
5762 hipDeviceSetMemPool,
5763 hipDeviceGetMemPool,
5764 hipGetDeviceProperties,
5765 hipDeviceSetCacheConfig,
5766 hipDeviceGetCacheConfig,
5767 hipDeviceGetLimit,
5768 hipDeviceSetLimit,
5769 hipDeviceGetSharedMemConfig,
5770 hipGetDeviceFlags,
5771 hipDeviceSetSharedMemConfig,
5772 hipSetDeviceFlags,
5773 hipChooseDevice,
5774 hipExtGetLinkTypeAndHopCount,
5775 hipIpcGetMemHandle,
5776 hipIpcOpenMemHandle,
5777 hipIpcCloseMemHandle,
5778 hipIpcGetEventHandle,
5779 hipIpcOpenEventHandle,
5780 hipFuncSetAttribute,
5781 hipFuncSetCacheConfig,
5782 hipFuncSetSharedMemConfig,
5783 hipGetLastError,
5784 hipPeekAtLastError,
5785 hipGetErrorName,
5786 hipGetErrorString,
5787 hipDrvGetErrorName,
5788 hipDrvGetErrorString,
5789 hipStreamCreate,
5790 hipStreamCreateWithFlags,
5791 hipStreamCreateWithPriority,
5792 hipDeviceGetStreamPriorityRange,
5793 hipStreamDestroy,
5794 hipStreamQuery,
5795 hipStreamSynchronize,
5796 hipStreamWaitEvent,
5797 hipStreamGetFlags,
5798 hipStreamGetPriority,
5799 hipExtStreamCreateWithCUMask,
5800 hipExtStreamGetCUMask,
5801 hipStreamAddCallback,
5802 hipStreamWaitValue32,
5803 hipStreamWaitValue64,
5804 hipStreamWriteValue32,
5805 hipStreamWriteValue64,
5806 hipEventCreateWithFlags,
5807 hipEventCreate,
5808 hipEventRecord,
5809 hipEventDestroy,
5810 hipEventSynchronize,
5811 hipEventElapsedTime,
5812 hipEventQuery,
5813 hipPointerGetAttributes,
5814 hipPointerGetAttribute,
5815 hipDrvPointerGetAttributes,
5816 hipImportExternalSemaphore,
5817 hipSignalExternalSemaphoresAsync,
5818 hipWaitExternalSemaphoresAsync,
5819 hipDestroyExternalSemaphore,
5820 hipImportExternalMemory,
5821 hipExternalMemoryGetMappedBuffer,
5822 hipDestroyExternalMemory,
5823 hipMalloc,
5824 hipExtMallocWithFlags,
5825 hipMallocHost,
5826 hipMemAllocHost,
5827 hipHostMalloc,
5828 hipMallocManaged,
5829 hipMemPrefetchAsync,
5830 hipMemAdvise,
5831 hipMemRangeGetAttribute,
5832 hipMemRangeGetAttributes,
5833 hipStreamAttachMemAsync,
5834 hipMallocAsync,
5835 hipFreeAsync,
5836 hipMemPoolTrimTo,
5837 hipMemPoolSetAttribute,
5838 hipMemPoolGetAttribute,
5839 hipMemPoolSetAccess,
5840 hipMemPoolGetAccess,
5841 hipMemPoolCreate,
5842 hipMemPoolDestroy,
5843 hipMallocFromPoolAsync,
5844 hipMemPoolExportToShareableHandle,
5845 hipMemPoolImportFromShareableHandle,
5846 hipMemPoolExportPointer,
5847 hipMemPoolImportPointer,
5848 hipHostAlloc,
5849 hipHostGetDevicePointer,
5850 hipHostGetFlags,
5851 hipHostRegister,
5852 hipHostUnregister,
5853 hipMallocPitch,
5854 hipMemAllocPitch,
5855 hipFree,
5856 hipFreeHost,
5857 hipHostFree,
5858 hipMemcpy,
5859 hipMemcpyWithStream,
5860 hipMemcpyHtoD,
5861 hipMemcpyDtoH,
5862 hipMemcpyDtoD,
5863 hipMemcpyHtoDAsync,
5864 hipMemcpyDtoHAsync,
5865 hipMemcpyDtoDAsync,
5866 hipModuleGetGlobal,
5867 hipGetSymbolAddress,
5868 hipGetSymbolSize,
5869 hipMemcpyToSymbol,
5870 hipMemcpyToSymbolAsync,
5871 hipMemcpyFromSymbol,
5872 hipMemcpyFromSymbolAsync,
5873 hipMemcpyAsync,
5874 hipMemset,
5875 hipMemsetD8,
5876 hipMemsetD8Async,
5877 hipMemsetD16,
5878 hipMemsetD16Async,
5879 hipMemsetD32,
5880 hipMemsetAsync,
5881 hipMemsetD32Async,
5882 hipMemset2D,
5883 hipMemset2DAsync,
5884 hipMemset3D,
5885 hipMemset3DAsync,
5886 hipMemGetInfo,
5887 hipMemPtrGetInfo,
5888 hipMallocArray,
5889 hipArrayCreate,
5890 hipArrayDestroy,
5891 hipArray3DCreate,
5892 hipMalloc3D,
5893 hipFreeArray,
5894 hipFreeMipmappedArray,
5895 hipMalloc3DArray,
5896 hipMallocMipmappedArray,
5897 hipGetMipmappedArrayLevel,
5898 hipMemcpy2D,
5899 hipMemcpyParam2D,
5900 hipMemcpyParam2DAsync,
5901 hipMemcpy2DAsync,
5902 hipMemcpy2DToArray,
5903 hipMemcpy2DToArrayAsync,
5904 hipMemcpyToArray,
5905 hipMemcpyFromArray,
5906 hipMemcpy2DFromArray,
5907 hipMemcpy2DFromArrayAsync,
5908 hipMemcpyAtoH,
5909 hipMemcpyHtoA,
5910 hipMemcpy3D,
5911 hipMemcpy3DAsync,
5912 hipDrvMemcpy3D,
5913 hipDrvMemcpy3DAsync,
5914 hipDeviceCanAccessPeer,
5915 hipDeviceEnablePeerAccess,
5916 hipDeviceDisablePeerAccess,
5917 hipMemGetAddressRange,
5918 hipMemcpyPeer,
5919 hipMemcpyPeerAsync,
5920 hipCtxCreate,
5921 hipCtxDestroy,
5922 hipCtxPopCurrent,
5923 hipCtxPushCurrent,
5924 hipCtxSetCurrent,
5925 hipCtxGetCurrent,
5926 hipCtxGetDevice,
5927 hipCtxGetApiVersion,
5928 hipCtxGetCacheConfig,
5929 hipCtxSetCacheConfig,
5930 hipCtxSetSharedMemConfig,
5931 hipCtxGetSharedMemConfig,
5932 hipCtxSynchronize,
5933 hipCtxGetFlags,
5934 hipCtxEnablePeerAccess,
5935 hipCtxDisablePeerAccess,
5936 hipDevicePrimaryCtxGetState,
5937 hipDevicePrimaryCtxRelease,
5938 hipDevicePrimaryCtxRetain,
5939 hipDevicePrimaryCtxReset,
5940 hipDevicePrimaryCtxSetFlags,
5941 hipModuleLoad,
5942 hipModuleUnload,
5943 hipModuleGetFunction,
5944 hipFuncGetAttributes,
5945 hipFuncGetAttribute,
5946 hipModuleGetTexRef,
5947 hipModuleLoadData,
5948 hipModuleLoadDataEx,
5949 hipModuleLaunchKernel,
5950 hipLaunchCooperativeKernel,
5951 hipLaunchCooperativeKernelMultiDevice,
5952 hipExtLaunchMultiKernelMultiDevice,
5953 hipModuleOccupancyMaxPotentialBlockSize,
5954 hipModuleOccupancyMaxPotentialBlockSizeWithFlags,
5955 hipModuleOccupancyMaxActiveBlocksPerMultiprocessor,
5956 hipModuleOccupancyMaxActiveBlocksPerMultiprocessorWithFlags,
5957 hipOccupancyMaxActiveBlocksPerMultiprocessor,
5958 hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags,
5959 hipOccupancyMaxPotentialBlockSize,
5960 hipProfilerStart,
5961 hipProfilerStop,
5962 hipConfigureCall,
5963 hipSetupArgument,
5964 hipLaunchByPtr,
5965 hipLaunchKernel,
5966 hipLaunchHostFunc,
5967 hipDrvMemcpy2DUnaligned,
5968 hipExtLaunchKernel,
5969 hipBindTextureToMipmappedArray,
5970 hipCreateTextureObject,
5971 hipDestroyTextureObject,
5972 hipGetChannelDesc,
5973 hipGetTextureObjectResourceDesc,
5974 hipGetTextureObjectResourceViewDesc,
5975 hipGetTextureObjectTextureDesc,
5976 hipTexObjectCreate,
5977 hipTexObjectDestroy,
5978 hipTexObjectGetResourceDesc,
5979 hipTexObjectGetResourceViewDesc,
5980 hipTexObjectGetTextureDesc,
5981 hipGetTextureReference,
5982 hipTexRefSetAddressMode,
5983 hipTexRefSetArray,
5984 hipTexRefSetFilterMode,
5985 hipTexRefSetFlags,
5986 hipTexRefSetFormat,
5987 hipBindTexture,
5988 hipBindTexture2D,
5989 hipBindTextureToArray,
5990 hipGetTextureAlignmentOffset,
5991 hipUnbindTexture,
5992 hipTexRefGetAddress,
5993 hipTexRefGetAddressMode,
5994 hipTexRefGetFilterMode,
5995 hipTexRefGetFlags,
5996 hipTexRefGetFormat,
5997 hipTexRefGetMaxAnisotropy,
5998 hipTexRefGetMipmapFilterMode,
5999 hipTexRefGetMipmapLevelBias,
6000 hipTexRefGetMipmapLevelClamp,
6001 hipTexRefGetMipMappedArray,
6002 hipTexRefSetAddress,
6003 hipTexRefSetAddress2D,
6004 hipTexRefSetMaxAnisotropy,
6005 hipTexRefSetBorderColor,
6006 hipTexRefSetMipmapFilterMode,
6007 hipTexRefSetMipmapLevelBias,
6008 hipTexRefSetMipmapLevelClamp,
6009 hipTexRefSetMipmappedArray,
6010 hipMipmappedArrayCreate,
6011 hipMipmappedArrayDestroy,
6012 hipMipmappedArrayGetLevel,
6013 hipApiName,
6014 hipKernelNameRef,
6015 hipKernelNameRefByPtr,
6016 hipGetStreamDeviceId,
6017 hipStreamBeginCapture,
6018 hipStreamEndCapture,
6019 hipStreamGetCaptureInfo,
6020 hipStreamGetCaptureInfo_v2,
6021 hipStreamIsCapturing,
6022 hipStreamUpdateCaptureDependencies,
6023 hipThreadExchangeStreamCaptureMode,
6024 hipGraphCreate,
6025 hipGraphDestroy,
6026 hipGraphAddDependencies,
6027 hipGraphRemoveDependencies,
6028 hipGraphGetEdges,
6029 hipGraphGetNodes,
6030 hipGraphGetRootNodes,
6031 hipGraphNodeGetDependencies,
6032 hipGraphNodeGetDependentNodes,
6033 hipGraphNodeGetType,
6034 hipGraphDestroyNode,
6035 hipGraphClone,
6036 hipGraphNodeFindInClone,
6037 hipGraphInstantiate,
6038 hipGraphInstantiateWithFlags,
6039 hipGraphLaunch,
6040 hipGraphUpload,
6041 hipGraphExecDestroy,
6042 hipGraphExecUpdate,
6043 hipGraphAddKernelNode,
6044 hipGraphKernelNodeGetParams,
6045 hipGraphKernelNodeSetParams,
6046 hipGraphExecKernelNodeSetParams,
6047 hipGraphAddMemcpyNode,
6048 hipGraphMemcpyNodeGetParams,
6049 hipGraphMemcpyNodeSetParams,
6050 hipGraphKernelNodeSetAttribute,
6051 hipGraphKernelNodeGetAttribute,
6052 hipGraphExecMemcpyNodeSetParams,
6053 hipGraphAddMemcpyNode1D,
6054 hipGraphMemcpyNodeSetParams1D,
6055 hipGraphExecMemcpyNodeSetParams1D,
6056 hipGraphAddMemcpyNodeFromSymbol,
6057 hipGraphMemcpyNodeSetParamsFromSymbol,
6058 hipGraphExecMemcpyNodeSetParamsFromSymbol,
6059 hipGraphAddMemcpyNodeToSymbol,
6060 hipGraphMemcpyNodeSetParamsToSymbol,
6061 hipGraphExecMemcpyNodeSetParamsToSymbol,
6062 hipGraphAddMemsetNode,
6063 hipGraphMemsetNodeGetParams,
6064 hipGraphMemsetNodeSetParams,
6065 hipGraphExecMemsetNodeSetParams,
6066 hipGraphAddHostNode,
6067 hipGraphHostNodeGetParams,
6068 hipGraphHostNodeSetParams,
6069 hipGraphExecHostNodeSetParams,
6070 hipGraphAddChildGraphNode,
6071 hipGraphChildGraphNodeGetGraph,
6072 hipGraphExecChildGraphNodeSetParams,
6073 hipGraphAddEmptyNode,
6074 hipGraphAddEventRecordNode,
6075 hipGraphEventRecordNodeGetEvent,
6076 hipGraphEventRecordNodeSetEvent,
6077 hipGraphExecEventRecordNodeSetEvent,
6078 hipGraphAddEventWaitNode,
6079 hipGraphEventWaitNodeGetEvent,
6080 hipGraphEventWaitNodeSetEvent,
6081 hipGraphExecEventWaitNodeSetEvent,
6082 hipDeviceGetGraphMemAttribute,
6083 hipDeviceSetGraphMemAttribute,
6084 hipDeviceGraphMemTrim,
6085 hipUserObjectCreate,
6086 hipUserObjectRelease,
6087 hipUserObjectRetain,
6088 hipGraphRetainUserObject,
6089 hipGraphReleaseUserObject,
6090 hipMemAddressFree,
6091 hipMemAddressReserve,
6092 hipMemCreate,
6093 hipMemExportToShareableHandle,
6094 hipMemGetAccess,
6095 hipMemGetAllocationGranularity,
6096 hipMemGetAllocationPropertiesFromHandle,
6097 hipMemImportFromShareableHandle,
6098 hipMemMap,
6099 hipMemMapArrayAsync,
6100 hipMemRelease,
6101 hipMemRetainAllocationHandle,
6102 hipMemSetAccess,
6103 hipMemUnmap,
6104 hipGLGetDevices,
6105 hipGraphicsGLRegisterBuffer,
6106 hipGraphicsGLRegisterImage,
6107 hipGraphicsMapResources,
6108 hipGraphicsSubResourceGetMappedArray,
6109 hipGraphicsResourceGetMappedPointer,
6110 hipGraphicsUnmapResources,
6111 hipGraphicsUnregisterResource,
6112 hipMemcpy_spt,
6113 hipMemcpyToSymbol_spt,
6114 hipMemcpyFromSymbol_spt,
6115 hipMemcpy2D_spt,
6116 hipMemcpy2DFromArray_spt,
6117 hipMemcpy3D_spt,
6118 hipMemset_spt,
6119 hipMemsetAsync_spt,
6120 hipMemset2D_spt,
6121 hipMemset2DAsync_spt,
6122 hipMemset3DAsync_spt,
6123 hipMemset3D_spt,
6124 hipMemcpyAsync_spt,
6125 hipMemcpy3DAsync_spt,
6126 hipMemcpy2DAsync_spt,
6127 hipMemcpyFromSymbolAsync_spt,
6128 hipMemcpyToSymbolAsync_spt,
6129 hipMemcpyFromArray_spt,
6130 hipMemcpy2DToArray_spt,
6131 hipMemcpy2DFromArrayAsync_spt,
6132 hipMemcpy2DToArrayAsync_spt,
6133 hipStreamQuery_spt,
6134 hipStreamSynchronize_spt,
6135 hipStreamGetPriority_spt,
6136 hipStreamWaitEvent_spt,
6137 hipStreamGetFlags_spt,
6138 hipStreamAddCallback_spt,
6139 hipEventRecord_spt,
6140 hipLaunchCooperativeKernel_spt,
6141 hipLaunchKernel_spt,
6142 hipGraphLaunch_spt,
6143 hipStreamBeginCapture_spt,
6144 hipStreamEndCapture_spt,
6145 hipStreamIsCapturing_spt,
6146 hipStreamGetCaptureInfo_spt,
6147 hipStreamGetCaptureInfo_v2_spt,
6148 hipLaunchHostFunc_spt,
6149 })
6150 }
6151 pub unsafe fn hipCreateChannelDesc(
6152 &self,
6153 x: ::std::os::raw::c_int,
6154 y: ::std::os::raw::c_int,
6155 z: ::std::os::raw::c_int,
6156 w: ::std::os::raw::c_int,
6157 f: hipChannelFormatKind,
6158 ) -> hipChannelFormatDesc {
6159 (self
6160 .hipCreateChannelDesc
6161 .as_ref()
6162 .expect("Expected function, got error."))(x, y, z, w, f)
6163 }
6164 #[doc = " @defgroup API HIP API\n @{\n\n Defines the HIP API. See the individual sections for more information.\n/\n/**\n @defgroup Driver Initialization and Version\n @{\n This section describes the initializtion and version functions of HIP runtime API.\n\n/\n/**\n @brief Explicitly initializes the HIP runtime.\n\n Most HIP APIs implicitly initialize the HIP runtime.\n This API provides control over the timing of the initialization."]
6165 pub unsafe fn hipInit(&self, flags: ::std::os::raw::c_uint) -> hipError_t {
6166 (self
6167 .hipInit
6168 .as_ref()
6169 .expect("Expected function, got error."))(flags)
6170 }
6171 #[doc = " @brief Returns the approximate HIP driver version.\n\n @param [out] driverVersion\n\n @returns #hipSuccess, #hipErrorInvalidValue\n\n @warning The HIP feature set does not correspond to an exact CUDA SDK driver revision.\n This function always set *driverVersion to 4 as an approximation though HIP supports\n some features which were introduced in later CUDA SDK revisions.\n HIP apps code should not rely on the driver revision number here and should\n use arch feature flags to test device capabilities or conditional compilation.\n\n @see hipRuntimeGetVersion"]
6172 pub unsafe fn hipDriverGetVersion(
6173 &self,
6174 driverVersion: *mut ::std::os::raw::c_int,
6175 ) -> hipError_t {
6176 (self
6177 .hipDriverGetVersion
6178 .as_ref()
6179 .expect("Expected function, got error."))(driverVersion)
6180 }
6181 #[doc = " @brief Returns the approximate HIP Runtime version.\n\n @param [out] runtimeVersion\n\n @returns #hipSuccess, #hipErrorInvalidValue\n\n @warning The version definition of HIP runtime is different from CUDA.\n On AMD platform, the function returns HIP runtime version,\n while on NVIDIA platform, it returns CUDA runtime version.\n And there is no mapping/correlation between HIP version and CUDA version.\n\n @see hipDriverGetVersion"]
6182 pub unsafe fn hipRuntimeGetVersion(
6183 &self,
6184 runtimeVersion: *mut ::std::os::raw::c_int,
6185 ) -> hipError_t {
6186 (self
6187 .hipRuntimeGetVersion
6188 .as_ref()
6189 .expect("Expected function, got error."))(runtimeVersion)
6190 }
6191 #[doc = " @brief Returns a handle to a compute device\n @param [out] device\n @param [in] ordinal\n\n @returns #hipSuccess, #hipErrorInvalidDevice"]
6192 pub unsafe fn hipDeviceGet(
6193 &self,
6194 device: *mut hipDevice_t,
6195 ordinal: ::std::os::raw::c_int,
6196 ) -> hipError_t {
6197 (self
6198 .hipDeviceGet
6199 .as_ref()
6200 .expect("Expected function, got error."))(device, ordinal)
6201 }
6202 #[doc = " @brief Returns the compute capability of the device\n @param [out] major\n @param [out] minor\n @param [in] device\n\n @returns #hipSuccess, #hipErrorInvalidDevice"]
6203 pub unsafe fn hipDeviceComputeCapability(
6204 &self,
6205 major: *mut ::std::os::raw::c_int,
6206 minor: *mut ::std::os::raw::c_int,
6207 device: hipDevice_t,
6208 ) -> hipError_t {
6209 (self
6210 .hipDeviceComputeCapability
6211 .as_ref()
6212 .expect("Expected function, got error."))(major, minor, device)
6213 }
6214 #[doc = " @brief Returns an identifer string for the device.\n @param [out] name\n @param [in] len\n @param [in] device\n\n @returns #hipSuccess, #hipErrorInvalidDevice"]
6215 pub unsafe fn hipDeviceGetName(
6216 &self,
6217 name: *mut ::std::os::raw::c_char,
6218 len: ::std::os::raw::c_int,
6219 device: hipDevice_t,
6220 ) -> hipError_t {
6221 (self
6222 .hipDeviceGetName
6223 .as_ref()
6224 .expect("Expected function, got error."))(name, len, device)
6225 }
6226 #[doc = " @brief Returns an UUID for the device.[BETA]\n @param [out] uuid\n @param [in] device\n\n @beta This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues.\n\n @returns #hipSuccess, #hipErrorInvalidDevice, #hipErrorInvalidValue, #hipErrorNotInitialized,\n #hipErrorDeinitialized"]
6227 pub unsafe fn hipDeviceGetUuid(&self, uuid: *mut hipUUID, device: hipDevice_t) -> hipError_t {
6228 (self
6229 .hipDeviceGetUuid
6230 .as_ref()
6231 .expect("Expected function, got error."))(uuid, device)
6232 }
6233 #[doc = " @brief Returns a value for attr of link between two devices\n @param [out] value\n @param [in] attr\n @param [in] srcDevice\n @param [in] dstDevice\n\n @returns #hipSuccess, #hipErrorInvalidDevice"]
6234 pub unsafe fn hipDeviceGetP2PAttribute(
6235 &self,
6236 value: *mut ::std::os::raw::c_int,
6237 attr: hipDeviceP2PAttr,
6238 srcDevice: ::std::os::raw::c_int,
6239 dstDevice: ::std::os::raw::c_int,
6240 ) -> hipError_t {
6241 (self
6242 .hipDeviceGetP2PAttribute
6243 .as_ref()
6244 .expect("Expected function, got error."))(value, attr, srcDevice, dstDevice)
6245 }
6246 #[doc = " @brief Returns a PCI Bus Id string for the device, overloaded to take int device ID.\n @param [out] pciBusId\n @param [in] len\n @param [in] device\n\n @returns #hipSuccess, #hipErrorInvalidDevice"]
6247 pub unsafe fn hipDeviceGetPCIBusId(
6248 &self,
6249 pciBusId: *mut ::std::os::raw::c_char,
6250 len: ::std::os::raw::c_int,
6251 device: ::std::os::raw::c_int,
6252 ) -> hipError_t {
6253 (self
6254 .hipDeviceGetPCIBusId
6255 .as_ref()
6256 .expect("Expected function, got error."))(pciBusId, len, device)
6257 }
6258 #[doc = " @brief Returns a handle to a compute device.\n @param [out] device handle\n @param [in] PCI Bus ID\n\n @returns #hipSuccess, #hipErrorInvalidDevice, #hipErrorInvalidValue"]
6259 pub unsafe fn hipDeviceGetByPCIBusId(
6260 &self,
6261 device: *mut ::std::os::raw::c_int,
6262 pciBusId: *const ::std::os::raw::c_char,
6263 ) -> hipError_t {
6264 (self
6265 .hipDeviceGetByPCIBusId
6266 .as_ref()
6267 .expect("Expected function, got error."))(device, pciBusId)
6268 }
6269 #[doc = " @brief Returns the total amount of memory on the device.\n @param [out] bytes\n @param [in] device\n\n @returns #hipSuccess, #hipErrorInvalidDevice"]
6270 pub unsafe fn hipDeviceTotalMem(&self, bytes: *mut usize, device: hipDevice_t) -> hipError_t {
6271 (self
6272 .hipDeviceTotalMem
6273 .as_ref()
6274 .expect("Expected function, got error."))(bytes, device)
6275 }
6276 #[doc = " @}\n/\n/**\n @defgroup Device Device Management\n @{\n This section describes the device management functions of HIP runtime API.\n/\n/**\n @brief Waits on all active streams on current device\n\n When this command is invoked, the host thread gets blocked until all the commands associated\n with streams associated with the device. HIP does not support multiple blocking modes (yet!).\n\n @returns #hipSuccess\n\n @see hipSetDevice, hipDeviceReset"]
6277 pub unsafe fn hipDeviceSynchronize(&self) -> hipError_t {
6278 (self
6279 .hipDeviceSynchronize
6280 .as_ref()
6281 .expect("Expected function, got error."))()
6282 }
6283 #[doc = " @brief The state of current device is discarded and updated to a fresh state.\n\n Calling this function deletes all streams created, memory allocated, kernels running, events\n created. Make sure that no other thread is using the device or streams, memory, kernels, events\n associated with the current device.\n\n @returns #hipSuccess\n\n @see hipDeviceSynchronize"]
6284 pub unsafe fn hipDeviceReset(&self) -> hipError_t {
6285 (self
6286 .hipDeviceReset
6287 .as_ref()
6288 .expect("Expected function, got error."))()
6289 }
6290 #[doc = " @brief Set default device to be used for subsequent hip API calls from this thread.\n\n @param[in] deviceId Valid device in range 0...hipGetDeviceCount().\n\n Sets @p device as the default device for the calling host thread. Valid device id's are 0...\n (hipGetDeviceCount()-1).\n\n Many HIP APIs implicitly use the \"default device\" :\n\n - Any device memory subsequently allocated from this host thread (using hipMalloc) will be\n allocated on device.\n - Any streams or events created from this host thread will be associated with device.\n - Any kernels launched from this host thread (using hipLaunchKernel) will be executed on device\n (unless a specific stream is specified, in which case the device associated with that stream will\n be used).\n\n This function may be called from any host thread. Multiple host threads may use the same device.\n This function does no synchronization with the previous or new device, and has very little\n runtime overhead. Applications can use hipSetDevice to quickly switch the default device before\n making a HIP runtime call which uses the default device.\n\n The default device is stored in thread-local-storage for each thread.\n Thread-pool implementations may inherit the default device of the previous thread. A good\n practice is to always call hipSetDevice at the start of HIP coding sequency to establish a known\n standard device.\n\n @returns #hipSuccess, #hipErrorInvalidDevice, #hipErrorDeviceAlreadyInUse\n\n @see hipGetDevice, hipGetDeviceCount"]
6291 pub unsafe fn hipSetDevice(&self, deviceId: ::std::os::raw::c_int) -> hipError_t {
6292 (self
6293 .hipSetDevice
6294 .as_ref()
6295 .expect("Expected function, got error."))(deviceId)
6296 }
6297 #[doc = " @brief Return the default device id for the calling host thread.\n\n @param [out] device *device is written with the default device\n\n HIP maintains an default device for each thread using thread-local-storage.\n This device is used implicitly for HIP runtime APIs called by this thread.\n hipGetDevice returns in * @p device the default device for the calling host thread.\n\n @returns #hipSuccess, #hipErrorInvalidDevice, #hipErrorInvalidValue\n\n @see hipSetDevice, hipGetDevicesizeBytes"]
6298 pub unsafe fn hipGetDevice(&self, deviceId: *mut ::std::os::raw::c_int) -> hipError_t {
6299 (self
6300 .hipGetDevice
6301 .as_ref()
6302 .expect("Expected function, got error."))(deviceId)
6303 }
6304 #[doc = " @brief Return number of compute-capable devices.\n\n @param [output] count Returns number of compute-capable devices.\n\n @returns #hipSuccess, #hipErrorNoDevice\n\n\n Returns in @p *count the number of devices that have ability to run compute commands. If there\n are no such devices, then @ref hipGetDeviceCount will return #hipErrorNoDevice. If 1 or more\n devices can be found, then hipGetDeviceCount returns #hipSuccess."]
6305 pub unsafe fn hipGetDeviceCount(&self, count: *mut ::std::os::raw::c_int) -> hipError_t {
6306 (self
6307 .hipGetDeviceCount
6308 .as_ref()
6309 .expect("Expected function, got error."))(count)
6310 }
6311 #[doc = " @brief Query for a specific device attribute.\n\n @param [out] pi pointer to value to return\n @param [in] attr attribute to query\n @param [in] deviceId which device to query for information\n\n @returns #hipSuccess, #hipErrorInvalidDevice, #hipErrorInvalidValue"]
6312 pub unsafe fn hipDeviceGetAttribute(
6313 &self,
6314 pi: *mut ::std::os::raw::c_int,
6315 attr: hipDeviceAttribute_t,
6316 deviceId: ::std::os::raw::c_int,
6317 ) -> hipError_t {
6318 (self
6319 .hipDeviceGetAttribute
6320 .as_ref()
6321 .expect("Expected function, got error."))(pi, attr, deviceId)
6322 }
6323 #[doc = " @brief Returns the default memory pool of the specified device\n\n @param [out] mem_pool Default memory pool to return\n @param [in] device Device index for query the default memory pool\n\n @returns #chipSuccess, #hipErrorInvalidDevice, #hipErrorInvalidValue, #hipErrorNotSupported\n\n @see hipDeviceGetDefaultMemPool, hipMallocAsync, hipMemPoolTrimTo, hipMemPoolGetAttribute,\n hipDeviceSetMemPool, hipMemPoolSetAttribute, hipMemPoolSetAccess, hipMemPoolGetAccess\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
6324 pub unsafe fn hipDeviceGetDefaultMemPool(
6325 &self,
6326 mem_pool: *mut hipMemPool_t,
6327 device: ::std::os::raw::c_int,
6328 ) -> hipError_t {
6329 (self
6330 .hipDeviceGetDefaultMemPool
6331 .as_ref()
6332 .expect("Expected function, got error."))(mem_pool, device)
6333 }
6334 #[doc = " @brief Sets the current memory pool of a device\n\n The memory pool must be local to the specified device.\n @p hipMallocAsync allocates from the current mempool of the provided stream's device.\n By default, a device's current memory pool is its default memory pool.\n\n @note Use @p hipMallocFromPoolAsync for asynchronous memory allocations from a device\n different than the one the stream runs on.\n\n @param [in] device Device index for the update\n @param [in] mem_pool Memory pool for update as the current on the specified device\n\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorInvalidDevice, #hipErrorNotSupported\n\n @see hipDeviceGetDefaultMemPool, hipMallocAsync, hipMemPoolTrimTo, hipMemPoolGetAttribute,\n hipDeviceSetMemPool, hipMemPoolSetAttribute, hipMemPoolSetAccess, hipMemPoolGetAccess\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
6335 pub unsafe fn hipDeviceSetMemPool(
6336 &self,
6337 device: ::std::os::raw::c_int,
6338 mem_pool: hipMemPool_t,
6339 ) -> hipError_t {
6340 (self
6341 .hipDeviceSetMemPool
6342 .as_ref()
6343 .expect("Expected function, got error."))(device, mem_pool)
6344 }
6345 #[doc = " @brief Gets the current memory pool for the specified device\n\n Returns the last pool provided to @p hipDeviceSetMemPool for this device\n or the device's default memory pool if @p hipDeviceSetMemPool has never been called.\n By default the current mempool is the default mempool for a device,\n otherwise the returned pool must have been set with @p hipDeviceSetMemPool.\n\n @param [out] mem_pool Current memory pool on the specified device\n @param [in] device Device index to query the current memory pool\n\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorNotSupported\n\n @see hipDeviceGetDefaultMemPool, hipMallocAsync, hipMemPoolTrimTo, hipMemPoolGetAttribute,\n hipDeviceSetMemPool, hipMemPoolSetAttribute, hipMemPoolSetAccess, hipMemPoolGetAccess\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
6346 pub unsafe fn hipDeviceGetMemPool(
6347 &self,
6348 mem_pool: *mut hipMemPool_t,
6349 device: ::std::os::raw::c_int,
6350 ) -> hipError_t {
6351 (self
6352 .hipDeviceGetMemPool
6353 .as_ref()
6354 .expect("Expected function, got error."))(mem_pool, device)
6355 }
6356 #[doc = " @brief Returns device properties.\n\n @param [out] prop written with device properties\n @param [in] deviceId which device to query for information\n\n @return #hipSuccess, #hipErrorInvalidDevice\n @bug HCC always returns 0 for maxThreadsPerMultiProcessor\n @bug HCC always returns 0 for regsPerBlock\n @bug HCC always returns 0 for l2CacheSize\n\n Populates hipGetDeviceProperties with information for the specified device."]
6357 pub unsafe fn hipGetDeviceProperties(
6358 &self,
6359 prop: *mut hipDeviceProp_t,
6360 deviceId: ::std::os::raw::c_int,
6361 ) -> hipError_t {
6362 (self
6363 .hipGetDeviceProperties
6364 .as_ref()
6365 .expect("Expected function, got error."))(prop, deviceId)
6366 }
6367 #[doc = " @brief Set L1/Shared cache partition.\n\n @param [in] cacheConfig\n\n @returns #hipSuccess, #hipErrorNotInitialized\n Note: AMD devices and some Nvidia GPUS do not support reconfigurable cache. This hint is ignored\n on those architectures.\n"]
6368 pub unsafe fn hipDeviceSetCacheConfig(&self, cacheConfig: hipFuncCache_t) -> hipError_t {
6369 (self
6370 .hipDeviceSetCacheConfig
6371 .as_ref()
6372 .expect("Expected function, got error."))(cacheConfig)
6373 }
6374 #[doc = " @brief Get Cache configuration for a specific Device\n\n @param [out] cacheConfig\n\n @returns #hipSuccess, #hipErrorNotInitialized\n Note: AMD devices and some Nvidia GPUS do not support reconfigurable cache. This hint is ignored\n on those architectures.\n"]
6375 pub unsafe fn hipDeviceGetCacheConfig(&self, cacheConfig: *mut hipFuncCache_t) -> hipError_t {
6376 (self
6377 .hipDeviceGetCacheConfig
6378 .as_ref()
6379 .expect("Expected function, got error."))(cacheConfig)
6380 }
6381 #[doc = " @brief Get Resource limits of current device\n\n @param [out] pValue\n @param [in] limit\n\n @returns #hipSuccess, #hipErrorUnsupportedLimit, #hipErrorInvalidValue\n Note: Currently, only hipLimitMallocHeapSize is available\n"]
6382 pub unsafe fn hipDeviceGetLimit(&self, pValue: *mut usize, limit: hipLimit_t) -> hipError_t {
6383 (self
6384 .hipDeviceGetLimit
6385 .as_ref()
6386 .expect("Expected function, got error."))(pValue, limit)
6387 }
6388 #[doc = " @brief Set Resource limits of current device\n\n @param [in] limit\n @param [in] value\n\n @returns #hipSuccess, #hipErrorUnsupportedLimit, #hipErrorInvalidValue\n"]
6389 pub unsafe fn hipDeviceSetLimit(&self, limit: hipLimit_t, value: usize) -> hipError_t {
6390 (self
6391 .hipDeviceSetLimit
6392 .as_ref()
6393 .expect("Expected function, got error."))(limit, value)
6394 }
6395 #[doc = " @brief Returns bank width of shared memory for current device\n\n @param [out] pConfig\n\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorNotInitialized\n\n Note: AMD devices and some Nvidia GPUS do not support shared cache banking, and the hint is\n ignored on those architectures.\n"]
6396 pub unsafe fn hipDeviceGetSharedMemConfig(
6397 &self,
6398 pConfig: *mut hipSharedMemConfig,
6399 ) -> hipError_t {
6400 (self
6401 .hipDeviceGetSharedMemConfig
6402 .as_ref()
6403 .expect("Expected function, got error."))(pConfig)
6404 }
6405 #[doc = " @brief Gets the flags set for current device\n\n @param [out] flags\n\n @returns #hipSuccess, #hipErrorInvalidDevice, #hipErrorInvalidValue"]
6406 pub unsafe fn hipGetDeviceFlags(&self, flags: *mut ::std::os::raw::c_uint) -> hipError_t {
6407 (self
6408 .hipGetDeviceFlags
6409 .as_ref()
6410 .expect("Expected function, got error."))(flags)
6411 }
6412 #[doc = " @brief The bank width of shared memory on current device is set\n\n @param [in] config\n\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorNotInitialized\n\n Note: AMD devices and some Nvidia GPUS do not support shared cache banking, and the hint is\n ignored on those architectures.\n"]
6413 pub unsafe fn hipDeviceSetSharedMemConfig(&self, config: hipSharedMemConfig) -> hipError_t {
6414 (self
6415 .hipDeviceSetSharedMemConfig
6416 .as_ref()
6417 .expect("Expected function, got error."))(config)
6418 }
6419 #[doc = " @brief The current device behavior is changed according the flags passed.\n\n @param [in] flags\n\n The schedule flags impact how HIP waits for the completion of a command running on a device.\n hipDeviceScheduleSpin : HIP runtime will actively spin in the thread which submitted the\n work until the command completes. This offers the lowest latency, but will consume a CPU core\n and may increase power. hipDeviceScheduleYield : The HIP runtime will yield the CPU to\n system so that other tasks can use it. This may increase latency to detect the completion but\n will consume less power and is friendlier to other tasks in the system.\n hipDeviceScheduleBlockingSync : On ROCm platform, this is a synonym for hipDeviceScheduleYield.\n hipDeviceScheduleAuto : Use a hueristic to select between Spin and Yield modes. If the\n number of HIP contexts is greater than the number of logical processors in the system, use Spin\n scheduling. Else use Yield scheduling.\n\n\n hipDeviceMapHost : Allow mapping host memory. On ROCM, this is always allowed and\n the flag is ignored. hipDeviceLmemResizeToMax : @warning ROCm silently ignores this flag.\n\n @returns #hipSuccess, #hipErrorInvalidDevice, #hipErrorSetOnActiveProcess\n\n"]
6420 pub unsafe fn hipSetDeviceFlags(&self, flags: ::std::os::raw::c_uint) -> hipError_t {
6421 (self
6422 .hipSetDeviceFlags
6423 .as_ref()
6424 .expect("Expected function, got error."))(flags)
6425 }
6426 #[doc = " @brief Device which matches hipDeviceProp_t is returned\n\n @param [out] device ID\n @param [in] device properties pointer\n\n @returns #hipSuccess, #hipErrorInvalidValue"]
6427 pub unsafe fn hipChooseDevice(
6428 &self,
6429 device: *mut ::std::os::raw::c_int,
6430 prop: *const hipDeviceProp_t,
6431 ) -> hipError_t {
6432 (self
6433 .hipChooseDevice
6434 .as_ref()
6435 .expect("Expected function, got error."))(device, prop)
6436 }
6437 #[doc = " @brief Returns the link type and hop count between two devices\n\n @param [in] device1 Ordinal for device1\n @param [in] device2 Ordinal for device2\n @param [out] linktype Returns the link type (See hsa_amd_link_info_type_t) between the two devices\n @param [out] hopcount Returns the hop count between the two devices\n\n Queries and returns the HSA link type and the hop count between the two specified devices.\n\n @returns #hipSuccess, #hipInvalidDevice, #hipErrorRuntimeOther"]
6438 pub unsafe fn hipExtGetLinkTypeAndHopCount(
6439 &self,
6440 device1: ::std::os::raw::c_int,
6441 device2: ::std::os::raw::c_int,
6442 linktype: *mut u32,
6443 hopcount: *mut u32,
6444 ) -> hipError_t {
6445 (self
6446 .hipExtGetLinkTypeAndHopCount
6447 .as_ref()
6448 .expect("Expected function, got error."))(device1, device2, linktype, hopcount)
6449 }
6450 #[doc = " @brief Gets an interprocess memory handle for an existing device memory\n allocation\n\n Takes a pointer to the base of an existing device memory allocation created\n with hipMalloc and exports it for use in another process. This is a\n lightweight operation and may be called multiple times on an allocation\n without adverse effects.\n\n If a region of memory is freed with hipFree and a subsequent call\n to hipMalloc returns memory with the same device address,\n hipIpcGetMemHandle will return a unique handle for the\n new memory.\n\n @param handle - Pointer to user allocated hipIpcMemHandle to return\n the handle in.\n @param devPtr - Base pointer to previously allocated device memory\n\n @returns\n hipSuccess,\n hipErrorInvalidHandle,\n hipErrorOutOfMemory,\n hipErrorMapFailed,\n"]
6451 pub unsafe fn hipIpcGetMemHandle(
6452 &self,
6453 handle: *mut hipIpcMemHandle_t,
6454 devPtr: *mut ::std::os::raw::c_void,
6455 ) -> hipError_t {
6456 (self
6457 .hipIpcGetMemHandle
6458 .as_ref()
6459 .expect("Expected function, got error."))(handle, devPtr)
6460 }
6461 #[doc = " @brief Opens an interprocess memory handle exported from another process\n and returns a device pointer usable in the local process.\n\n Maps memory exported from another process with hipIpcGetMemHandle into\n the current device address space. For contexts on different devices\n hipIpcOpenMemHandle can attempt to enable peer access between the\n devices as if the user called hipDeviceEnablePeerAccess. This behavior is\n controlled by the hipIpcMemLazyEnablePeerAccess flag.\n hipDeviceCanAccessPeer can determine if a mapping is possible.\n\n Contexts that may open hipIpcMemHandles are restricted in the following way.\n hipIpcMemHandles from each device in a given process may only be opened\n by one context per device per other process.\n\n Memory returned from hipIpcOpenMemHandle must be freed with\n hipIpcCloseMemHandle.\n\n Calling hipFree on an exported memory region before calling\n hipIpcCloseMemHandle in the importing context will result in undefined\n behavior.\n\n @param devPtr - Returned device pointer\n @param handle - hipIpcMemHandle to open\n @param flags - Flags for this operation. Must be specified as hipIpcMemLazyEnablePeerAccess\n\n @returns\n hipSuccess,\n hipErrorMapFailed,\n hipErrorInvalidHandle,\n hipErrorTooManyPeers\n\n @note During multiple processes, using the same memory handle opened by the current context,\n there is no guarantee that the same device poiter will be returned in @p *devPtr.\n This is diffrent from CUDA.\n"]
6462 pub unsafe fn hipIpcOpenMemHandle(
6463 &self,
6464 devPtr: *mut *mut ::std::os::raw::c_void,
6465 handle: hipIpcMemHandle_t,
6466 flags: ::std::os::raw::c_uint,
6467 ) -> hipError_t {
6468 (self
6469 .hipIpcOpenMemHandle
6470 .as_ref()
6471 .expect("Expected function, got error."))(devPtr, handle, flags)
6472 }
6473 #[doc = " @brief Close memory mapped with hipIpcOpenMemHandle\n\n Unmaps memory returnd by hipIpcOpenMemHandle. The original allocation\n in the exporting process as well as imported mappings in other processes\n will be unaffected.\n\n Any resources used to enable peer access will be freed if this is the\n last mapping using them.\n\n @param devPtr - Device pointer returned by hipIpcOpenMemHandle\n\n @returns\n hipSuccess,\n hipErrorMapFailed,\n hipErrorInvalidHandle,\n"]
6474 pub unsafe fn hipIpcCloseMemHandle(&self, devPtr: *mut ::std::os::raw::c_void) -> hipError_t {
6475 (self
6476 .hipIpcCloseMemHandle
6477 .as_ref()
6478 .expect("Expected function, got error."))(devPtr)
6479 }
6480 #[doc = " @brief Gets an opaque interprocess handle for an event.\n\n This opaque handle may be copied into other processes and opened with hipIpcOpenEventHandle.\n Then hipEventRecord, hipEventSynchronize, hipStreamWaitEvent and hipEventQuery may be used in\n either process. Operations on the imported event after the exported event has been freed with hipEventDestroy\n will result in undefined behavior.\n\n @param[out] handle Pointer to hipIpcEventHandle to return the opaque event handle\n @param[in] event Event allocated with hipEventInterprocess and hipEventDisableTiming flags\n\n @returns #hipSuccess, #hipErrorInvalidConfiguration, #hipErrorInvalidValue\n"]
6481 pub unsafe fn hipIpcGetEventHandle(
6482 &self,
6483 handle: *mut hipIpcEventHandle_t,
6484 event: hipEvent_t,
6485 ) -> hipError_t {
6486 (self
6487 .hipIpcGetEventHandle
6488 .as_ref()
6489 .expect("Expected function, got error."))(handle, event)
6490 }
6491 #[doc = " @brief Opens an interprocess event handles.\n\n Opens an interprocess event handle exported from another process with cudaIpcGetEventHandle. The returned\n hipEvent_t behaves like a locally created event with the hipEventDisableTiming flag specified. This event\n need be freed with hipEventDestroy. Operations on the imported event after the exported event has been freed\n with hipEventDestroy will result in undefined behavior. If the function is called within the same process where\n handle is returned by hipIpcGetEventHandle, it will return hipErrorInvalidContext.\n\n @param[out] event Pointer to hipEvent_t to return the event\n @param[in] handle The opaque interprocess handle to open\n\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorInvalidContext\n"]
6492 pub unsafe fn hipIpcOpenEventHandle(
6493 &self,
6494 event: *mut hipEvent_t,
6495 handle: hipIpcEventHandle_t,
6496 ) -> hipError_t {
6497 (self
6498 .hipIpcOpenEventHandle
6499 .as_ref()
6500 .expect("Expected function, got error."))(event, handle)
6501 }
6502 #[doc = " @}\n/\n/**\n\n @defgroup Execution Execution Control\n @{\n This section describes the execution control functions of HIP runtime API.\n\n/\n/**\n @brief Set attribute for a specific function\n\n @param [in] func;\n @param [in] attr;\n @param [in] value;\n\n @returns #hipSuccess, #hipErrorInvalidDeviceFunction, #hipErrorInvalidValue\n\n Note: AMD devices and some Nvidia GPUS do not support shared cache banking, and the hint is\n ignored on those architectures.\n"]
6503 pub unsafe fn hipFuncSetAttribute(
6504 &self,
6505 func: *const ::std::os::raw::c_void,
6506 attr: hipFuncAttribute,
6507 value: ::std::os::raw::c_int,
6508 ) -> hipError_t {
6509 (self
6510 .hipFuncSetAttribute
6511 .as_ref()
6512 .expect("Expected function, got error."))(func, attr, value)
6513 }
6514 #[doc = " @brief Set Cache configuration for a specific function\n\n @param [in] config;\n\n @returns #hipSuccess, #hipErrorNotInitialized\n Note: AMD devices and some Nvidia GPUS do not support reconfigurable cache. This hint is ignored\n on those architectures.\n"]
6515 pub unsafe fn hipFuncSetCacheConfig(
6516 &self,
6517 func: *const ::std::os::raw::c_void,
6518 config: hipFuncCache_t,
6519 ) -> hipError_t {
6520 (self
6521 .hipFuncSetCacheConfig
6522 .as_ref()
6523 .expect("Expected function, got error."))(func, config)
6524 }
6525 #[doc = " @brief Set shared memory configuation for a specific function\n\n @param [in] func\n @param [in] config\n\n @returns #hipSuccess, #hipErrorInvalidDeviceFunction, #hipErrorInvalidValue\n\n Note: AMD devices and some Nvidia GPUS do not support shared cache banking, and the hint is\n ignored on those architectures.\n"]
6526 pub unsafe fn hipFuncSetSharedMemConfig(
6527 &self,
6528 func: *const ::std::os::raw::c_void,
6529 config: hipSharedMemConfig,
6530 ) -> hipError_t {
6531 (self
6532 .hipFuncSetSharedMemConfig
6533 .as_ref()
6534 .expect("Expected function, got error."))(func, config)
6535 }
6536 #[doc = " @}\n/\n/**\n-------------------------------------------------------------------------------------------------\n-------------------------------------------------------------------------------------------------\n @defgroup Error Error Handling\n @{\n This section describes the error handling functions of HIP runtime API.\n/\n/**\n @brief Return last error returned by any HIP runtime API call and resets the stored error code to\n #hipSuccess\n\n @returns return code from last HIP called from the active host thread\n\n Returns the last error that has been returned by any of the runtime calls in the same host\n thread, and then resets the saved error to #hipSuccess.\n\n @see hipGetErrorString, hipGetLastError, hipPeakAtLastError, hipError_t"]
6537 pub unsafe fn hipGetLastError(&self) -> hipError_t {
6538 (self
6539 .hipGetLastError
6540 .as_ref()
6541 .expect("Expected function, got error."))()
6542 }
6543 #[doc = " @brief Return last error returned by any HIP runtime API call.\n\n @return #hipSuccess\n\n Returns the last error that has been returned by any of the runtime calls in the same host\n thread. Unlike hipGetLastError, this function does not reset the saved error code.\n\n @see hipGetErrorString, hipGetLastError, hipPeakAtLastError, hipError_t"]
6544 pub unsafe fn hipPeekAtLastError(&self) -> hipError_t {
6545 (self
6546 .hipPeekAtLastError
6547 .as_ref()
6548 .expect("Expected function, got error."))()
6549 }
6550 #[doc = " @brief Return hip error as text string form.\n\n @param hip_error Error code to convert to name.\n @return const char pointer to the NULL-terminated error name\n\n @see hipGetErrorString, hipGetLastError, hipPeakAtLastError, hipError_t"]
6551 pub unsafe fn hipGetErrorName(&self, hip_error: hipError_t) -> *const ::std::os::raw::c_char {
6552 (self
6553 .hipGetErrorName
6554 .as_ref()
6555 .expect("Expected function, got error."))(hip_error)
6556 }
6557 #[doc = " @brief Return handy text string message to explain the error which occurred\n\n @param hipError Error code to convert to string.\n @return const char pointer to the NULL-terminated error string\n\n @see hipGetErrorName, hipGetLastError, hipPeakAtLastError, hipError_t"]
6558 pub unsafe fn hipGetErrorString(&self, hipError: hipError_t) -> *const ::std::os::raw::c_char {
6559 (self
6560 .hipGetErrorString
6561 .as_ref()
6562 .expect("Expected function, got error."))(hipError)
6563 }
6564 #[doc = " @brief Return hip error as text string form.\n\n @param [in] hipError Error code to convert to string.\n @param [out] const char pointer to the NULL-terminated error string\n @return #hipSuccess, #hipErrorInvalidValue\n\n @see hipGetErrorName, hipGetLastError, hipPeakAtLastError, hipError_t"]
6565 pub unsafe fn hipDrvGetErrorName(
6566 &self,
6567 hipError: hipError_t,
6568 errorString: *mut *const ::std::os::raw::c_char,
6569 ) -> hipError_t {
6570 (self
6571 .hipDrvGetErrorName
6572 .as_ref()
6573 .expect("Expected function, got error."))(hipError, errorString)
6574 }
6575 #[doc = " @brief Return handy text string message to explain the error which occurred\n\n @param [in] hipError Error code to convert to string.\n @param [out] const char pointer to the NULL-terminated error string\n @return #hipSuccess, #hipErrorInvalidValue\n\n @see hipGetErrorName, hipGetLastError, hipPeakAtLastError, hipError_t"]
6576 pub unsafe fn hipDrvGetErrorString(
6577 &self,
6578 hipError: hipError_t,
6579 errorString: *mut *const ::std::os::raw::c_char,
6580 ) -> hipError_t {
6581 (self
6582 .hipDrvGetErrorString
6583 .as_ref()
6584 .expect("Expected function, got error."))(hipError, errorString)
6585 }
6586 #[doc = " @brief Create an asynchronous stream.\n\n @param[in, out] stream Valid pointer to hipStream_t. This function writes the memory with the\n newly created stream.\n @return #hipSuccess, #hipErrorInvalidValue\n\n Create a new asynchronous stream. @p stream returns an opaque handle that can be used to\n reference the newly created stream in subsequent hipStream* commands. The stream is allocated on\n the heap and will remain allocated even if the handle goes out-of-scope. To release the memory\n used by the stream, applicaiton must call hipStreamDestroy.\n\n @return #hipSuccess, #hipErrorInvalidValue\n\n @see hipStreamCreateWithFlags, hipStreamCreateWithPriority, hipStreamSynchronize, hipStreamWaitEvent, hipStreamDestroy"]
6587 pub unsafe fn hipStreamCreate(&self, stream: *mut hipStream_t) -> hipError_t {
6588 (self
6589 .hipStreamCreate
6590 .as_ref()
6591 .expect("Expected function, got error."))(stream)
6592 }
6593 #[doc = " @brief Create an asynchronous stream.\n\n @param[in, out] stream Pointer to new stream\n @param[in ] flags to control stream creation.\n @return #hipSuccess, #hipErrorInvalidValue\n\n Create a new asynchronous stream. @p stream returns an opaque handle that can be used to\n reference the newly created stream in subsequent hipStream* commands. The stream is allocated on\n the heap and will remain allocated even if the handle goes out-of-scope. To release the memory\n used by the stream, applicaiton must call hipStreamDestroy. Flags controls behavior of the\n stream. See #hipStreamDefault, #hipStreamNonBlocking.\n\n\n @see hipStreamCreate, hipStreamCreateWithPriority, hipStreamSynchronize, hipStreamWaitEvent, hipStreamDestroy"]
6594 pub unsafe fn hipStreamCreateWithFlags(
6595 &self,
6596 stream: *mut hipStream_t,
6597 flags: ::std::os::raw::c_uint,
6598 ) -> hipError_t {
6599 (self
6600 .hipStreamCreateWithFlags
6601 .as_ref()
6602 .expect("Expected function, got error."))(stream, flags)
6603 }
6604 #[doc = " @brief Create an asynchronous stream with the specified priority.\n\n @param[in, out] stream Pointer to new stream\n @param[in ] flags to control stream creation.\n @param[in ] priority of the stream. Lower numbers represent higher priorities.\n @return #hipSuccess, #hipErrorInvalidValue\n\n Create a new asynchronous stream with the specified priority. @p stream returns an opaque handle\n that can be used to reference the newly created stream in subsequent hipStream* commands. The\n stream is allocated on the heap and will remain allocated even if the handle goes out-of-scope.\n To release the memory used by the stream, applicaiton must call hipStreamDestroy. Flags controls\n behavior of the stream. See #hipStreamDefault, #hipStreamNonBlocking.\n\n\n @see hipStreamCreate, hipStreamSynchronize, hipStreamWaitEvent, hipStreamDestroy"]
6605 pub unsafe fn hipStreamCreateWithPriority(
6606 &self,
6607 stream: *mut hipStream_t,
6608 flags: ::std::os::raw::c_uint,
6609 priority: ::std::os::raw::c_int,
6610 ) -> hipError_t {
6611 (self
6612 .hipStreamCreateWithPriority
6613 .as_ref()
6614 .expect("Expected function, got error."))(stream, flags, priority)
6615 }
6616 #[doc = " @brief Returns numerical values that correspond to the least and greatest stream priority.\n\n @param[in, out] leastPriority pointer in which value corresponding to least priority is returned.\n @param[in, out] greatestPriority pointer in which value corresponding to greatest priority is returned.\n\n Returns in *leastPriority and *greatestPriority the numerical values that correspond to the least\n and greatest stream priority respectively. Stream priorities follow a convention where lower numbers\n imply greater priorities. The range of meaningful stream priorities is given by\n [*greatestPriority, *leastPriority]. If the user attempts to create a stream with a priority value\n that is outside the the meaningful range as specified by this API, the priority is automatically\n clamped to within the valid range."]
6617 pub unsafe fn hipDeviceGetStreamPriorityRange(
6618 &self,
6619 leastPriority: *mut ::std::os::raw::c_int,
6620 greatestPriority: *mut ::std::os::raw::c_int,
6621 ) -> hipError_t {
6622 (self
6623 .hipDeviceGetStreamPriorityRange
6624 .as_ref()
6625 .expect("Expected function, got error."))(leastPriority, greatestPriority)
6626 }
6627 #[doc = " @brief Destroys the specified stream.\n\n @param[in, out] stream Valid pointer to hipStream_t. This function writes the memory with the\n newly created stream.\n @return #hipSuccess #hipErrorInvalidHandle\n\n Destroys the specified stream.\n\n If commands are still executing on the specified stream, some may complete execution before the\n queue is deleted.\n\n The queue may be destroyed while some commands are still inflight, or may wait for all commands\n queued to the stream before destroying it.\n\n @see hipStreamCreate, hipStreamCreateWithFlags, hipStreamCreateWithPriority, hipStreamQuery, hipStreamWaitEvent,\n hipStreamSynchronize"]
6628 pub unsafe fn hipStreamDestroy(&self, stream: hipStream_t) -> hipError_t {
6629 (self
6630 .hipStreamDestroy
6631 .as_ref()
6632 .expect("Expected function, got error."))(stream)
6633 }
6634 #[doc = " @brief Return #hipSuccess if all of the operations in the specified @p stream have completed, or\n #hipErrorNotReady if not.\n\n @param[in] stream stream to query\n\n @return #hipSuccess, #hipErrorNotReady, #hipErrorInvalidHandle\n\n This is thread-safe and returns a snapshot of the current state of the queue. However, if other\n host threads are sending work to the stream, the status may change immediately after the function\n is called. It is typically used for debug.\n\n @see hipStreamCreate, hipStreamCreateWithFlags, hipStreamCreateWithPriority, hipStreamWaitEvent, hipStreamSynchronize,\n hipStreamDestroy"]
6635 pub unsafe fn hipStreamQuery(&self, stream: hipStream_t) -> hipError_t {
6636 (self
6637 .hipStreamQuery
6638 .as_ref()
6639 .expect("Expected function, got error."))(stream)
6640 }
6641 #[doc = " @brief Wait for all commands in stream to complete.\n\n @param[in] stream stream identifier.\n\n @return #hipSuccess, #hipErrorInvalidHandle\n\n This command is host-synchronous : the host will block until the specified stream is empty.\n\n This command follows standard null-stream semantics. Specifically, specifying the null stream\n will cause the command to wait for other streams on the same device to complete all pending\n operations.\n\n This command honors the hipDeviceLaunchBlocking flag, which controls whether the wait is active\n or blocking.\n\n @see hipStreamCreate, hipStreamCreateWithFlags, hipStreamCreateWithPriority, hipStreamWaitEvent, hipStreamDestroy\n"]
6642 pub unsafe fn hipStreamSynchronize(&self, stream: hipStream_t) -> hipError_t {
6643 (self
6644 .hipStreamSynchronize
6645 .as_ref()
6646 .expect("Expected function, got error."))(stream)
6647 }
6648 #[doc = " @brief Make the specified compute stream wait for an event\n\n @param[in] stream stream to make wait.\n @param[in] event event to wait on\n @param[in] flags control operation [must be 0]\n\n @return #hipSuccess, #hipErrorInvalidHandle\n\n This function inserts a wait operation into the specified stream.\n All future work submitted to @p stream will wait until @p event reports completion before\n beginning execution.\n\n This function only waits for commands in the current stream to complete. Notably,, this function\n does not impliciy wait for commands in the default stream to complete, even if the specified\n stream is created with hipStreamNonBlocking = 0.\n\n @see hipStreamCreate, hipStreamCreateWithFlags, hipStreamCreateWithPriority, hipStreamSynchronize, hipStreamDestroy"]
6649 pub unsafe fn hipStreamWaitEvent(
6650 &self,
6651 stream: hipStream_t,
6652 event: hipEvent_t,
6653 flags: ::std::os::raw::c_uint,
6654 ) -> hipError_t {
6655 (self
6656 .hipStreamWaitEvent
6657 .as_ref()
6658 .expect("Expected function, got error."))(stream, event, flags)
6659 }
6660 #[doc = " @brief Return flags associated with this stream.\n\n @param[in] stream stream to be queried\n @param[in,out] flags Pointer to an unsigned integer in which the stream's flags are returned\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorInvalidHandle\n\n @returns #hipSuccess #hipErrorInvalidValue #hipErrorInvalidHandle\n\n Return flags associated with this stream in *@p flags.\n\n @see hipStreamCreateWithFlags"]
6661 pub unsafe fn hipStreamGetFlags(
6662 &self,
6663 stream: hipStream_t,
6664 flags: *mut ::std::os::raw::c_uint,
6665 ) -> hipError_t {
6666 (self
6667 .hipStreamGetFlags
6668 .as_ref()
6669 .expect("Expected function, got error."))(stream, flags)
6670 }
6671 #[doc = " @brief Query the priority of a stream.\n\n @param[in] stream stream to be queried\n @param[in,out] priority Pointer to an unsigned integer in which the stream's priority is returned\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorInvalidHandle\n\n @returns #hipSuccess #hipErrorInvalidValue #hipErrorInvalidHandle\n\n Query the priority of a stream. The priority is returned in in priority.\n\n @see hipStreamCreateWithFlags"]
6672 pub unsafe fn hipStreamGetPriority(
6673 &self,
6674 stream: hipStream_t,
6675 priority: *mut ::std::os::raw::c_int,
6676 ) -> hipError_t {
6677 (self
6678 .hipStreamGetPriority
6679 .as_ref()
6680 .expect("Expected function, got error."))(stream, priority)
6681 }
6682 #[doc = " @brief Create an asynchronous stream with the specified CU mask.\n\n @param[in, out] stream Pointer to new stream\n @param[in ] cuMaskSize Size of CU mask bit array passed in.\n @param[in ] cuMask Bit-vector representing the CU mask. Each active bit represents using one CU.\n The first 32 bits represent the first 32 CUs, and so on. If its size is greater than physical\n CU number (i.e., multiProcessorCount member of hipDeviceProp_t), the extra elements are ignored.\n It is user's responsibility to make sure the input is meaningful.\n @return #hipSuccess, #hipErrorInvalidHandle, #hipErrorInvalidValue\n\n Create a new asynchronous stream with the specified CU mask. @p stream returns an opaque handle\n that can be used to reference the newly created stream in subsequent hipStream* commands. The\n stream is allocated on the heap and will remain allocated even if the handle goes out-of-scope.\n To release the memory used by the stream, application must call hipStreamDestroy.\n\n\n @see hipStreamCreate, hipStreamSynchronize, hipStreamWaitEvent, hipStreamDestroy"]
6683 pub unsafe fn hipExtStreamCreateWithCUMask(
6684 &self,
6685 stream: *mut hipStream_t,
6686 cuMaskSize: u32,
6687 cuMask: *const u32,
6688 ) -> hipError_t {
6689 (self
6690 .hipExtStreamCreateWithCUMask
6691 .as_ref()
6692 .expect("Expected function, got error."))(stream, cuMaskSize, cuMask)
6693 }
6694 #[doc = " @brief Get CU mask associated with an asynchronous stream\n\n @param[in] stream stream to be queried\n @param[in] cuMaskSize number of the block of memories (uint32_t *) allocated by user\n @param[out] cuMask Pointer to a pre-allocated block of memories (uint32_t *) in which\n the stream's CU mask is returned. The CU mask is returned in a chunck of 32 bits where\n each active bit represents one active CU\n @return #hipSuccess, #hipErrorInvalidHandle, #hipErrorInvalidValue\n\n @see hipStreamCreate, hipStreamSynchronize, hipStreamWaitEvent, hipStreamDestroy"]
6695 pub unsafe fn hipExtStreamGetCUMask(
6696 &self,
6697 stream: hipStream_t,
6698 cuMaskSize: u32,
6699 cuMask: *mut u32,
6700 ) -> hipError_t {
6701 (self
6702 .hipExtStreamGetCUMask
6703 .as_ref()
6704 .expect("Expected function, got error."))(stream, cuMaskSize, cuMask)
6705 }
6706 #[doc = " @brief Adds a callback to be called on the host after all currently enqueued\n items in the stream have completed. For each\n hipStreamAddCallback call, a callback will be executed exactly once.\n The callback will block later work in the stream until it is finished.\n @param[in] stream - Stream to add callback to\n @param[in] callback - The function to call once preceding stream operations are complete\n @param[in] userData - User specified data to be passed to the callback function\n @param[in] flags - Reserved for future use, must be 0\n @return #hipSuccess, #hipErrorInvalidHandle, #hipErrorNotSupported\n\n @see hipStreamCreate, hipStreamCreateWithFlags, hipStreamQuery, hipStreamSynchronize,\n hipStreamWaitEvent, hipStreamDestroy, hipStreamCreateWithPriority\n"]
6707 pub unsafe fn hipStreamAddCallback(
6708 &self,
6709 stream: hipStream_t,
6710 callback: hipStreamCallback_t,
6711 userData: *mut ::std::os::raw::c_void,
6712 flags: ::std::os::raw::c_uint,
6713 ) -> hipError_t {
6714 (self
6715 .hipStreamAddCallback
6716 .as_ref()
6717 .expect("Expected function, got error."))(stream, callback, userData, flags)
6718 }
6719 #[doc = " @}\n/\n/**\n-------------------------------------------------------------------------------------------------\n-------------------------------------------------------------------------------------------------\n @defgroup StreamM Stream Memory Operations\n @{\n This section describes Stream Memory Wait and Write functions of HIP runtime API.\n/\n/**\n @brief Enqueues a wait command to the stream.[BETA]\n\n @param [in] stream - Stream identifier\n @param [in] ptr - Pointer to memory object allocated using 'hipMallocSignalMemory' flag\n @param [in] value - Value to be used in compare operation\n @param [in] flags - Defines the compare operation, supported values are hipStreamWaitValueGte\n hipStreamWaitValueEq, hipStreamWaitValueAnd and hipStreamWaitValueNor\n @param [in] mask - Mask to be applied on value at memory before it is compared with value,\n default value is set to enable every bit\n\n @returns #hipSuccess, #hipErrorInvalidValue\n\n Enqueues a wait command to the stream, all operations enqueued on this stream after this, will\n not execute until the defined wait condition is true.\n\n hipStreamWaitValueGte: waits until *ptr&mask >= value\n hipStreamWaitValueEq : waits until *ptr&mask == value\n hipStreamWaitValueAnd: waits until ((*ptr&mask) & value) != 0\n hipStreamWaitValueNor: waits until ~((*ptr&mask) | (value&mask)) != 0\n\n @note when using 'hipStreamWaitValueNor', mask is applied on both 'value' and '*ptr'.\n\n @note Support for hipStreamWaitValue32 can be queried using 'hipDeviceGetAttribute()' and\n 'hipDeviceAttributeCanUseStreamWaitValue' flag.\n\n @beta This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues.\n\n @see hipExtMallocWithFlags, hipFree, hipStreamWaitValue64, hipStreamWriteValue64,\n hipStreamWriteValue32, hipDeviceGetAttribute"]
6720 pub unsafe fn hipStreamWaitValue32(
6721 &self,
6722 stream: hipStream_t,
6723 ptr: *mut ::std::os::raw::c_void,
6724 value: u32,
6725 flags: ::std::os::raw::c_uint,
6726 mask: u32,
6727 ) -> hipError_t {
6728 (self
6729 .hipStreamWaitValue32
6730 .as_ref()
6731 .expect("Expected function, got error."))(stream, ptr, value, flags, mask)
6732 }
6733 #[doc = " @brief Enqueues a wait command to the stream.[BETA]\n\n @param [in] stream - Stream identifier\n @param [in] ptr - Pointer to memory object allocated using 'hipMallocSignalMemory' flag\n @param [in] value - Value to be used in compare operation\n @param [in] flags - Defines the compare operation, supported values are hipStreamWaitValueGte\n hipStreamWaitValueEq, hipStreamWaitValueAnd and hipStreamWaitValueNor.\n @param [in] mask - Mask to be applied on value at memory before it is compared with value\n default value is set to enable every bit\n\n @returns #hipSuccess, #hipErrorInvalidValue\n\n Enqueues a wait command to the stream, all operations enqueued on this stream after this, will\n not execute until the defined wait condition is true.\n\n hipStreamWaitValueGte: waits until *ptr&mask >= value\n hipStreamWaitValueEq : waits until *ptr&mask == value\n hipStreamWaitValueAnd: waits until ((*ptr&mask) & value) != 0\n hipStreamWaitValueNor: waits until ~((*ptr&mask) | (value&mask)) != 0\n\n @note when using 'hipStreamWaitValueNor', mask is applied on both 'value' and '*ptr'.\n\n @note Support for hipStreamWaitValue64 can be queried using 'hipDeviceGetAttribute()' and\n 'hipDeviceAttributeCanUseStreamWaitValue' flag.\n\n @beta This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues.\n\n @see hipExtMallocWithFlags, hipFree, hipStreamWaitValue32, hipStreamWriteValue64,\n hipStreamWriteValue32, hipDeviceGetAttribute"]
6734 pub unsafe fn hipStreamWaitValue64(
6735 &self,
6736 stream: hipStream_t,
6737 ptr: *mut ::std::os::raw::c_void,
6738 value: u64,
6739 flags: ::std::os::raw::c_uint,
6740 mask: u64,
6741 ) -> hipError_t {
6742 (self
6743 .hipStreamWaitValue64
6744 .as_ref()
6745 .expect("Expected function, got error."))(stream, ptr, value, flags, mask)
6746 }
6747 #[doc = " @brief Enqueues a write command to the stream.[BETA]\n\n @param [in] stream - Stream identifier\n @param [in] ptr - Pointer to a GPU accessible memory object\n @param [in] value - Value to be written\n @param [in] flags - reserved, ignored for now, will be used in future releases\n\n @returns #hipSuccess, #hipErrorInvalidValue\n\n Enqueues a write command to the stream, write operation is performed after all earlier commands\n on this stream have completed the execution.\n\n @beta This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues.\n\n @see hipExtMallocWithFlags, hipFree, hipStreamWriteValue32, hipStreamWaitValue32,\n hipStreamWaitValue64"]
6748 pub unsafe fn hipStreamWriteValue32(
6749 &self,
6750 stream: hipStream_t,
6751 ptr: *mut ::std::os::raw::c_void,
6752 value: u32,
6753 flags: ::std::os::raw::c_uint,
6754 ) -> hipError_t {
6755 (self
6756 .hipStreamWriteValue32
6757 .as_ref()
6758 .expect("Expected function, got error."))(stream, ptr, value, flags)
6759 }
6760 #[doc = " @brief Enqueues a write command to the stream.[BETA]\n\n @param [in] stream - Stream identifier\n @param [in] ptr - Pointer to a GPU accessible memory object\n @param [in] value - Value to be written\n @param [in] flags - reserved, ignored for now, will be used in future releases\n\n @returns #hipSuccess, #hipErrorInvalidValue\n\n Enqueues a write command to the stream, write operation is performed after all earlier commands\n on this stream have completed the execution.\n\n @beta This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues.\n\n @see hipExtMallocWithFlags, hipFree, hipStreamWriteValue32, hipStreamWaitValue32,\n hipStreamWaitValue64"]
6761 pub unsafe fn hipStreamWriteValue64(
6762 &self,
6763 stream: hipStream_t,
6764 ptr: *mut ::std::os::raw::c_void,
6765 value: u64,
6766 flags: ::std::os::raw::c_uint,
6767 ) -> hipError_t {
6768 (self
6769 .hipStreamWriteValue64
6770 .as_ref()
6771 .expect("Expected function, got error."))(stream, ptr, value, flags)
6772 }
6773 #[doc = " @}\n/\n/**\n-------------------------------------------------------------------------------------------------\n-------------------------------------------------------------------------------------------------\n @defgroup Event Event Management\n @{\n This section describes the event management functions of HIP runtime API.\n/\n/**\n @brief Create an event with the specified flags\n\n @param[in,out] event Returns the newly created event.\n @param[in] flags Flags to control event behavior. Valid values are #hipEventDefault,\n#hipEventBlockingSync, #hipEventDisableTiming, #hipEventInterprocess\n #hipEventDefault : Default flag. The event will use active synchronization and will support\ntiming. Blocking synchronization provides lowest possible latency at the expense of dedicating a\nCPU to poll on the event.\n #hipEventBlockingSync : The event will use blocking synchronization : if hipEventSynchronize is\ncalled on this event, the thread will block until the event completes. This can increase latency\nfor the synchroniation but can result in lower power and more resources for other CPU threads.\n #hipEventDisableTiming : Disable recording of timing information. Events created with this flag\nwould not record profiling data and provide best performance if used for synchronization.\n #hipEventInterprocess : The event can be used as an interprocess event. hipEventDisableTiming\nflag also must be set when hipEventInterprocess flag is set.\n\n @returns #hipSuccess, #hipErrorNotInitialized, #hipErrorInvalidValue,\n#hipErrorLaunchFailure, #hipErrorOutOfMemory\n\n @see hipEventCreate, hipEventSynchronize, hipEventDestroy, hipEventElapsedTime"]
6774 pub unsafe fn hipEventCreateWithFlags(
6775 &self,
6776 event: *mut hipEvent_t,
6777 flags: ::std::os::raw::c_uint,
6778 ) -> hipError_t {
6779 (self
6780 .hipEventCreateWithFlags
6781 .as_ref()
6782 .expect("Expected function, got error."))(event, flags)
6783 }
6784 #[doc = " Create an event\n\n @param[in,out] event Returns the newly created event.\n\n @returns #hipSuccess, #hipErrorNotInitialized, #hipErrorInvalidValue,\n #hipErrorLaunchFailure, #hipErrorOutOfMemory\n\n @see hipEventCreateWithFlags, hipEventRecord, hipEventQuery, hipEventSynchronize,\n hipEventDestroy, hipEventElapsedTime"]
6785 pub unsafe fn hipEventCreate(&self, event: *mut hipEvent_t) -> hipError_t {
6786 (self
6787 .hipEventCreate
6788 .as_ref()
6789 .expect("Expected function, got error."))(event)
6790 }
6791 pub unsafe fn hipEventRecord(&self, event: hipEvent_t, stream: hipStream_t) -> hipError_t {
6792 (self
6793 .hipEventRecord
6794 .as_ref()
6795 .expect("Expected function, got error."))(event, stream)
6796 }
6797 #[doc = " @brief Destroy the specified event.\n\n @param[in] event Event to destroy.\n @returns #hipSuccess, #hipErrorNotInitialized, #hipErrorInvalidValue,\n #hipErrorLaunchFailure\n\n Releases memory associated with the event. If the event is recording but has not completed\n recording when hipEventDestroy() is called, the function will return immediately and the\n completion_future resources will be released later, when the hipDevice is synchronized.\n\n @see hipEventCreate, hipEventCreateWithFlags, hipEventQuery, hipEventSynchronize, hipEventRecord,\n hipEventElapsedTime\n\n @returns #hipSuccess"]
6798 pub unsafe fn hipEventDestroy(&self, event: hipEvent_t) -> hipError_t {
6799 (self
6800 .hipEventDestroy
6801 .as_ref()
6802 .expect("Expected function, got error."))(event)
6803 }
6804 #[doc = " @brief Wait for an event to complete.\n\n This function will block until the event is ready, waiting for all previous work in the stream\n specified when event was recorded with hipEventRecord().\n\n If hipEventRecord() has not been called on @p event, this function returns immediately.\n\n TODO-hip- This function needs to support hipEventBlockingSync parameter.\n\n @param[in] event Event on which to wait.\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorNotInitialized,\n #hipErrorInvalidHandle, #hipErrorLaunchFailure\n\n @see hipEventCreate, hipEventCreateWithFlags, hipEventQuery, hipEventDestroy, hipEventRecord,\n hipEventElapsedTime"]
6805 pub unsafe fn hipEventSynchronize(&self, event: hipEvent_t) -> hipError_t {
6806 (self
6807 .hipEventSynchronize
6808 .as_ref()
6809 .expect("Expected function, got error."))(event)
6810 }
6811 #[doc = " @brief Return the elapsed time between two events.\n\n @param[out] ms : Return time between start and stop in ms.\n @param[in] start : Start event.\n @param[in] stop : Stop event.\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorNotReady, #hipErrorInvalidHandle,\n #hipErrorNotInitialized, #hipErrorLaunchFailure\n\n Computes the elapsed time between two events. Time is computed in ms, with\n a resolution of approximately 1 us.\n\n Events which are recorded in a NULL stream will block until all commands\n on all other streams complete execution, and then record the timestamp.\n\n Events which are recorded in a non-NULL stream will record their timestamp\n when they reach the head of the specified stream, after all previous\n commands in that stream have completed executing. Thus the time that\n the event recorded may be significantly after the host calls hipEventRecord().\n\n If hipEventRecord() has not been called on either event, then #hipErrorInvalidHandle is\n returned. If hipEventRecord() has been called on both events, but the timestamp has not yet been\n recorded on one or both events (that is, hipEventQuery() would return #hipErrorNotReady on at\n least one of the events), then #hipErrorNotReady is returned.\n\n @see hipEventCreate, hipEventCreateWithFlags, hipEventQuery, hipEventDestroy, hipEventRecord,\n hipEventSynchronize"]
6812 pub unsafe fn hipEventElapsedTime(
6813 &self,
6814 ms: *mut f32,
6815 start: hipEvent_t,
6816 stop: hipEvent_t,
6817 ) -> hipError_t {
6818 (self
6819 .hipEventElapsedTime
6820 .as_ref()
6821 .expect("Expected function, got error."))(ms, start, stop)
6822 }
6823 #[doc = " @brief Query event status\n\n @param[in] event Event to query.\n @returns #hipSuccess, #hipErrorNotReady, #hipErrorInvalidHandle, #hipErrorInvalidValue,\n #hipErrorNotInitialized, #hipErrorLaunchFailure\n\n Query the status of the specified event. This function will return #hipSuccess if all\n commands in the appropriate stream (specified to hipEventRecord()) have completed. If that work\n has not completed, or if hipEventRecord() was not called on the event, then #hipErrorNotReady is\n returned.\n\n @see hipEventCreate, hipEventCreateWithFlags, hipEventRecord, hipEventDestroy,\n hipEventSynchronize, hipEventElapsedTime"]
6824 pub unsafe fn hipEventQuery(&self, event: hipEvent_t) -> hipError_t {
6825 (self
6826 .hipEventQuery
6827 .as_ref()
6828 .expect("Expected function, got error."))(event)
6829 }
6830 #[doc = " @}\n/\n/**\n-------------------------------------------------------------------------------------------------\n-------------------------------------------------------------------------------------------------\n @defgroup Memory Memory Management\n @{\n This section describes the memory management functions of HIP runtime API.\n The following CUDA APIs are not currently supported:\n - cudaMalloc3D\n - cudaMalloc3DArray\n - TODO - more 2D, 3D, array APIs here.\n\n\n/\n/**\n @brief Return attributes for the specified pointer\n\n @param [out] attributes attributes for the specified pointer\n @param [in] ptr pointer to get attributes for\n\n @return #hipSuccess, #hipErrorInvalidDevice, #hipErrorInvalidValue\n\n @see hipPointerGetAttribute"]
6831 pub unsafe fn hipPointerGetAttributes(
6832 &self,
6833 attributes: *mut hipPointerAttribute_t,
6834 ptr: *const ::std::os::raw::c_void,
6835 ) -> hipError_t {
6836 (self
6837 .hipPointerGetAttributes
6838 .as_ref()
6839 .expect("Expected function, got error."))(attributes, ptr)
6840 }
6841 #[doc = " @brief Returns information about the specified pointer.[BETA]\n\n @param [in, out] data returned pointer attribute value\n @param [in] atribute attribute to query for\n @param [in] ptr pointer to get attributes for\n\n @return #hipSuccess, #hipErrorInvalidDevice, #hipErrorInvalidValue\n\n @beta This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues.\n\n @see hipPointerGetAttributes"]
6842 pub unsafe fn hipPointerGetAttribute(
6843 &self,
6844 data: *mut ::std::os::raw::c_void,
6845 attribute: hipPointer_attribute,
6846 ptr: hipDeviceptr_t,
6847 ) -> hipError_t {
6848 (self
6849 .hipPointerGetAttribute
6850 .as_ref()
6851 .expect("Expected function, got error."))(data, attribute, ptr)
6852 }
6853 #[doc = " @brief Returns information about the specified pointer.[BETA]\n\n @param [in] numAttributes number of attributes to query for\n @param [in] attributes attributes to query for\n @param [in, out] data a two-dimensional containing pointers to memory locations\n where the result of each attribute query will be written to\n @param [in] ptr pointer to get attributes for\n\n @return #hipSuccess, #hipErrorInvalidDevice, #hipErrorInvalidValue\n\n @beta This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues.\n\n @see hipPointerGetAttribute"]
6854 pub unsafe fn hipDrvPointerGetAttributes(
6855 &self,
6856 numAttributes: ::std::os::raw::c_uint,
6857 attributes: *mut hipPointer_attribute,
6858 data: *mut *mut ::std::os::raw::c_void,
6859 ptr: hipDeviceptr_t,
6860 ) -> hipError_t {
6861 (self
6862 .hipDrvPointerGetAttributes
6863 .as_ref()
6864 .expect("Expected function, got error."))(numAttributes, attributes, data, ptr)
6865 }
6866 #[doc = " @brief Imports an external semaphore.\n\n @param[out] extSem_out External semaphores to be waited on\n @param[in] semHandleDesc Semaphore import handle descriptor\n\n @return #hipSuccess, #hipErrorInvalidDevice, #hipErrorInvalidValue\n\n @see"]
6867 pub unsafe fn hipImportExternalSemaphore(
6868 &self,
6869 extSem_out: *mut hipExternalSemaphore_t,
6870 semHandleDesc: *const hipExternalSemaphoreHandleDesc,
6871 ) -> hipError_t {
6872 (self
6873 .hipImportExternalSemaphore
6874 .as_ref()
6875 .expect("Expected function, got error."))(extSem_out, semHandleDesc)
6876 }
6877 #[doc = " @brief Signals a set of external semaphore objects.\n\n @param[in] extSem_out External semaphores to be waited on\n @param[in] paramsArray Array of semaphore parameters\n @param[in] numExtSems Number of semaphores to wait on\n @param[in] stream Stream to enqueue the wait operations in\n\n @return #hipSuccess, #hipErrorInvalidDevice, #hipErrorInvalidValue\n\n @see"]
6878 pub unsafe fn hipSignalExternalSemaphoresAsync(
6879 &self,
6880 extSemArray: *const hipExternalSemaphore_t,
6881 paramsArray: *const hipExternalSemaphoreSignalParams,
6882 numExtSems: ::std::os::raw::c_uint,
6883 stream: hipStream_t,
6884 ) -> hipError_t {
6885 (self
6886 .hipSignalExternalSemaphoresAsync
6887 .as_ref()
6888 .expect("Expected function, got error."))(
6889 extSemArray, paramsArray, numExtSems, stream
6890 )
6891 }
6892 #[doc = " @brief Waits on a set of external semaphore objects\n\n @param[in] extSem_out External semaphores to be waited on\n @param[in] paramsArray Array of semaphore parameters\n @param[in] numExtSems Number of semaphores to wait on\n @param[in] stream Stream to enqueue the wait operations in\n\n @return #hipSuccess, #hipErrorInvalidDevice, #hipErrorInvalidValue\n\n @see"]
6893 pub unsafe fn hipWaitExternalSemaphoresAsync(
6894 &self,
6895 extSemArray: *const hipExternalSemaphore_t,
6896 paramsArray: *const hipExternalSemaphoreWaitParams,
6897 numExtSems: ::std::os::raw::c_uint,
6898 stream: hipStream_t,
6899 ) -> hipError_t {
6900 (self
6901 .hipWaitExternalSemaphoresAsync
6902 .as_ref()
6903 .expect("Expected function, got error."))(
6904 extSemArray, paramsArray, numExtSems, stream
6905 )
6906 }
6907 #[doc = " @brief Destroys an external semaphore object and releases any references to the underlying resource. Any outstanding signals or waits must have completed before the semaphore is destroyed.\n\n @param[in] extSem handle to an external memory object\n\n @return #hipSuccess, #hipErrorInvalidDevice, #hipErrorInvalidValue\n\n @see"]
6908 pub unsafe fn hipDestroyExternalSemaphore(&self, extSem: hipExternalSemaphore_t) -> hipError_t {
6909 (self
6910 .hipDestroyExternalSemaphore
6911 .as_ref()
6912 .expect("Expected function, got error."))(extSem)
6913 }
6914 #[doc = " @brief Imports an external memory object.\n\n @param[out] extMem_out Returned handle to an external memory object\n @param[in] memHandleDesc Memory import handle descriptor\n\n @return #hipSuccess, #hipErrorInvalidDevice, #hipErrorInvalidValue\n\n @see"]
6915 pub unsafe fn hipImportExternalMemory(
6916 &self,
6917 extMem_out: *mut hipExternalMemory_t,
6918 memHandleDesc: *const hipExternalMemoryHandleDesc,
6919 ) -> hipError_t {
6920 (self
6921 .hipImportExternalMemory
6922 .as_ref()
6923 .expect("Expected function, got error."))(extMem_out, memHandleDesc)
6924 }
6925 #[doc = " @brief Maps a buffer onto an imported memory object.\n\n @param[out] devPtr Returned device pointer to buffer\n @param[in] extMem Handle to external memory object\n @param[in] bufferDesc Buffer descriptor\n\n @return #hipSuccess, #hipErrorInvalidDevice, #hipErrorInvalidValue\n\n @see"]
6926 pub unsafe fn hipExternalMemoryGetMappedBuffer(
6927 &self,
6928 devPtr: *mut *mut ::std::os::raw::c_void,
6929 extMem: hipExternalMemory_t,
6930 bufferDesc: *const hipExternalMemoryBufferDesc,
6931 ) -> hipError_t {
6932 (self
6933 .hipExternalMemoryGetMappedBuffer
6934 .as_ref()
6935 .expect("Expected function, got error."))(devPtr, extMem, bufferDesc)
6936 }
6937 #[doc = " @brief Destroys an external memory object.\n\n @param[in] extMem External memory object to be destroyed\n\n @return #hipSuccess, #hipErrorInvalidDevice, #hipErrorInvalidValue\n\n @see"]
6938 pub unsafe fn hipDestroyExternalMemory(&self, extMem: hipExternalMemory_t) -> hipError_t {
6939 (self
6940 .hipDestroyExternalMemory
6941 .as_ref()
6942 .expect("Expected function, got error."))(extMem)
6943 }
6944 #[doc = " @brief Allocate memory on the default accelerator\n\n @param[out] ptr Pointer to the allocated memory\n @param[in] size Requested memory size\n\n If size is 0, no memory is allocated, *ptr returns nullptr, and hipSuccess is returned.\n\n @return #hipSuccess, #hipErrorOutOfMemory, #hipErrorInvalidValue (bad context, null *ptr)\n\n @see hipMallocPitch, hipFree, hipMallocArray, hipFreeArray, hipMalloc3D, hipMalloc3DArray,\n hipHostFree, hipHostMalloc"]
6945 pub unsafe fn hipMalloc(
6946 &self,
6947 ptr: *mut *mut ::std::os::raw::c_void,
6948 size: usize,
6949 ) -> hipError_t {
6950 (self
6951 .hipMalloc
6952 .as_ref()
6953 .expect("Expected function, got error."))(ptr, size)
6954 }
6955 #[doc = " @brief Allocate memory on the default accelerator\n\n @param[out] ptr Pointer to the allocated memory\n @param[in] size Requested memory size\n @param[in] flags Type of memory allocation\n\n If size is 0, no memory is allocated, *ptr returns nullptr, and hipSuccess is returned.\n\n @return #hipSuccess, #hipErrorOutOfMemory, #hipErrorInvalidValue (bad context, null *ptr)\n\n @see hipMallocPitch, hipFree, hipMallocArray, hipFreeArray, hipMalloc3D, hipMalloc3DArray,\n hipHostFree, hipHostMalloc"]
6956 pub unsafe fn hipExtMallocWithFlags(
6957 &self,
6958 ptr: *mut *mut ::std::os::raw::c_void,
6959 sizeBytes: usize,
6960 flags: ::std::os::raw::c_uint,
6961 ) -> hipError_t {
6962 (self
6963 .hipExtMallocWithFlags
6964 .as_ref()
6965 .expect("Expected function, got error."))(ptr, sizeBytes, flags)
6966 }
6967 #[doc = " @brief Allocate pinned host memory [Deprecated]\n\n @param[out] ptr Pointer to the allocated host pinned memory\n @param[in] size Requested memory size\n\n If size is 0, no memory is allocated, *ptr returns nullptr, and hipSuccess is returned.\n\n @return #hipSuccess, #hipErrorOutOfMemory\n\n @deprecated use hipHostMalloc() instead"]
6968 pub unsafe fn hipMallocHost(
6969 &self,
6970 ptr: *mut *mut ::std::os::raw::c_void,
6971 size: usize,
6972 ) -> hipError_t {
6973 (self
6974 .hipMallocHost
6975 .as_ref()
6976 .expect("Expected function, got error."))(ptr, size)
6977 }
6978 #[doc = " @brief Allocate pinned host memory [Deprecated]\n\n @param[out] ptr Pointer to the allocated host pinned memory\n @param[in] size Requested memory size\n\n If size is 0, no memory is allocated, *ptr returns nullptr, and hipSuccess is returned.\n\n @return #hipSuccess, #hipErrorOutOfMemory\n\n @deprecated use hipHostMalloc() instead"]
6979 pub unsafe fn hipMemAllocHost(
6980 &self,
6981 ptr: *mut *mut ::std::os::raw::c_void,
6982 size: usize,
6983 ) -> hipError_t {
6984 (self
6985 .hipMemAllocHost
6986 .as_ref()
6987 .expect("Expected function, got error."))(ptr, size)
6988 }
6989 #[doc = " @brief Allocate device accessible page locked host memory\n\n @param[out] ptr Pointer to the allocated host pinned memory\n @param[in] size Requested memory size\n @param[in] flags Type of host memory allocation\n\n If size is 0, no memory is allocated, *ptr returns nullptr, and hipSuccess is returned.\n\n @return #hipSuccess, #hipErrorOutOfMemory\n\n @see hipSetDeviceFlags, hipHostFree"]
6990 pub unsafe fn hipHostMalloc(
6991 &self,
6992 ptr: *mut *mut ::std::os::raw::c_void,
6993 size: usize,
6994 flags: ::std::os::raw::c_uint,
6995 ) -> hipError_t {
6996 (self
6997 .hipHostMalloc
6998 .as_ref()
6999 .expect("Expected function, got error."))(ptr, size, flags)
7000 }
7001 #[doc = "-------------------------------------------------------------------------------------------------\n-------------------------------------------------------------------------------------------------\n @addtogroup MemoryM Managed Memory\n @{\n @ingroup Memory\n This section describes the managed memory management functions of HIP runtime API.\n\n/\n/**\n @brief Allocates memory that will be automatically managed by HIP.\n\n @param [out] dev_ptr - pointer to allocated device memory\n @param [in] size - requested allocation size in bytes\n @param [in] flags - must be either hipMemAttachGlobal or hipMemAttachHost\n (defaults to hipMemAttachGlobal)\n\n @returns #hipSuccess, #hipErrorMemoryAllocation, #hipErrorNotSupported, #hipErrorInvalidValue"]
7002 pub unsafe fn hipMallocManaged(
7003 &self,
7004 dev_ptr: *mut *mut ::std::os::raw::c_void,
7005 size: usize,
7006 flags: ::std::os::raw::c_uint,
7007 ) -> hipError_t {
7008 (self
7009 .hipMallocManaged
7010 .as_ref()
7011 .expect("Expected function, got error."))(dev_ptr, size, flags)
7012 }
7013 #[doc = " @brief Prefetches memory to the specified destination device using HIP.\n\n @param [in] dev_ptr pointer to be prefetched\n @param [in] count size in bytes for prefetching\n @param [in] device destination device to prefetch to\n @param [in] stream stream to enqueue prefetch operation\n\n @returns #hipSuccess, #hipErrorInvalidValue"]
7014 pub unsafe fn hipMemPrefetchAsync(
7015 &self,
7016 dev_ptr: *const ::std::os::raw::c_void,
7017 count: usize,
7018 device: ::std::os::raw::c_int,
7019 stream: hipStream_t,
7020 ) -> hipError_t {
7021 (self
7022 .hipMemPrefetchAsync
7023 .as_ref()
7024 .expect("Expected function, got error."))(dev_ptr, count, device, stream)
7025 }
7026 #[doc = " @brief Advise about the usage of a given memory range to HIP.\n\n @param [in] dev_ptr pointer to memory to set the advice for\n @param [in] count size in bytes of the memory range\n @param [in] advice advice to be applied for the specified memory range\n @param [in] device device to apply the advice for\n\n @returns #hipSuccess, #hipErrorInvalidValue"]
7027 pub unsafe fn hipMemAdvise(
7028 &self,
7029 dev_ptr: *const ::std::os::raw::c_void,
7030 count: usize,
7031 advice: hipMemoryAdvise,
7032 device: ::std::os::raw::c_int,
7033 ) -> hipError_t {
7034 (self
7035 .hipMemAdvise
7036 .as_ref()
7037 .expect("Expected function, got error."))(dev_ptr, count, advice, device)
7038 }
7039 #[doc = " @brief Query an attribute of a given memory range in HIP.\n\n @param [in,out] data a pointer to a memory location where the result of each\n attribute query will be written to\n @param [in] data_size the size of data\n @param [in] attribute the attribute to query\n @param [in] dev_ptr start of the range to query\n @param [in] count size of the range to query\n\n @returns #hipSuccess, #hipErrorInvalidValue"]
7040 pub unsafe fn hipMemRangeGetAttribute(
7041 &self,
7042 data: *mut ::std::os::raw::c_void,
7043 data_size: usize,
7044 attribute: hipMemRangeAttribute,
7045 dev_ptr: *const ::std::os::raw::c_void,
7046 count: usize,
7047 ) -> hipError_t {
7048 (self
7049 .hipMemRangeGetAttribute
7050 .as_ref()
7051 .expect("Expected function, got error."))(
7052 data, data_size, attribute, dev_ptr, count
7053 )
7054 }
7055 #[doc = " @brief Query attributes of a given memory range in HIP.\n\n @param [in,out] data a two-dimensional array containing pointers to memory locations\n where the result of each attribute query will be written to\n @param [in] data_sizes an array, containing the sizes of each result\n @param [in] attributes the attribute to query\n @param [in] num_attributes an array of attributes to query (numAttributes and the number\n of attributes in this array should match)\n @param [in] dev_ptr start of the range to query\n @param [in] count size of the range to query\n\n @returns #hipSuccess, #hipErrorInvalidValue"]
7056 pub unsafe fn hipMemRangeGetAttributes(
7057 &self,
7058 data: *mut *mut ::std::os::raw::c_void,
7059 data_sizes: *mut usize,
7060 attributes: *mut hipMemRangeAttribute,
7061 num_attributes: usize,
7062 dev_ptr: *const ::std::os::raw::c_void,
7063 count: usize,
7064 ) -> hipError_t {
7065 (self
7066 .hipMemRangeGetAttributes
7067 .as_ref()
7068 .expect("Expected function, got error."))(
7069 data,
7070 data_sizes,
7071 attributes,
7072 num_attributes,
7073 dev_ptr,
7074 count,
7075 )
7076 }
7077 #[doc = " @brief Attach memory to a stream asynchronously in HIP.\n\n @param [in] stream - stream in which to enqueue the attach operation\n @param [in] dev_ptr - pointer to memory (must be a pointer to managed memory or\n to a valid host-accessible region of system-allocated memory)\n @param [in] length - length of memory (defaults to zero)\n @param [in] flags - must be one of hipMemAttachGlobal, hipMemAttachHost or\n hipMemAttachSingle (defaults to hipMemAttachSingle)\n\n @returns #hipSuccess, #hipErrorInvalidValue"]
7078 pub unsafe fn hipStreamAttachMemAsync(
7079 &self,
7080 stream: hipStream_t,
7081 dev_ptr: *mut ::std::os::raw::c_void,
7082 length: usize,
7083 flags: ::std::os::raw::c_uint,
7084 ) -> hipError_t {
7085 (self
7086 .hipStreamAttachMemAsync
7087 .as_ref()
7088 .expect("Expected function, got error."))(stream, dev_ptr, length, flags)
7089 }
7090 #[doc = " @brief Allocates memory with stream ordered semantics\n\n Inserts a memory allocation operation into @p stream.\n A pointer to the allocated memory is returned immediately in *dptr.\n The allocation must not be accessed until the the allocation operation completes.\n The allocation comes from the memory pool associated with the stream's device.\n\n @note The default memory pool of a device contains device memory from that device.\n @note Basic stream ordering allows future work submitted into the same stream to use the allocation.\n Stream query, stream synchronize, and HIP events can be used to guarantee that the allocation\n operation completes before work submitted in a separate stream runs.\n @note During stream capture, this function results in the creation of an allocation node. In this case,\n the allocation is owned by the graph instead of the memory pool. The memory pool's properties\n are used to set the node's creation parameters.\n\n @param [out] dev_ptr Returned device pointer of memory allocation\n @param [in] size Number of bytes to allocate\n @param [in] stream The stream establishing the stream ordering contract and\n the memory pool to allocate from\n\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorNotSupported, #hipErrorOutOfMemory\n\n @see hipMallocFromPoolAsync, hipFreeAsync, hipMemPoolTrimTo, hipMemPoolGetAttribute,\n hipDeviceSetMemPool, hipMemPoolSetAttribute, hipMemPoolSetAccess, hipMemPoolGetAccess\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
7091 pub unsafe fn hipMallocAsync(
7092 &self,
7093 dev_ptr: *mut *mut ::std::os::raw::c_void,
7094 size: usize,
7095 stream: hipStream_t,
7096 ) -> hipError_t {
7097 (self
7098 .hipMallocAsync
7099 .as_ref()
7100 .expect("Expected function, got error."))(dev_ptr, size, stream)
7101 }
7102 #[doc = " @brief Frees memory with stream ordered semantics\n\n Inserts a free operation into @p stream.\n The allocation must not be used after stream execution reaches the free.\n After this API returns, accessing the memory from any subsequent work launched on the GPU\n or querying its pointer attributes results in undefined behavior.\n\n @note During stream capture, this function results in the creation of a free node and\n must therefore be passed the address of a graph allocation.\n\n @param [in] dev_ptr Pointer to device memory to free\n @param [in] stream The stream, where the destruciton will occur according to the execution order\n\n @returns hipSuccess, hipErrorInvalidValue, hipErrorNotSupported\n\n @see hipMallocFromPoolAsync, hipMallocAsync, hipMemPoolTrimTo, hipMemPoolGetAttribute,\n hipDeviceSetMemPool, hipMemPoolSetAttribute, hipMemPoolSetAccess, hipMemPoolGetAccess\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
7103 pub unsafe fn hipFreeAsync(
7104 &self,
7105 dev_ptr: *mut ::std::os::raw::c_void,
7106 stream: hipStream_t,
7107 ) -> hipError_t {
7108 (self
7109 .hipFreeAsync
7110 .as_ref()
7111 .expect("Expected function, got error."))(dev_ptr, stream)
7112 }
7113 #[doc = " @brief Releases freed memory back to the OS\n\n Releases memory back to the OS until the pool contains fewer than @p min_bytes_to_keep\n reserved bytes, or there is no more memory that the allocator can safely release.\n The allocator cannot release OS allocations that back outstanding asynchronous allocations.\n The OS allocations may happen at different granularity from the user allocations.\n\n @note: Allocations that have not been freed count as outstanding.\n @note: Allocations that have been asynchronously freed but whose completion has\n not been observed on the host (eg. by a synchronize) can count as outstanding.\n\n @param[in] mem_pool The memory pool to trim allocations\n @param[in] min_bytes_to_hold If the pool has less than min_bytes_to_hold reserved,\n then the TrimTo operation is a no-op. Otherwise the memory pool will contain\n at least min_bytes_to_hold bytes reserved after the operation.\n\n @returns #hipSuccess, #hipErrorInvalidValue\n\n @see hipMallocFromPoolAsync, hipMallocAsync, hipFreeAsync, hipMemPoolGetAttribute,\n hipDeviceSetMemPool, hipMemPoolSetAttribute, hipMemPoolSetAccess, hipMemPoolGetAccess\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
7114 pub unsafe fn hipMemPoolTrimTo(
7115 &self,
7116 mem_pool: hipMemPool_t,
7117 min_bytes_to_hold: usize,
7118 ) -> hipError_t {
7119 (self
7120 .hipMemPoolTrimTo
7121 .as_ref()
7122 .expect("Expected function, got error."))(mem_pool, min_bytes_to_hold)
7123 }
7124 #[doc = " @brief Sets attributes of a memory pool\n\n Supported attributes are:\n - @p hipMemPoolAttrReleaseThreshold: (value type = cuuint64_t)\n Amount of reserved memory in bytes to hold onto before trying\n to release memory back to the OS. When more than the release\n threshold bytes of memory are held by the memory pool, the\n allocator will try to release memory back to the OS on the\n next call to stream, event or context synchronize. (default 0)\n - @p hipMemPoolReuseFollowEventDependencies: (value type = int)\n Allow @p hipMallocAsync to use memory asynchronously freed\n in another stream as long as a stream ordering dependency\n of the allocating stream on the free action exists.\n HIP events and null stream interactions can create the required\n stream ordered dependencies. (default enabled)\n - @p hipMemPoolReuseAllowOpportunistic: (value type = int)\n Allow reuse of already completed frees when there is no dependency\n between the free and allocation. (default enabled)\n - @p hipMemPoolReuseAllowInternalDependencies: (value type = int)\n Allow @p hipMallocAsync to insert new stream dependencies\n in order to establish the stream ordering required to reuse\n a piece of memory released by @p hipFreeAsync (default enabled).\n\n @param [in] mem_pool The memory pool to modify\n @param [in] attr The attribute to modify\n @param [in] value Pointer to the value to assign\n\n @returns #hipSuccess, #hipErrorInvalidValue\n\n @see hipMallocFromPoolAsync, hipMallocAsync, hipFreeAsync, hipMemPoolGetAttribute,\n hipMemPoolTrimTo, hipDeviceSetMemPool, hipMemPoolSetAccess, hipMemPoolGetAccess\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
7125 pub unsafe fn hipMemPoolSetAttribute(
7126 &self,
7127 mem_pool: hipMemPool_t,
7128 attr: hipMemPoolAttr,
7129 value: *mut ::std::os::raw::c_void,
7130 ) -> hipError_t {
7131 (self
7132 .hipMemPoolSetAttribute
7133 .as_ref()
7134 .expect("Expected function, got error."))(mem_pool, attr, value)
7135 }
7136 #[doc = " @brief Gets attributes of a memory pool\n\n Supported attributes are:\n - @p hipMemPoolAttrReleaseThreshold: (value type = cuuint64_t)\n Amount of reserved memory in bytes to hold onto before trying\n to release memory back to the OS. When more than the release\n threshold bytes of memory are held by the memory pool, the\n allocator will try to release memory back to the OS on the\n next call to stream, event or context synchronize. (default 0)\n - @p hipMemPoolReuseFollowEventDependencies: (value type = int)\n Allow @p hipMallocAsync to use memory asynchronously freed\n in another stream as long as a stream ordering dependency\n of the allocating stream on the free action exists.\n HIP events and null stream interactions can create the required\n stream ordered dependencies. (default enabled)\n - @p hipMemPoolReuseAllowOpportunistic: (value type = int)\n Allow reuse of already completed frees when there is no dependency\n between the free and allocation. (default enabled)\n - @p hipMemPoolReuseAllowInternalDependencies: (value type = int)\n Allow @p hipMallocAsync to insert new stream dependencies\n in order to establish the stream ordering required to reuse\n a piece of memory released by @p hipFreeAsync (default enabled).\n\n @param [in] mem_pool The memory pool to get attributes of\n @param [in] attr The attribute to get\n @param [in] value Retrieved value\n\n @returns #hipSuccess, #hipErrorInvalidValue\n\n @see hipMallocFromPoolAsync, hipMallocAsync, hipFreeAsync,\n hipMemPoolTrimTo, hipDeviceSetMemPool, hipMemPoolSetAttribute, hipMemPoolSetAccess, hipMemPoolGetAccess\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
7137 pub unsafe fn hipMemPoolGetAttribute(
7138 &self,
7139 mem_pool: hipMemPool_t,
7140 attr: hipMemPoolAttr,
7141 value: *mut ::std::os::raw::c_void,
7142 ) -> hipError_t {
7143 (self
7144 .hipMemPoolGetAttribute
7145 .as_ref()
7146 .expect("Expected function, got error."))(mem_pool, attr, value)
7147 }
7148 #[doc = " @brief Controls visibility of the specified pool between devices\n\n @param [in] mem_pool Memory pool for acccess change\n @param [in] desc_list Array of access descriptors. Each descriptor instructs the access to enable for a single gpu\n @param [in] count Number of descriptors in the map array.\n\n @returns #hipSuccess, #hipErrorInvalidValue\n\n @see hipMallocFromPoolAsync, hipMallocAsync, hipFreeAsync, hipMemPoolGetAttribute,\n hipMemPoolTrimTo, hipDeviceSetMemPool, hipMemPoolSetAttribute, hipMemPoolGetAccess\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
7149 pub unsafe fn hipMemPoolSetAccess(
7150 &self,
7151 mem_pool: hipMemPool_t,
7152 desc_list: *const hipMemAccessDesc,
7153 count: usize,
7154 ) -> hipError_t {
7155 (self
7156 .hipMemPoolSetAccess
7157 .as_ref()
7158 .expect("Expected function, got error."))(mem_pool, desc_list, count)
7159 }
7160 #[doc = " @brief Returns the accessibility of a pool from a device\n\n Returns the accessibility of the pool's memory from the specified location.\n\n @param [out] flags Accessibility of the memory pool from the specified location/device\n @param [in] mem_pool Memory pool being queried\n @param [in] location Location/device for memory pool access\n\n @returns #hipSuccess, #hipErrorInvalidValue\n\n @see hipMallocFromPoolAsync, hipMallocAsync, hipFreeAsync, hipMemPoolGetAttribute,\n hipMemPoolTrimTo, hipDeviceSetMemPool, hipMemPoolSetAttribute, hipMemPoolSetAccess\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
7161 pub unsafe fn hipMemPoolGetAccess(
7162 &self,
7163 flags: *mut hipMemAccessFlags,
7164 mem_pool: hipMemPool_t,
7165 location: *mut hipMemLocation,
7166 ) -> hipError_t {
7167 (self
7168 .hipMemPoolGetAccess
7169 .as_ref()
7170 .expect("Expected function, got error."))(flags, mem_pool, location)
7171 }
7172 #[doc = " @brief Creates a memory pool\n\n Creates a HIP memory pool and returns the handle in @p mem_pool. The @p pool_props determines\n the properties of the pool such as the backing device and IPC capabilities.\n\n By default, the memory pool will be accessible from the device it is allocated on.\n\n @param [out] mem_pool Contains createed memory pool\n @param [in] pool_props Memory pool properties\n\n @note Specifying hipMemHandleTypeNone creates a memory pool that will not support IPC.\n\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorNotSupported\n\n @see hipMallocFromPoolAsync, hipMallocAsync, hipFreeAsync, hipMemPoolGetAttribute, hipMemPoolDestroy,\n hipMemPoolTrimTo, hipDeviceSetMemPool, hipMemPoolSetAttribute, hipMemPoolSetAccess, hipMemPoolGetAccess\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
7173 pub unsafe fn hipMemPoolCreate(
7174 &self,
7175 mem_pool: *mut hipMemPool_t,
7176 pool_props: *const hipMemPoolProps,
7177 ) -> hipError_t {
7178 (self
7179 .hipMemPoolCreate
7180 .as_ref()
7181 .expect("Expected function, got error."))(mem_pool, pool_props)
7182 }
7183 #[doc = " @brief Destroys the specified memory pool\n\n If any pointers obtained from this pool haven't been freed or\n the pool has free operations that haven't completed\n when @p hipMemPoolDestroy is invoked, the function will return immediately and the\n resources associated with the pool will be released automatically\n once there are no more outstanding allocations.\n\n Destroying the current mempool of a device sets the default mempool of\n that device as the current mempool for that device.\n\n @param [in] mem_pool Memory pool for destruction\n\n @note A device's default memory pool cannot be destroyed.\n\n @returns #hipSuccess, #hipErrorInvalidValue\n\n @see hipMallocFromPoolAsync, hipMallocAsync, hipFreeAsync, hipMemPoolGetAttribute, hipMemPoolCreate\n hipMemPoolTrimTo, hipDeviceSetMemPool, hipMemPoolSetAttribute, hipMemPoolSetAccess, hipMemPoolGetAccess\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
7184 pub unsafe fn hipMemPoolDestroy(&self, mem_pool: hipMemPool_t) -> hipError_t {
7185 (self
7186 .hipMemPoolDestroy
7187 .as_ref()
7188 .expect("Expected function, got error."))(mem_pool)
7189 }
7190 #[doc = " @brief Allocates memory from a specified pool with stream ordered semantics.\n\n Inserts an allocation operation into @p stream.\n A pointer to the allocated memory is returned immediately in @p dev_ptr.\n The allocation must not be accessed until the the allocation operation completes.\n The allocation comes from the specified memory pool.\n\n @note The specified memory pool may be from a device different than that of the specified @p stream.\n\n Basic stream ordering allows future work submitted into the same stream to use the allocation.\n Stream query, stream synchronize, and HIP events can be used to guarantee that the allocation\n operation completes before work submitted in a separate stream runs.\n\n @note During stream capture, this function results in the creation of an allocation node. In this case,\n the allocation is owned by the graph instead of the memory pool. The memory pool's properties\n are used to set the node's creation parameters.\n\n @param [out] dev_ptr Returned device pointer\n @param [in] size Number of bytes to allocate\n @param [in] mem_pool The pool to allocate from\n @param [in] stream The stream establishing the stream ordering semantic\n\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorNotSupported, #hipErrorOutOfMemory\n\n @see hipMallocAsync, hipFreeAsync, hipMemPoolGetAttribute, hipMemPoolCreate\n hipMemPoolTrimTo, hipDeviceSetMemPool, hipMemPoolSetAttribute, hipMemPoolSetAccess, hipMemPoolGetAccess,\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
7191 pub unsafe fn hipMallocFromPoolAsync(
7192 &self,
7193 dev_ptr: *mut *mut ::std::os::raw::c_void,
7194 size: usize,
7195 mem_pool: hipMemPool_t,
7196 stream: hipStream_t,
7197 ) -> hipError_t {
7198 (self
7199 .hipMallocFromPoolAsync
7200 .as_ref()
7201 .expect("Expected function, got error."))(dev_ptr, size, mem_pool, stream)
7202 }
7203 #[doc = " @brief Exports a memory pool to the requested handle type.\n\n Given an IPC capable mempool, create an OS handle to share the pool with another process.\n A recipient process can convert the shareable handle into a mempool with @p hipMemPoolImportFromShareableHandle.\n Individual pointers can then be shared with the @p hipMemPoolExportPointer and @p hipMemPoolImportPointer APIs.\n The implementation of what the shareable handle is and how it can be transferred is defined by the requested\n handle type.\n\n @note: To create an IPC capable mempool, create a mempool with a @p hipMemAllocationHandleType other\n than @p hipMemHandleTypeNone.\n\n @param [out] shared_handle Pointer to the location in which to store the requested handle\n @param [in] mem_pool Pool to export\n @param [in] handle_type The type of handle to create\n @param [in] flags Must be 0\n\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorOutOfMemory\n\n @see hipMemPoolImportFromShareableHandle\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
7204 pub unsafe fn hipMemPoolExportToShareableHandle(
7205 &self,
7206 shared_handle: *mut ::std::os::raw::c_void,
7207 mem_pool: hipMemPool_t,
7208 handle_type: hipMemAllocationHandleType,
7209 flags: ::std::os::raw::c_uint,
7210 ) -> hipError_t {
7211 (self
7212 .hipMemPoolExportToShareableHandle
7213 .as_ref()
7214 .expect("Expected function, got error."))(
7215 shared_handle, mem_pool, handle_type, flags
7216 )
7217 }
7218 #[doc = " @brief Imports a memory pool from a shared handle.\n\n Specific allocations can be imported from the imported pool with @p hipMemPoolImportPointer.\n\n @note Imported memory pools do not support creating new allocations.\n As such imported memory pools may not be used in @p hipDeviceSetMemPool\n or @p hipMallocFromPoolAsync calls.\n\n @param [out] mem_pool Returned memory pool\n @param [in] shared_handle OS handle of the pool to open\n @param [in] handle_type The type of handle being imported\n @param [in] flags Must be 0\n\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorOutOfMemory\n\n @see hipMemPoolExportToShareableHandle\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
7219 pub unsafe fn hipMemPoolImportFromShareableHandle(
7220 &self,
7221 mem_pool: *mut hipMemPool_t,
7222 shared_handle: *mut ::std::os::raw::c_void,
7223 handle_type: hipMemAllocationHandleType,
7224 flags: ::std::os::raw::c_uint,
7225 ) -> hipError_t {
7226 (self
7227 .hipMemPoolImportFromShareableHandle
7228 .as_ref()
7229 .expect("Expected function, got error."))(
7230 mem_pool, shared_handle, handle_type, flags
7231 )
7232 }
7233 #[doc = " @brief Export data to share a memory pool allocation between processes.\n\n Constructs @p export_data for sharing a specific allocation from an already shared memory pool.\n The recipient process can import the allocation with the @p hipMemPoolImportPointer api.\n The data is not a handle and may be shared through any IPC mechanism.\n\n @param[out] export_data Returned export data\n @param[in] dev_ptr Pointer to memory being exported\n\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorOutOfMemory\n\n @see hipMemPoolImportPointer\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
7234 pub unsafe fn hipMemPoolExportPointer(
7235 &self,
7236 export_data: *mut hipMemPoolPtrExportData,
7237 dev_ptr: *mut ::std::os::raw::c_void,
7238 ) -> hipError_t {
7239 (self
7240 .hipMemPoolExportPointer
7241 .as_ref()
7242 .expect("Expected function, got error."))(export_data, dev_ptr)
7243 }
7244 #[doc = " @brief Import a memory pool allocation from another process.\n\n Returns in @p dev_ptr a pointer to the imported memory.\n The imported memory must not be accessed before the allocation operation completes\n in the exporting process. The imported memory must be freed from all importing processes before\n being freed in the exporting process. The pointer may be freed with @p hipFree\n or @p hipFreeAsync. If @p hipFreeAsync is used, the free must be completed\n on the importing process before the free operation on the exporting process.\n\n @note The @p hipFreeAsync api may be used in the exporting process before\n the @p hipFreeAsync operation completes in its stream as long as the\n @p hipFreeAsync in the exporting process specifies a stream with\n a stream dependency on the importing process's @p hipFreeAsync.\n\n @param [out] dev_ptr Pointer to imported memory\n @param [in] mem_pool Memory pool from which to import a pointer\n @param [in] export_data Data specifying the memory to import\n\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorNotInitialized, #hipErrorOutOfMemory\n\n @see hipMemPoolExportPointer\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
7245 pub unsafe fn hipMemPoolImportPointer(
7246 &self,
7247 dev_ptr: *mut *mut ::std::os::raw::c_void,
7248 mem_pool: hipMemPool_t,
7249 export_data: *mut hipMemPoolPtrExportData,
7250 ) -> hipError_t {
7251 (self
7252 .hipMemPoolImportPointer
7253 .as_ref()
7254 .expect("Expected function, got error."))(dev_ptr, mem_pool, export_data)
7255 }
7256 #[doc = " @brief Allocate device accessible page locked host memory [Deprecated]\n\n @param[out] ptr Pointer to the allocated host pinned memory\n @param[in] size Requested memory size\n @param[in] flags Type of host memory allocation\n\n If size is 0, no memory is allocated, *ptr returns nullptr, and hipSuccess is returned.\n\n @return #hipSuccess, #hipErrorOutOfMemory\n\n @deprecated use hipHostMalloc() instead"]
7257 pub unsafe fn hipHostAlloc(
7258 &self,
7259 ptr: *mut *mut ::std::os::raw::c_void,
7260 size: usize,
7261 flags: ::std::os::raw::c_uint,
7262 ) -> hipError_t {
7263 (self
7264 .hipHostAlloc
7265 .as_ref()
7266 .expect("Expected function, got error."))(ptr, size, flags)
7267 }
7268 #[doc = " @brief Get Device pointer from Host Pointer allocated through hipHostMalloc\n\n @param[out] dstPtr Device Pointer mapped to passed host pointer\n @param[in] hstPtr Host Pointer allocated through hipHostMalloc\n @param[in] flags Flags to be passed for extension\n\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorOutOfMemory\n\n @see hipSetDeviceFlags, hipHostMalloc"]
7269 pub unsafe fn hipHostGetDevicePointer(
7270 &self,
7271 devPtr: *mut *mut ::std::os::raw::c_void,
7272 hstPtr: *mut ::std::os::raw::c_void,
7273 flags: ::std::os::raw::c_uint,
7274 ) -> hipError_t {
7275 (self
7276 .hipHostGetDevicePointer
7277 .as_ref()
7278 .expect("Expected function, got error."))(devPtr, hstPtr, flags)
7279 }
7280 #[doc = " @brief Return flags associated with host pointer\n\n @param[out] flagsPtr Memory location to store flags\n @param[in] hostPtr Host Pointer allocated through hipHostMalloc\n @return #hipSuccess, #hipErrorInvalidValue\n\n @see hipHostMalloc"]
7281 pub unsafe fn hipHostGetFlags(
7282 &self,
7283 flagsPtr: *mut ::std::os::raw::c_uint,
7284 hostPtr: *mut ::std::os::raw::c_void,
7285 ) -> hipError_t {
7286 (self
7287 .hipHostGetFlags
7288 .as_ref()
7289 .expect("Expected function, got error."))(flagsPtr, hostPtr)
7290 }
7291 #[doc = " @brief Register host memory so it can be accessed from the current device.\n\n @param[out] hostPtr Pointer to host memory to be registered.\n @param[in] sizeBytes size of the host memory\n @param[in] flags. See below.\n\n Flags:\n - #hipHostRegisterDefault Memory is Mapped and Portable\n - #hipHostRegisterPortable Memory is considered registered by all contexts. HIP only supports\n one context so this is always assumed true.\n - #hipHostRegisterMapped Map the allocation into the address space for the current device.\n The device pointer can be obtained with #hipHostGetDevicePointer.\n\n\n After registering the memory, use #hipHostGetDevicePointer to obtain the mapped device pointer.\n On many systems, the mapped device pointer will have a different value than the mapped host\n pointer. Applications must use the device pointer in device code, and the host pointer in device\n code.\n\n On some systems, registered memory is pinned. On some systems, registered memory may not be\n actually be pinned but uses OS or hardware facilities to all GPU access to the host memory.\n\n Developers are strongly encouraged to register memory blocks which are aligned to the host\n cache-line size. (typically 64-bytes but can be obtains from the CPUID instruction).\n\n If registering non-aligned pointers, the application must take care when register pointers from\n the same cache line on different devices. HIP's coarse-grained synchronization model does not\n guarantee correct results if different devices write to different parts of the same cache block -\n typically one of the writes will \"win\" and overwrite data from the other registered memory\n region.\n\n @return #hipSuccess, #hipErrorOutOfMemory\n\n @see hipHostUnregister, hipHostGetFlags, hipHostGetDevicePointer"]
7292 pub unsafe fn hipHostRegister(
7293 &self,
7294 hostPtr: *mut ::std::os::raw::c_void,
7295 sizeBytes: usize,
7296 flags: ::std::os::raw::c_uint,
7297 ) -> hipError_t {
7298 (self
7299 .hipHostRegister
7300 .as_ref()
7301 .expect("Expected function, got error."))(hostPtr, sizeBytes, flags)
7302 }
7303 #[doc = " @brief Un-register host pointer\n\n @param[in] hostPtr Host pointer previously registered with #hipHostRegister\n @return Error code\n\n @see hipHostRegister"]
7304 pub unsafe fn hipHostUnregister(&self, hostPtr: *mut ::std::os::raw::c_void) -> hipError_t {
7305 (self
7306 .hipHostUnregister
7307 .as_ref()
7308 .expect("Expected function, got error."))(hostPtr)
7309 }
7310 #[doc = " Allocates at least width (in bytes) * height bytes of linear memory\n Padding may occur to ensure alighnment requirements are met for the given row\n The change in width size due to padding will be returned in *pitch.\n Currently the alignment is set to 128 bytes\n\n @param[out] ptr Pointer to the allocated device memory\n @param[out] pitch Pitch for allocation (in bytes)\n @param[in] width Requested pitched allocation width (in bytes)\n @param[in] height Requested pitched allocation height\n\n If size is 0, no memory is allocated, *ptr returns nullptr, and hipSuccess is returned.\n\n @return Error code\n\n @see hipMalloc, hipFree, hipMallocArray, hipFreeArray, hipHostFree, hipMalloc3D,\n hipMalloc3DArray, hipHostMalloc"]
7311 pub unsafe fn hipMallocPitch(
7312 &self,
7313 ptr: *mut *mut ::std::os::raw::c_void,
7314 pitch: *mut usize,
7315 width: usize,
7316 height: usize,
7317 ) -> hipError_t {
7318 (self
7319 .hipMallocPitch
7320 .as_ref()
7321 .expect("Expected function, got error."))(ptr, pitch, width, height)
7322 }
7323 #[doc = " Allocates at least width (in bytes) * height bytes of linear memory\n Padding may occur to ensure alighnment requirements are met for the given row\n The change in width size due to padding will be returned in *pitch.\n Currently the alignment is set to 128 bytes\n\n @param[out] dptr Pointer to the allocated device memory\n @param[out] pitch Pitch for allocation (in bytes)\n @param[in] width Requested pitched allocation width (in bytes)\n @param[in] height Requested pitched allocation height\n\n If size is 0, no memory is allocated, *ptr returns nullptr, and hipSuccess is returned.\n The intended usage of pitch is as a separate parameter of the allocation, used to compute addresses within the 2D array.\n Given the row and column of an array element of type T, the address is computed as:\n T* pElement = (T*)((char*)BaseAddress + Row * Pitch) + Column;\n\n @return Error code\n\n @see hipMalloc, hipFree, hipMallocArray, hipFreeArray, hipHostFree, hipMalloc3D,\n hipMalloc3DArray, hipHostMalloc"]
7324 pub unsafe fn hipMemAllocPitch(
7325 &self,
7326 dptr: *mut hipDeviceptr_t,
7327 pitch: *mut usize,
7328 widthInBytes: usize,
7329 height: usize,
7330 elementSizeBytes: ::std::os::raw::c_uint,
7331 ) -> hipError_t {
7332 (self
7333 .hipMemAllocPitch
7334 .as_ref()
7335 .expect("Expected function, got error."))(
7336 dptr,
7337 pitch,
7338 widthInBytes,
7339 height,
7340 elementSizeBytes,
7341 )
7342 }
7343 #[doc = " @brief Free memory allocated by the hcc hip memory allocation API.\n This API performs an implicit hipDeviceSynchronize() call.\n If pointer is NULL, the hip runtime is initialized and hipSuccess is returned.\n\n @param[in] ptr Pointer to memory to be freed\n @return #hipSuccess\n @return #hipErrorInvalidDevicePointer (if pointer is invalid, including host pointers allocated\n with hipHostMalloc)\n\n @see hipMalloc, hipMallocPitch, hipMallocArray, hipFreeArray, hipHostFree, hipMalloc3D,\n hipMalloc3DArray, hipHostMalloc"]
7344 pub unsafe fn hipFree(&self, ptr: *mut ::std::os::raw::c_void) -> hipError_t {
7345 (self
7346 .hipFree
7347 .as_ref()
7348 .expect("Expected function, got error."))(ptr)
7349 }
7350 #[doc = " @brief Free memory allocated by the hcc hip host memory allocation API. [Deprecated]\n\n @param[in] ptr Pointer to memory to be freed\n @return #hipSuccess,\n #hipErrorInvalidValue (if pointer is invalid, including device pointers allocated with\nhipMalloc)\n @deprecated use hipHostFree() instead"]
7351 pub unsafe fn hipFreeHost(&self, ptr: *mut ::std::os::raw::c_void) -> hipError_t {
7352 (self
7353 .hipFreeHost
7354 .as_ref()
7355 .expect("Expected function, got error."))(ptr)
7356 }
7357 #[doc = " @brief Free memory allocated by the hcc hip host memory allocation API\n This API performs an implicit hipDeviceSynchronize() call.\n If pointer is NULL, the hip runtime is initialized and hipSuccess is returned.\n\n @param[in] ptr Pointer to memory to be freed\n @return #hipSuccess,\n #hipErrorInvalidValue (if pointer is invalid, including device pointers allocated with\n hipMalloc)\n\n @see hipMalloc, hipMallocPitch, hipFree, hipMallocArray, hipFreeArray, hipMalloc3D,\n hipMalloc3DArray, hipHostMalloc"]
7358 pub unsafe fn hipHostFree(&self, ptr: *mut ::std::os::raw::c_void) -> hipError_t {
7359 (self
7360 .hipHostFree
7361 .as_ref()
7362 .expect("Expected function, got error."))(ptr)
7363 }
7364 #[doc = " @brief Copy data from src to dst.\n\n It supports memory from host to device,\n device to host, device to device and host to host\n The src and dst must not overlap.\n\n For hipMemcpy, the copy is always performed by the current device (set by hipSetDevice).\n For multi-gpu or peer-to-peer configurations, it is recommended to set the current device to the\n device where the src data is physically located. For optimal peer-to-peer copies, the copy device\n must be able to access the src and dst pointers (by calling hipDeviceEnablePeerAccess with copy\n agent as the current device and src/dest as the peerDevice argument. if this is not done, the\n hipMemcpy will still work, but will perform the copy using a staging buffer on the host.\n Calling hipMemcpy with dst and src pointers that do not match the hipMemcpyKind results in\n undefined behavior.\n\n @param[out] dst Data being copy to\n @param[in] src Data being copy from\n @param[in] sizeBytes Data size in bytes\n @param[in] copyType Memory copy type\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorMemoryFree, #hipErrorUnknowni\n\n @see hipArrayCreate, hipArrayDestroy, hipArrayGetDescriptor, hipMemAlloc, hipMemAllocHost,\n hipMemAllocPitch, hipMemcpy2D, hipMemcpy2DAsync, hipMemcpy2DUnaligned, hipMemcpyAtoA,\n hipMemcpyAtoD, hipMemcpyAtoH, hipMemcpyAtoHAsync, hipMemcpyDtoA, hipMemcpyDtoD,\n hipMemcpyDtoDAsync, hipMemcpyDtoH, hipMemcpyDtoHAsync, hipMemcpyHtoA, hipMemcpyHtoAAsync,\n hipMemcpyHtoDAsync, hipMemFree, hipMemFreeHost, hipMemGetAddressRange, hipMemGetInfo,\n hipMemHostAlloc, hipMemHostGetDevicePointer"]
7365 pub unsafe fn hipMemcpy(
7366 &self,
7367 dst: *mut ::std::os::raw::c_void,
7368 src: *const ::std::os::raw::c_void,
7369 sizeBytes: usize,
7370 kind: hipMemcpyKind,
7371 ) -> hipError_t {
7372 (self
7373 .hipMemcpy
7374 .as_ref()
7375 .expect("Expected function, got error."))(dst, src, sizeBytes, kind)
7376 }
7377 pub unsafe fn hipMemcpyWithStream(
7378 &self,
7379 dst: *mut ::std::os::raw::c_void,
7380 src: *const ::std::os::raw::c_void,
7381 sizeBytes: usize,
7382 kind: hipMemcpyKind,
7383 stream: hipStream_t,
7384 ) -> hipError_t {
7385 (self
7386 .hipMemcpyWithStream
7387 .as_ref()
7388 .expect("Expected function, got error."))(dst, src, sizeBytes, kind, stream)
7389 }
7390 #[doc = " @brief Copy data from Host to Device\n\n @param[out] dst Data being copy to\n @param[in] src Data being copy from\n @param[in] sizeBytes Data size in bytes\n\n @return #hipSuccess, #hipErrorDeinitialized, #hipErrorNotInitialized, #hipErrorInvalidContext,\n #hipErrorInvalidValue\n\n @see hipArrayCreate, hipArrayDestroy, hipArrayGetDescriptor, hipMemAlloc, hipMemAllocHost,\n hipMemAllocPitch, hipMemcpy2D, hipMemcpy2DAsync, hipMemcpy2DUnaligned, hipMemcpyAtoA,\n hipMemcpyAtoD, hipMemcpyAtoH, hipMemcpyAtoHAsync, hipMemcpyDtoA, hipMemcpyDtoD,\n hipMemcpyDtoDAsync, hipMemcpyDtoH, hipMemcpyDtoHAsync, hipMemcpyHtoA, hipMemcpyHtoAAsync,\n hipMemcpyHtoDAsync, hipMemFree, hipMemFreeHost, hipMemGetAddressRange, hipMemGetInfo,\n hipMemHostAlloc, hipMemHostGetDevicePointer"]
7391 pub unsafe fn hipMemcpyHtoD(
7392 &self,
7393 dst: hipDeviceptr_t,
7394 src: *mut ::std::os::raw::c_void,
7395 sizeBytes: usize,
7396 ) -> hipError_t {
7397 (self
7398 .hipMemcpyHtoD
7399 .as_ref()
7400 .expect("Expected function, got error."))(dst, src, sizeBytes)
7401 }
7402 #[doc = " @brief Copy data from Device to Host\n\n @param[out] dst Data being copy to\n @param[in] src Data being copy from\n @param[in] sizeBytes Data size in bytes\n\n @return #hipSuccess, #hipErrorDeinitialized, #hipErrorNotInitialized, #hipErrorInvalidContext,\n #hipErrorInvalidValue\n\n @see hipArrayCreate, hipArrayDestroy, hipArrayGetDescriptor, hipMemAlloc, hipMemAllocHost,\n hipMemAllocPitch, hipMemcpy2D, hipMemcpy2DAsync, hipMemcpy2DUnaligned, hipMemcpyAtoA,\n hipMemcpyAtoD, hipMemcpyAtoH, hipMemcpyAtoHAsync, hipMemcpyDtoA, hipMemcpyDtoD,\n hipMemcpyDtoDAsync, hipMemcpyDtoH, hipMemcpyDtoHAsync, hipMemcpyHtoA, hipMemcpyHtoAAsync,\n hipMemcpyHtoDAsync, hipMemFree, hipMemFreeHost, hipMemGetAddressRange, hipMemGetInfo,\n hipMemHostAlloc, hipMemHostGetDevicePointer"]
7403 pub unsafe fn hipMemcpyDtoH(
7404 &self,
7405 dst: *mut ::std::os::raw::c_void,
7406 src: hipDeviceptr_t,
7407 sizeBytes: usize,
7408 ) -> hipError_t {
7409 (self
7410 .hipMemcpyDtoH
7411 .as_ref()
7412 .expect("Expected function, got error."))(dst, src, sizeBytes)
7413 }
7414 #[doc = " @brief Copy data from Device to Device\n\n @param[out] dst Data being copy to\n @param[in] src Data being copy from\n @param[in] sizeBytes Data size in bytes\n\n @return #hipSuccess, #hipErrorDeinitialized, #hipErrorNotInitialized, #hipErrorInvalidContext,\n #hipErrorInvalidValue\n\n @see hipArrayCreate, hipArrayDestroy, hipArrayGetDescriptor, hipMemAlloc, hipMemAllocHost,\n hipMemAllocPitch, hipMemcpy2D, hipMemcpy2DAsync, hipMemcpy2DUnaligned, hipMemcpyAtoA,\n hipMemcpyAtoD, hipMemcpyAtoH, hipMemcpyAtoHAsync, hipMemcpyDtoA, hipMemcpyDtoD,\n hipMemcpyDtoDAsync, hipMemcpyDtoH, hipMemcpyDtoHAsync, hipMemcpyHtoA, hipMemcpyHtoAAsync,\n hipMemcpyHtoDAsync, hipMemFree, hipMemFreeHost, hipMemGetAddressRange, hipMemGetInfo,\n hipMemHostAlloc, hipMemHostGetDevicePointer"]
7415 pub unsafe fn hipMemcpyDtoD(
7416 &self,
7417 dst: hipDeviceptr_t,
7418 src: hipDeviceptr_t,
7419 sizeBytes: usize,
7420 ) -> hipError_t {
7421 (self
7422 .hipMemcpyDtoD
7423 .as_ref()
7424 .expect("Expected function, got error."))(dst, src, sizeBytes)
7425 }
7426 #[doc = " @brief Copy data from Host to Device asynchronously\n\n @param[out] dst Data being copy to\n @param[in] src Data being copy from\n @param[in] sizeBytes Data size in bytes\n\n @return #hipSuccess, #hipErrorDeinitialized, #hipErrorNotInitialized, #hipErrorInvalidContext,\n #hipErrorInvalidValue\n\n @see hipArrayCreate, hipArrayDestroy, hipArrayGetDescriptor, hipMemAlloc, hipMemAllocHost,\n hipMemAllocPitch, hipMemcpy2D, hipMemcpy2DAsync, hipMemcpy2DUnaligned, hipMemcpyAtoA,\n hipMemcpyAtoD, hipMemcpyAtoH, hipMemcpyAtoHAsync, hipMemcpyDtoA, hipMemcpyDtoD,\n hipMemcpyDtoDAsync, hipMemcpyDtoH, hipMemcpyDtoHAsync, hipMemcpyHtoA, hipMemcpyHtoAAsync,\n hipMemcpyHtoDAsync, hipMemFree, hipMemFreeHost, hipMemGetAddressRange, hipMemGetInfo,\n hipMemHostAlloc, hipMemHostGetDevicePointer"]
7427 pub unsafe fn hipMemcpyHtoDAsync(
7428 &self,
7429 dst: hipDeviceptr_t,
7430 src: *mut ::std::os::raw::c_void,
7431 sizeBytes: usize,
7432 stream: hipStream_t,
7433 ) -> hipError_t {
7434 (self
7435 .hipMemcpyHtoDAsync
7436 .as_ref()
7437 .expect("Expected function, got error."))(dst, src, sizeBytes, stream)
7438 }
7439 #[doc = " @brief Copy data from Device to Host asynchronously\n\n @param[out] dst Data being copy to\n @param[in] src Data being copy from\n @param[in] sizeBytes Data size in bytes\n\n @return #hipSuccess, #hipErrorDeinitialized, #hipErrorNotInitialized, #hipErrorInvalidContext,\n #hipErrorInvalidValue\n\n @see hipArrayCreate, hipArrayDestroy, hipArrayGetDescriptor, hipMemAlloc, hipMemAllocHost,\n hipMemAllocPitch, hipMemcpy2D, hipMemcpy2DAsync, hipMemcpy2DUnaligned, hipMemcpyAtoA,\n hipMemcpyAtoD, hipMemcpyAtoH, hipMemcpyAtoHAsync, hipMemcpyDtoA, hipMemcpyDtoD,\n hipMemcpyDtoDAsync, hipMemcpyDtoH, hipMemcpyDtoHAsync, hipMemcpyHtoA, hipMemcpyHtoAAsync,\n hipMemcpyHtoDAsync, hipMemFree, hipMemFreeHost, hipMemGetAddressRange, hipMemGetInfo,\n hipMemHostAlloc, hipMemHostGetDevicePointer"]
7440 pub unsafe fn hipMemcpyDtoHAsync(
7441 &self,
7442 dst: *mut ::std::os::raw::c_void,
7443 src: hipDeviceptr_t,
7444 sizeBytes: usize,
7445 stream: hipStream_t,
7446 ) -> hipError_t {
7447 (self
7448 .hipMemcpyDtoHAsync
7449 .as_ref()
7450 .expect("Expected function, got error."))(dst, src, sizeBytes, stream)
7451 }
7452 #[doc = " @brief Copy data from Device to Device asynchronously\n\n @param[out] dst Data being copy to\n @param[in] src Data being copy from\n @param[in] sizeBytes Data size in bytes\n\n @return #hipSuccess, #hipErrorDeinitialized, #hipErrorNotInitialized, #hipErrorInvalidContext,\n #hipErrorInvalidValue\n\n @see hipArrayCreate, hipArrayDestroy, hipArrayGetDescriptor, hipMemAlloc, hipMemAllocHost,\n hipMemAllocPitch, hipMemcpy2D, hipMemcpy2DAsync, hipMemcpy2DUnaligned, hipMemcpyAtoA,\n hipMemcpyAtoD, hipMemcpyAtoH, hipMemcpyAtoHAsync, hipMemcpyDtoA, hipMemcpyDtoD,\n hipMemcpyDtoDAsync, hipMemcpyDtoH, hipMemcpyDtoHAsync, hipMemcpyHtoA, hipMemcpyHtoAAsync,\n hipMemcpyHtoDAsync, hipMemFree, hipMemFreeHost, hipMemGetAddressRange, hipMemGetInfo,\n hipMemHostAlloc, hipMemHostGetDevicePointer"]
7453 pub unsafe fn hipMemcpyDtoDAsync(
7454 &self,
7455 dst: hipDeviceptr_t,
7456 src: hipDeviceptr_t,
7457 sizeBytes: usize,
7458 stream: hipStream_t,
7459 ) -> hipError_t {
7460 (self
7461 .hipMemcpyDtoDAsync
7462 .as_ref()
7463 .expect("Expected function, got error."))(dst, src, sizeBytes, stream)
7464 }
7465 #[doc = " @brief Returns a global pointer from a module.\n Returns in *dptr and *bytes the pointer and size of the global of name name located in module hmod.\n If no variable of that name exists, it returns hipErrorNotFound. Both parameters dptr and bytes are optional.\n If one of them is NULL, it is ignored and hipSuccess is returned.\n\n @param[out] dptr Returns global device pointer\n @param[out] bytes Returns global size in bytes\n @param[in] hmod Module to retrieve global from\n @param[in] name Name of global to retrieve\n\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorNotFound, #hipErrorInvalidContext\n"]
7466 pub unsafe fn hipModuleGetGlobal(
7467 &self,
7468 dptr: *mut hipDeviceptr_t,
7469 bytes: *mut usize,
7470 hmod: hipModule_t,
7471 name: *const ::std::os::raw::c_char,
7472 ) -> hipError_t {
7473 (self
7474 .hipModuleGetGlobal
7475 .as_ref()
7476 .expect("Expected function, got error."))(dptr, bytes, hmod, name)
7477 }
7478 #[doc = " @brief Gets device pointer associated with symbol on the device.\n\n @param[out] devPtr pointer to the device associated the symbole\n @param[in] symbol pointer to the symbole of the device\n\n @return #hipSuccess, #hipErrorInvalidValue\n"]
7479 pub unsafe fn hipGetSymbolAddress(
7480 &self,
7481 devPtr: *mut *mut ::std::os::raw::c_void,
7482 symbol: *const ::std::os::raw::c_void,
7483 ) -> hipError_t {
7484 (self
7485 .hipGetSymbolAddress
7486 .as_ref()
7487 .expect("Expected function, got error."))(devPtr, symbol)
7488 }
7489 #[doc = " @brief Gets the size of the given symbol on the device.\n\n @param[in] symbol pointer to the device symbole\n @param[out] size pointer to the size\n\n @return #hipSuccess, #hipErrorInvalidValue\n"]
7490 pub unsafe fn hipGetSymbolSize(
7491 &self,
7492 size: *mut usize,
7493 symbol: *const ::std::os::raw::c_void,
7494 ) -> hipError_t {
7495 (self
7496 .hipGetSymbolSize
7497 .as_ref()
7498 .expect("Expected function, got error."))(size, symbol)
7499 }
7500 #[doc = " @brief Copies data to the given symbol on the device.\n Symbol HIP APIs allow a kernel to define a device-side data symbol which can be accessed on\n the host side. The symbol can be in __constant or device space.\n Note that the symbol name needs to be encased in the HIP_SYMBOL macro.\n This also applies to hipMemcpyFromSymbol, hipGetSymbolAddress, and hipGetSymbolSize.\n For detail usage, see the example at\n https://github.com/ROCm-Developer-Tools/HIP/blob/rocm-5.0.x/docs/markdown/hip_porting_guide.md\n\n @param[out] symbol pointer to the device symbole\n @param[in] src pointer to the source address\n @param[in] sizeBytes size in bytes to copy\n @param[in] offset offset in bytes from start of symbole\n @param[in] kind type of memory transfer\n\n @return #hipSuccess, #hipErrorInvalidValue\n"]
7501 pub unsafe fn hipMemcpyToSymbol(
7502 &self,
7503 symbol: *const ::std::os::raw::c_void,
7504 src: *const ::std::os::raw::c_void,
7505 sizeBytes: usize,
7506 offset: usize,
7507 kind: hipMemcpyKind,
7508 ) -> hipError_t {
7509 (self
7510 .hipMemcpyToSymbol
7511 .as_ref()
7512 .expect("Expected function, got error."))(symbol, src, sizeBytes, offset, kind)
7513 }
7514 #[doc = " @brief Copies data to the given symbol on the device asynchronously.\n\n @param[out] symbol pointer to the device symbole\n @param[in] src pointer to the source address\n @param[in] sizeBytes size in bytes to copy\n @param[in] offset offset in bytes from start of symbole\n @param[in] kind type of memory transfer\n @param[in] stream stream identifier\n\n @return #hipSuccess, #hipErrorInvalidValue\n"]
7515 pub unsafe fn hipMemcpyToSymbolAsync(
7516 &self,
7517 symbol: *const ::std::os::raw::c_void,
7518 src: *const ::std::os::raw::c_void,
7519 sizeBytes: usize,
7520 offset: usize,
7521 kind: hipMemcpyKind,
7522 stream: hipStream_t,
7523 ) -> hipError_t {
7524 (self
7525 .hipMemcpyToSymbolAsync
7526 .as_ref()
7527 .expect("Expected function, got error."))(
7528 symbol, src, sizeBytes, offset, kind, stream
7529 )
7530 }
7531 #[doc = " @brief Copies data from the given symbol on the device.\n\n @param[out] dptr Returns pointer to destinition memory address\n @param[in] symbol pointer to the symbole address on the device\n @param[in] sizeBytes size in bytes to copy\n @param[in] offset offset in bytes from the start of symbole\n @param[in] kind type of memory transfer\n\n @return #hipSuccess, #hipErrorInvalidValue\n"]
7532 pub unsafe fn hipMemcpyFromSymbol(
7533 &self,
7534 dst: *mut ::std::os::raw::c_void,
7535 symbol: *const ::std::os::raw::c_void,
7536 sizeBytes: usize,
7537 offset: usize,
7538 kind: hipMemcpyKind,
7539 ) -> hipError_t {
7540 (self
7541 .hipMemcpyFromSymbol
7542 .as_ref()
7543 .expect("Expected function, got error."))(dst, symbol, sizeBytes, offset, kind)
7544 }
7545 #[doc = " @brief Copies data from the given symbol on the device asynchronously.\n\n @param[out] dptr Returns pointer to destinition memory address\n @param[in] symbol pointer to the symbole address on the device\n @param[in] sizeBytes size in bytes to copy\n @param[in] offset offset in bytes from the start of symbole\n @param[in] kind type of memory transfer\n @param[in] stream stream identifier\n\n @return #hipSuccess, #hipErrorInvalidValue\n"]
7546 pub unsafe fn hipMemcpyFromSymbolAsync(
7547 &self,
7548 dst: *mut ::std::os::raw::c_void,
7549 symbol: *const ::std::os::raw::c_void,
7550 sizeBytes: usize,
7551 offset: usize,
7552 kind: hipMemcpyKind,
7553 stream: hipStream_t,
7554 ) -> hipError_t {
7555 (self
7556 .hipMemcpyFromSymbolAsync
7557 .as_ref()
7558 .expect("Expected function, got error."))(
7559 dst, symbol, sizeBytes, offset, kind, stream
7560 )
7561 }
7562 #[doc = " @brief Copy data from src to dst asynchronously.\n\n @warning If host or dest are not pinned, the memory copy will be performed synchronously. For\n best performance, use hipHostMalloc to allocate host memory that is transferred asynchronously.\n\n @warning on HCC hipMemcpyAsync does not support overlapped H2D and D2H copies.\n For hipMemcpy, the copy is always performed by the device associated with the specified stream.\n\n For multi-gpu or peer-to-peer configurations, it is recommended to use a stream which is a\n attached to the device where the src data is physically located. For optimal peer-to-peer copies,\n the copy device must be able to access the src and dst pointers (by calling\n hipDeviceEnablePeerAccess with copy agent as the current device and src/dest as the peerDevice\n argument. if this is not done, the hipMemcpy will still work, but will perform the copy using a\n staging buffer on the host.\n\n @param[out] dst Data being copy to\n @param[in] src Data being copy from\n @param[in] sizeBytes Data size in bytes\n @param[in] accelerator_view Accelerator view which the copy is being enqueued\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorMemoryFree, #hipErrorUnknown\n\n @see hipMemcpy, hipMemcpy2D, hipMemcpyToArray, hipMemcpy2DToArray, hipMemcpyFromArray,\n hipMemcpy2DFromArray, hipMemcpyArrayToArray, hipMemcpy2DArrayToArray, hipMemcpyToSymbol,\n hipMemcpyFromSymbol, hipMemcpy2DAsync, hipMemcpyToArrayAsync, hipMemcpy2DToArrayAsync,\n hipMemcpyFromArrayAsync, hipMemcpy2DFromArrayAsync, hipMemcpyToSymbolAsync,\n hipMemcpyFromSymbolAsync"]
7563 pub unsafe fn hipMemcpyAsync(
7564 &self,
7565 dst: *mut ::std::os::raw::c_void,
7566 src: *const ::std::os::raw::c_void,
7567 sizeBytes: usize,
7568 kind: hipMemcpyKind,
7569 stream: hipStream_t,
7570 ) -> hipError_t {
7571 (self
7572 .hipMemcpyAsync
7573 .as_ref()
7574 .expect("Expected function, got error."))(dst, src, sizeBytes, kind, stream)
7575 }
7576 #[doc = " @brief Fills the first sizeBytes bytes of the memory area pointed to by dest with the constant\n byte value value.\n\n @param[out] dst Data being filled\n @param[in] constant value to be set\n @param[in] sizeBytes Data size in bytes\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorNotInitialized"]
7577 pub unsafe fn hipMemset(
7578 &self,
7579 dst: *mut ::std::os::raw::c_void,
7580 value: ::std::os::raw::c_int,
7581 sizeBytes: usize,
7582 ) -> hipError_t {
7583 (self
7584 .hipMemset
7585 .as_ref()
7586 .expect("Expected function, got error."))(dst, value, sizeBytes)
7587 }
7588 #[doc = " @brief Fills the first sizeBytes bytes of the memory area pointed to by dest with the constant\n byte value value.\n\n @param[out] dst Data ptr to be filled\n @param[in] constant value to be set\n @param[in] number of values to be set\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorNotInitialized"]
7589 pub unsafe fn hipMemsetD8(
7590 &self,
7591 dest: hipDeviceptr_t,
7592 value: ::std::os::raw::c_uchar,
7593 count: usize,
7594 ) -> hipError_t {
7595 (self
7596 .hipMemsetD8
7597 .as_ref()
7598 .expect("Expected function, got error."))(dest, value, count)
7599 }
7600 #[doc = " @brief Fills the first sizeBytes bytes of the memory area pointed to by dest with the constant\n byte value value.\n\n hipMemsetD8Async() is asynchronous with respect to the host, so the call may return before the\n memset is complete. The operation can optionally be associated to a stream by passing a non-zero\n stream argument. If stream is non-zero, the operation may overlap with operations in other\n streams.\n\n @param[out] dst Data ptr to be filled\n @param[in] constant value to be set\n @param[in] number of values to be set\n @param[in] stream - Stream identifier\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorNotInitialized"]
7601 pub unsafe fn hipMemsetD8Async(
7602 &self,
7603 dest: hipDeviceptr_t,
7604 value: ::std::os::raw::c_uchar,
7605 count: usize,
7606 stream: hipStream_t,
7607 ) -> hipError_t {
7608 (self
7609 .hipMemsetD8Async
7610 .as_ref()
7611 .expect("Expected function, got error."))(dest, value, count, stream)
7612 }
7613 #[doc = " @brief Fills the first sizeBytes bytes of the memory area pointed to by dest with the constant\n short value value.\n\n @param[out] dst Data ptr to be filled\n @param[in] constant value to be set\n @param[in] number of values to be set\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorNotInitialized"]
7614 pub unsafe fn hipMemsetD16(
7615 &self,
7616 dest: hipDeviceptr_t,
7617 value: ::std::os::raw::c_ushort,
7618 count: usize,
7619 ) -> hipError_t {
7620 (self
7621 .hipMemsetD16
7622 .as_ref()
7623 .expect("Expected function, got error."))(dest, value, count)
7624 }
7625 #[doc = " @brief Fills the first sizeBytes bytes of the memory area pointed to by dest with the constant\n short value value.\n\n hipMemsetD16Async() is asynchronous with respect to the host, so the call may return before the\n memset is complete. The operation can optionally be associated to a stream by passing a non-zero\n stream argument. If stream is non-zero, the operation may overlap with operations in other\n streams.\n\n @param[out] dst Data ptr to be filled\n @param[in] constant value to be set\n @param[in] number of values to be set\n @param[in] stream - Stream identifier\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorNotInitialized"]
7626 pub unsafe fn hipMemsetD16Async(
7627 &self,
7628 dest: hipDeviceptr_t,
7629 value: ::std::os::raw::c_ushort,
7630 count: usize,
7631 stream: hipStream_t,
7632 ) -> hipError_t {
7633 (self
7634 .hipMemsetD16Async
7635 .as_ref()
7636 .expect("Expected function, got error."))(dest, value, count, stream)
7637 }
7638 #[doc = " @brief Fills the memory area pointed to by dest with the constant integer\n value for specified number of times.\n\n @param[out] dst Data being filled\n @param[in] constant value to be set\n @param[in] number of values to be set\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorNotInitialized"]
7639 pub unsafe fn hipMemsetD32(
7640 &self,
7641 dest: hipDeviceptr_t,
7642 value: ::std::os::raw::c_int,
7643 count: usize,
7644 ) -> hipError_t {
7645 (self
7646 .hipMemsetD32
7647 .as_ref()
7648 .expect("Expected function, got error."))(dest, value, count)
7649 }
7650 #[doc = " @brief Fills the first sizeBytes bytes of the memory area pointed to by dev with the constant\n byte value value.\n\n hipMemsetAsync() is asynchronous with respect to the host, so the call may return before the\n memset is complete. The operation can optionally be associated to a stream by passing a non-zero\n stream argument. If stream is non-zero, the operation may overlap with operations in other\n streams.\n\n @param[out] dst Pointer to device memory\n @param[in] value - Value to set for each byte of specified memory\n @param[in] sizeBytes - Size in bytes to set\n @param[in] stream - Stream identifier\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorMemoryFree"]
7651 pub unsafe fn hipMemsetAsync(
7652 &self,
7653 dst: *mut ::std::os::raw::c_void,
7654 value: ::std::os::raw::c_int,
7655 sizeBytes: usize,
7656 stream: hipStream_t,
7657 ) -> hipError_t {
7658 (self
7659 .hipMemsetAsync
7660 .as_ref()
7661 .expect("Expected function, got error."))(dst, value, sizeBytes, stream)
7662 }
7663 #[doc = " @brief Fills the memory area pointed to by dev with the constant integer\n value for specified number of times.\n\n hipMemsetD32Async() is asynchronous with respect to the host, so the call may return before the\n memset is complete. The operation can optionally be associated to a stream by passing a non-zero\n stream argument. If stream is non-zero, the operation may overlap with operations in other\n streams.\n\n @param[out] dst Pointer to device memory\n @param[in] value - Value to set for each byte of specified memory\n @param[in] count - number of values to be set\n @param[in] stream - Stream identifier\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorMemoryFree"]
7664 pub unsafe fn hipMemsetD32Async(
7665 &self,
7666 dst: hipDeviceptr_t,
7667 value: ::std::os::raw::c_int,
7668 count: usize,
7669 stream: hipStream_t,
7670 ) -> hipError_t {
7671 (self
7672 .hipMemsetD32Async
7673 .as_ref()
7674 .expect("Expected function, got error."))(dst, value, count, stream)
7675 }
7676 #[doc = " @brief Fills the memory area pointed to by dst with the constant value.\n\n @param[out] dst Pointer to device memory\n @param[in] pitch - data size in bytes\n @param[in] value - constant value to be set\n @param[in] width\n @param[in] height\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorMemoryFree"]
7677 pub unsafe fn hipMemset2D(
7678 &self,
7679 dst: *mut ::std::os::raw::c_void,
7680 pitch: usize,
7681 value: ::std::os::raw::c_int,
7682 width: usize,
7683 height: usize,
7684 ) -> hipError_t {
7685 (self
7686 .hipMemset2D
7687 .as_ref()
7688 .expect("Expected function, got error."))(dst, pitch, value, width, height)
7689 }
7690 #[doc = " @brief Fills asynchronously the memory area pointed to by dst with the constant value.\n\n @param[in] dst Pointer to device memory\n @param[in] pitch - data size in bytes\n @param[in] value - constant value to be set\n @param[in] width\n @param[in] height\n @param[in] stream\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorMemoryFree"]
7691 pub unsafe fn hipMemset2DAsync(
7692 &self,
7693 dst: *mut ::std::os::raw::c_void,
7694 pitch: usize,
7695 value: ::std::os::raw::c_int,
7696 width: usize,
7697 height: usize,
7698 stream: hipStream_t,
7699 ) -> hipError_t {
7700 (self
7701 .hipMemset2DAsync
7702 .as_ref()
7703 .expect("Expected function, got error."))(
7704 dst, pitch, value, width, height, stream
7705 )
7706 }
7707 #[doc = " @brief Fills synchronously the memory area pointed to by pitchedDevPtr with the constant value.\n\n @param[in] pitchedDevPtr\n @param[in] value - constant value to be set\n @param[in] extent\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorMemoryFree"]
7708 pub unsafe fn hipMemset3D(
7709 &self,
7710 pitchedDevPtr: hipPitchedPtr,
7711 value: ::std::os::raw::c_int,
7712 extent: hipExtent,
7713 ) -> hipError_t {
7714 (self
7715 .hipMemset3D
7716 .as_ref()
7717 .expect("Expected function, got error."))(pitchedDevPtr, value, extent)
7718 }
7719 #[doc = " @brief Fills asynchronously the memory area pointed to by pitchedDevPtr with the constant value.\n\n @param[in] pitchedDevPtr\n @param[in] value - constant value to be set\n @param[in] extent\n @param[in] stream\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorMemoryFree"]
7720 pub unsafe fn hipMemset3DAsync(
7721 &self,
7722 pitchedDevPtr: hipPitchedPtr,
7723 value: ::std::os::raw::c_int,
7724 extent: hipExtent,
7725 stream: hipStream_t,
7726 ) -> hipError_t {
7727 (self
7728 .hipMemset3DAsync
7729 .as_ref()
7730 .expect("Expected function, got error."))(pitchedDevPtr, value, extent, stream)
7731 }
7732 #[doc = " @brief Query memory info.\n Return snapshot of free memory, and total allocatable memory on the device.\n\n Returns in *free a snapshot of the current free memory.\n @returns #hipSuccess, #hipErrorInvalidDevice, #hipErrorInvalidValue\n @warning On HCC, the free memory only accounts for memory allocated by this process and may be\noptimistic."]
7733 pub unsafe fn hipMemGetInfo(&self, free: *mut usize, total: *mut usize) -> hipError_t {
7734 (self
7735 .hipMemGetInfo
7736 .as_ref()
7737 .expect("Expected function, got error."))(free, total)
7738 }
7739 pub unsafe fn hipMemPtrGetInfo(
7740 &self,
7741 ptr: *mut ::std::os::raw::c_void,
7742 size: *mut usize,
7743 ) -> hipError_t {
7744 (self
7745 .hipMemPtrGetInfo
7746 .as_ref()
7747 .expect("Expected function, got error."))(ptr, size)
7748 }
7749 #[doc = " @brief Allocate an array on the device.\n\n @param[out] array Pointer to allocated array in device memory\n @param[in] desc Requested channel format\n @param[in] width Requested array allocation width\n @param[in] height Requested array allocation height\n @param[in] flags Requested properties of allocated array\n @return #hipSuccess, #hipErrorOutOfMemory\n\n @see hipMalloc, hipMallocPitch, hipFree, hipFreeArray, hipHostMalloc, hipHostFree"]
7750 pub unsafe fn hipMallocArray(
7751 &self,
7752 array: *mut *mut hipArray,
7753 desc: *const hipChannelFormatDesc,
7754 width: usize,
7755 height: usize,
7756 flags: ::std::os::raw::c_uint,
7757 ) -> hipError_t {
7758 (self
7759 .hipMallocArray
7760 .as_ref()
7761 .expect("Expected function, got error."))(array, desc, width, height, flags)
7762 }
7763 pub unsafe fn hipArrayCreate(
7764 &self,
7765 pHandle: *mut *mut hipArray,
7766 pAllocateArray: *const HIP_ARRAY_DESCRIPTOR,
7767 ) -> hipError_t {
7768 (self
7769 .hipArrayCreate
7770 .as_ref()
7771 .expect("Expected function, got error."))(pHandle, pAllocateArray)
7772 }
7773 pub unsafe fn hipArrayDestroy(&self, array: *mut hipArray) -> hipError_t {
7774 (self
7775 .hipArrayDestroy
7776 .as_ref()
7777 .expect("Expected function, got error."))(array)
7778 }
7779 pub unsafe fn hipArray3DCreate(
7780 &self,
7781 array: *mut *mut hipArray,
7782 pAllocateArray: *const HIP_ARRAY3D_DESCRIPTOR,
7783 ) -> hipError_t {
7784 (self
7785 .hipArray3DCreate
7786 .as_ref()
7787 .expect("Expected function, got error."))(array, pAllocateArray)
7788 }
7789 pub unsafe fn hipMalloc3D(
7790 &self,
7791 pitchedDevPtr: *mut hipPitchedPtr,
7792 extent: hipExtent,
7793 ) -> hipError_t {
7794 (self
7795 .hipMalloc3D
7796 .as_ref()
7797 .expect("Expected function, got error."))(pitchedDevPtr, extent)
7798 }
7799 #[doc = " @brief Frees an array on the device.\n\n @param[in] array Pointer to array to free\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorNotInitialized\n\n @see hipMalloc, hipMallocPitch, hipFree, hipMallocArray, hipHostMalloc, hipHostFree"]
7800 pub unsafe fn hipFreeArray(&self, array: *mut hipArray) -> hipError_t {
7801 (self
7802 .hipFreeArray
7803 .as_ref()
7804 .expect("Expected function, got error."))(array)
7805 }
7806 #[doc = " @brief Frees a mipmapped array on the device\n\n @param[in] mipmappedArray - Pointer to mipmapped array to free\n\n @return #hipSuccess, #hipErrorInvalidValue"]
7807 pub unsafe fn hipFreeMipmappedArray(&self, mipmappedArray: hipMipmappedArray_t) -> hipError_t {
7808 (self
7809 .hipFreeMipmappedArray
7810 .as_ref()
7811 .expect("Expected function, got error."))(mipmappedArray)
7812 }
7813 #[doc = " @brief Allocate an array on the device.\n\n @param[out] array Pointer to allocated array in device memory\n @param[in] desc Requested channel format\n @param[in] extent Requested array allocation width, height and depth\n @param[in] flags Requested properties of allocated array\n @return #hipSuccess, #hipErrorOutOfMemory\n\n @see hipMalloc, hipMallocPitch, hipFree, hipFreeArray, hipHostMalloc, hipHostFree"]
7814 pub unsafe fn hipMalloc3DArray(
7815 &self,
7816 array: *mut *mut hipArray,
7817 desc: *const hipChannelFormatDesc,
7818 extent: hipExtent,
7819 flags: ::std::os::raw::c_uint,
7820 ) -> hipError_t {
7821 (self
7822 .hipMalloc3DArray
7823 .as_ref()
7824 .expect("Expected function, got error."))(array, desc, extent, flags)
7825 }
7826 #[doc = " @brief Allocate a mipmapped array on the device\n\n @param[out] mipmappedArray - Pointer to allocated mipmapped array in device memory\n @param[in] desc - Requested channel format\n @param[in] extent - Requested allocation size (width field in elements)\n @param[in] numLevels - Number of mipmap levels to allocate\n @param[in] flags - Flags for extensions\n\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorMemoryAllocation"]
7827 pub unsafe fn hipMallocMipmappedArray(
7828 &self,
7829 mipmappedArray: *mut hipMipmappedArray_t,
7830 desc: *const hipChannelFormatDesc,
7831 extent: hipExtent,
7832 numLevels: ::std::os::raw::c_uint,
7833 flags: ::std::os::raw::c_uint,
7834 ) -> hipError_t {
7835 (self
7836 .hipMallocMipmappedArray
7837 .as_ref()
7838 .expect("Expected function, got error."))(
7839 mipmappedArray,
7840 desc,
7841 extent,
7842 numLevels,
7843 flags,
7844 )
7845 }
7846 #[doc = " @brief Gets a mipmap level of a HIP mipmapped array\n\n @param[out] levelArray - Returned mipmap level HIP array\n @param[in] mipmappedArray - HIP mipmapped array\n @param[in] level - Mipmap level\n\n @return #hipSuccess, #hipErrorInvalidValue"]
7847 pub unsafe fn hipGetMipmappedArrayLevel(
7848 &self,
7849 levelArray: *mut hipArray_t,
7850 mipmappedArray: hipMipmappedArray_const_t,
7851 level: ::std::os::raw::c_uint,
7852 ) -> hipError_t {
7853 (self
7854 .hipGetMipmappedArrayLevel
7855 .as_ref()
7856 .expect("Expected function, got error."))(levelArray, mipmappedArray, level)
7857 }
7858 #[doc = " @brief Copies data between host and device.\n\n @param[in] dst Destination memory address\n @param[in] dpitch Pitch of destination memory\n @param[in] src Source memory address\n @param[in] spitch Pitch of source memory\n @param[in] width Width of matrix transfer (columns in bytes)\n @param[in] height Height of matrix transfer (rows)\n @param[in] kind Type of transfer\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorInvalidPitchValue,\n #hipErrorInvalidDevicePointer, #hipErrorInvalidMemcpyDirection\n\n @see hipMemcpy, hipMemcpyToArray, hipMemcpy2DToArray, hipMemcpyFromArray, hipMemcpyToSymbol,\n hipMemcpyAsync"]
7859 pub unsafe fn hipMemcpy2D(
7860 &self,
7861 dst: *mut ::std::os::raw::c_void,
7862 dpitch: usize,
7863 src: *const ::std::os::raw::c_void,
7864 spitch: usize,
7865 width: usize,
7866 height: usize,
7867 kind: hipMemcpyKind,
7868 ) -> hipError_t {
7869 (self
7870 .hipMemcpy2D
7871 .as_ref()
7872 .expect("Expected function, got error."))(
7873 dst, dpitch, src, spitch, width, height, kind
7874 )
7875 }
7876 #[doc = " @brief Copies memory for 2D arrays.\n @param[in] pCopy Parameters for the memory copy\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorInvalidPitchValue,\n #hipErrorInvalidDevicePointer, #hipErrorInvalidMemcpyDirection\n\n @see hipMemcpy, hipMemcpy2D, hipMemcpyToArray, hipMemcpy2DToArray, hipMemcpyFromArray,\n hipMemcpyToSymbol, hipMemcpyAsync"]
7877 pub unsafe fn hipMemcpyParam2D(&self, pCopy: *const hip_Memcpy2D) -> hipError_t {
7878 (self
7879 .hipMemcpyParam2D
7880 .as_ref()
7881 .expect("Expected function, got error."))(pCopy)
7882 }
7883 #[doc = " @brief Copies memory for 2D arrays.\n @param[in] pCopy Parameters for the memory copy\n @param[in] stream Stream to use\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorInvalidPitchValue,\n #hipErrorInvalidDevicePointer, #hipErrorInvalidMemcpyDirection\n\n @see hipMemcpy, hipMemcpy2D, hipMemcpyToArray, hipMemcpy2DToArray, hipMemcpyFromArray,\n hipMemcpyToSymbol, hipMemcpyAsync"]
7884 pub unsafe fn hipMemcpyParam2DAsync(
7885 &self,
7886 pCopy: *const hip_Memcpy2D,
7887 stream: hipStream_t,
7888 ) -> hipError_t {
7889 (self
7890 .hipMemcpyParam2DAsync
7891 .as_ref()
7892 .expect("Expected function, got error."))(pCopy, stream)
7893 }
7894 #[doc = " @brief Copies data between host and device.\n\n @param[in] dst Destination memory address\n @param[in] dpitch Pitch of destination memory\n @param[in] src Source memory address\n @param[in] spitch Pitch of source memory\n @param[in] width Width of matrix transfer (columns in bytes)\n @param[in] height Height of matrix transfer (rows)\n @param[in] kind Type of transfer\n @param[in] stream Stream to use\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorInvalidPitchValue,\n #hipErrorInvalidDevicePointer, #hipErrorInvalidMemcpyDirection\n\n @see hipMemcpy, hipMemcpyToArray, hipMemcpy2DToArray, hipMemcpyFromArray, hipMemcpyToSymbol,\n hipMemcpyAsync"]
7895 pub unsafe fn hipMemcpy2DAsync(
7896 &self,
7897 dst: *mut ::std::os::raw::c_void,
7898 dpitch: usize,
7899 src: *const ::std::os::raw::c_void,
7900 spitch: usize,
7901 width: usize,
7902 height: usize,
7903 kind: hipMemcpyKind,
7904 stream: hipStream_t,
7905 ) -> hipError_t {
7906 (self
7907 .hipMemcpy2DAsync
7908 .as_ref()
7909 .expect("Expected function, got error."))(
7910 dst, dpitch, src, spitch, width, height, kind, stream,
7911 )
7912 }
7913 #[doc = " @brief Copies data between host and device.\n\n @param[in] dst Destination memory address\n @param[in] wOffset Destination starting X offset\n @param[in] hOffset Destination starting Y offset\n @param[in] src Source memory address\n @param[in] spitch Pitch of source memory\n @param[in] width Width of matrix transfer (columns in bytes)\n @param[in] height Height of matrix transfer (rows)\n @param[in] kind Type of transfer\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorInvalidPitchValue,\n #hipErrorInvalidDevicePointer, #hipErrorInvalidMemcpyDirection\n\n @see hipMemcpy, hipMemcpyToArray, hipMemcpy2D, hipMemcpyFromArray, hipMemcpyToSymbol,\n hipMemcpyAsync"]
7914 pub unsafe fn hipMemcpy2DToArray(
7915 &self,
7916 dst: *mut hipArray,
7917 wOffset: usize,
7918 hOffset: usize,
7919 src: *const ::std::os::raw::c_void,
7920 spitch: usize,
7921 width: usize,
7922 height: usize,
7923 kind: hipMemcpyKind,
7924 ) -> hipError_t {
7925 (self
7926 .hipMemcpy2DToArray
7927 .as_ref()
7928 .expect("Expected function, got error."))(
7929 dst, wOffset, hOffset, src, spitch, width, height, kind,
7930 )
7931 }
7932 #[doc = " @brief Copies data between host and device.\n\n @param[in] dst Destination memory address\n @param[in] wOffset Destination starting X offset\n @param[in] hOffset Destination starting Y offset\n @param[in] src Source memory address\n @param[in] spitch Pitch of source memory\n @param[in] width Width of matrix transfer (columns in bytes)\n @param[in] height Height of matrix transfer (rows)\n @param[in] kind Type of transfer\n @param[in] stream Accelerator view which the copy is being enqueued\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorInvalidPitchValue,\n #hipErrorInvalidDevicePointer, #hipErrorInvalidMemcpyDirection\n\n @see hipMemcpy, hipMemcpyToArray, hipMemcpy2D, hipMemcpyFromArray, hipMemcpyToSymbol,\n hipMemcpyAsync"]
7933 pub unsafe fn hipMemcpy2DToArrayAsync(
7934 &self,
7935 dst: *mut hipArray,
7936 wOffset: usize,
7937 hOffset: usize,
7938 src: *const ::std::os::raw::c_void,
7939 spitch: usize,
7940 width: usize,
7941 height: usize,
7942 kind: hipMemcpyKind,
7943 stream: hipStream_t,
7944 ) -> hipError_t {
7945 (self
7946 .hipMemcpy2DToArrayAsync
7947 .as_ref()
7948 .expect("Expected function, got error."))(
7949 dst, wOffset, hOffset, src, spitch, width, height, kind, stream,
7950 )
7951 }
7952 #[doc = " @brief Copies data between host and device.\n\n @param[in] dst Destination memory address\n @param[in] wOffset Destination starting X offset\n @param[in] hOffset Destination starting Y offset\n @param[in] src Source memory address\n @param[in] count size in bytes to copy\n @param[in] kind Type of transfer\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorInvalidPitchValue,\n #hipErrorInvalidDevicePointer, #hipErrorInvalidMemcpyDirection\n\n @see hipMemcpy, hipMemcpy2DToArray, hipMemcpy2D, hipMemcpyFromArray, hipMemcpyToSymbol,\n hipMemcpyAsync"]
7953 pub unsafe fn hipMemcpyToArray(
7954 &self,
7955 dst: *mut hipArray,
7956 wOffset: usize,
7957 hOffset: usize,
7958 src: *const ::std::os::raw::c_void,
7959 count: usize,
7960 kind: hipMemcpyKind,
7961 ) -> hipError_t {
7962 (self
7963 .hipMemcpyToArray
7964 .as_ref()
7965 .expect("Expected function, got error."))(
7966 dst, wOffset, hOffset, src, count, kind
7967 )
7968 }
7969 #[doc = " @brief Copies data between host and device.\n\n @param[in] dst Destination memory address\n @param[in] srcArray Source memory address\n @param[in] woffset Source starting X offset\n @param[in] hOffset Source starting Y offset\n @param[in] count Size in bytes to copy\n @param[in] kind Type of transfer\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorInvalidPitchValue,\n #hipErrorInvalidDevicePointer, #hipErrorInvalidMemcpyDirection\n\n @see hipMemcpy, hipMemcpy2DToArray, hipMemcpy2D, hipMemcpyFromArray, hipMemcpyToSymbol,\n hipMemcpyAsync"]
7970 pub unsafe fn hipMemcpyFromArray(
7971 &self,
7972 dst: *mut ::std::os::raw::c_void,
7973 srcArray: hipArray_const_t,
7974 wOffset: usize,
7975 hOffset: usize,
7976 count: usize,
7977 kind: hipMemcpyKind,
7978 ) -> hipError_t {
7979 (self
7980 .hipMemcpyFromArray
7981 .as_ref()
7982 .expect("Expected function, got error."))(
7983 dst, srcArray, wOffset, hOffset, count, kind
7984 )
7985 }
7986 #[doc = " @brief Copies data between host and device.\n\n @param[in] dst Destination memory address\n @param[in] dpitch Pitch of destination memory\n @param[in] src Source memory address\n @param[in] wOffset Source starting X offset\n @param[in] hOffset Source starting Y offset\n @param[in] width Width of matrix transfer (columns in bytes)\n @param[in] height Height of matrix transfer (rows)\n @param[in] kind Type of transfer\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorInvalidPitchValue,\n #hipErrorInvalidDevicePointer, #hipErrorInvalidMemcpyDirection\n\n @see hipMemcpy, hipMemcpy2DToArray, hipMemcpy2D, hipMemcpyFromArray, hipMemcpyToSymbol,\n hipMemcpyAsync"]
7987 pub unsafe fn hipMemcpy2DFromArray(
7988 &self,
7989 dst: *mut ::std::os::raw::c_void,
7990 dpitch: usize,
7991 src: hipArray_const_t,
7992 wOffset: usize,
7993 hOffset: usize,
7994 width: usize,
7995 height: usize,
7996 kind: hipMemcpyKind,
7997 ) -> hipError_t {
7998 (self
7999 .hipMemcpy2DFromArray
8000 .as_ref()
8001 .expect("Expected function, got error."))(
8002 dst, dpitch, src, wOffset, hOffset, width, height, kind,
8003 )
8004 }
8005 #[doc = " @brief Copies data between host and device asynchronously.\n\n @param[in] dst Destination memory address\n @param[in] dpitch Pitch of destination memory\n @param[in] src Source memory address\n @param[in] wOffset Source starting X offset\n @param[in] hOffset Source starting Y offset\n @param[in] width Width of matrix transfer (columns in bytes)\n @param[in] height Height of matrix transfer (rows)\n @param[in] kind Type of transfer\n @param[in] stream Accelerator view which the copy is being enqueued\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorInvalidPitchValue,\n #hipErrorInvalidDevicePointer, #hipErrorInvalidMemcpyDirection\n\n @see hipMemcpy, hipMemcpy2DToArray, hipMemcpy2D, hipMemcpyFromArray, hipMemcpyToSymbol,\n hipMemcpyAsync"]
8006 pub unsafe fn hipMemcpy2DFromArrayAsync(
8007 &self,
8008 dst: *mut ::std::os::raw::c_void,
8009 dpitch: usize,
8010 src: hipArray_const_t,
8011 wOffset: usize,
8012 hOffset: usize,
8013 width: usize,
8014 height: usize,
8015 kind: hipMemcpyKind,
8016 stream: hipStream_t,
8017 ) -> hipError_t {
8018 (self
8019 .hipMemcpy2DFromArrayAsync
8020 .as_ref()
8021 .expect("Expected function, got error."))(
8022 dst, dpitch, src, wOffset, hOffset, width, height, kind, stream,
8023 )
8024 }
8025 #[doc = " @brief Copies data between host and device.\n\n @param[in] dst Destination memory address\n @param[in] srcArray Source array\n @param[in] srcoffset Offset in bytes of source array\n @param[in] count Size of memory copy in bytes\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorInvalidPitchValue,\n #hipErrorInvalidDevicePointer, #hipErrorInvalidMemcpyDirection\n\n @see hipMemcpy, hipMemcpy2DToArray, hipMemcpy2D, hipMemcpyFromArray, hipMemcpyToSymbol,\n hipMemcpyAsync"]
8026 pub unsafe fn hipMemcpyAtoH(
8027 &self,
8028 dst: *mut ::std::os::raw::c_void,
8029 srcArray: *mut hipArray,
8030 srcOffset: usize,
8031 count: usize,
8032 ) -> hipError_t {
8033 (self
8034 .hipMemcpyAtoH
8035 .as_ref()
8036 .expect("Expected function, got error."))(dst, srcArray, srcOffset, count)
8037 }
8038 #[doc = " @brief Copies data between host and device.\n\n @param[in] dstArray Destination memory address\n @param[in] dstOffset Offset in bytes of destination array\n @param[in] srcHost Source host pointer\n @param[in] count Size of memory copy in bytes\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorInvalidPitchValue,\n #hipErrorInvalidDevicePointer, #hipErrorInvalidMemcpyDirection\n\n @see hipMemcpy, hipMemcpy2DToArray, hipMemcpy2D, hipMemcpyFromArray, hipMemcpyToSymbol,\n hipMemcpyAsync"]
8039 pub unsafe fn hipMemcpyHtoA(
8040 &self,
8041 dstArray: *mut hipArray,
8042 dstOffset: usize,
8043 srcHost: *const ::std::os::raw::c_void,
8044 count: usize,
8045 ) -> hipError_t {
8046 (self
8047 .hipMemcpyHtoA
8048 .as_ref()
8049 .expect("Expected function, got error."))(dstArray, dstOffset, srcHost, count)
8050 }
8051 #[doc = " @brief Copies data between host and device.\n\n @param[in] p 3D memory copy parameters\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorInvalidPitchValue,\n #hipErrorInvalidDevicePointer, #hipErrorInvalidMemcpyDirection\n\n @see hipMemcpy, hipMemcpy2DToArray, hipMemcpy2D, hipMemcpyFromArray, hipMemcpyToSymbol,\n hipMemcpyAsync"]
8052 pub unsafe fn hipMemcpy3D(&self, p: *const hipMemcpy3DParms) -> hipError_t {
8053 (self
8054 .hipMemcpy3D
8055 .as_ref()
8056 .expect("Expected function, got error."))(p)
8057 }
8058 #[doc = " @brief Copies data between host and device asynchronously.\n\n @param[in] p 3D memory copy parameters\n @param[in] stream Stream to use\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorInvalidPitchValue,\n #hipErrorInvalidDevicePointer, #hipErrorInvalidMemcpyDirection\n\n @see hipMemcpy, hipMemcpy2DToArray, hipMemcpy2D, hipMemcpyFromArray, hipMemcpyToSymbol,\n hipMemcpyAsync"]
8059 pub unsafe fn hipMemcpy3DAsync(
8060 &self,
8061 p: *const hipMemcpy3DParms,
8062 stream: hipStream_t,
8063 ) -> hipError_t {
8064 (self
8065 .hipMemcpy3DAsync
8066 .as_ref()
8067 .expect("Expected function, got error."))(p, stream)
8068 }
8069 #[doc = " @brief Copies data between host and device.\n\n @param[in] pCopy 3D memory copy parameters\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorInvalidPitchValue,\n #hipErrorInvalidDevicePointer, #hipErrorInvalidMemcpyDirection\n\n @see hipMemcpy, hipMemcpy2DToArray, hipMemcpy2D, hipMemcpyFromArray, hipMemcpyToSymbol,\n hipMemcpyAsync"]
8070 pub unsafe fn hipDrvMemcpy3D(&self, pCopy: *const HIP_MEMCPY3D) -> hipError_t {
8071 (self
8072 .hipDrvMemcpy3D
8073 .as_ref()
8074 .expect("Expected function, got error."))(pCopy)
8075 }
8076 #[doc = " @brief Copies data between host and device asynchronously.\n\n @param[in] pCopy 3D memory copy parameters\n @param[in] stream Stream to use\n @return #hipSuccess, #hipErrorInvalidValue, #hipErrorInvalidPitchValue,\n #hipErrorInvalidDevicePointer, #hipErrorInvalidMemcpyDirection\n\n @see hipMemcpy, hipMemcpy2DToArray, hipMemcpy2D, hipMemcpyFromArray, hipMemcpyToSymbol,\n hipMemcpyAsync"]
8077 pub unsafe fn hipDrvMemcpy3DAsync(
8078 &self,
8079 pCopy: *const HIP_MEMCPY3D,
8080 stream: hipStream_t,
8081 ) -> hipError_t {
8082 (self
8083 .hipDrvMemcpy3DAsync
8084 .as_ref()
8085 .expect("Expected function, got error."))(pCopy, stream)
8086 }
8087 #[doc = " @}\n/\n/**\n-------------------------------------------------------------------------------------------------\n-------------------------------------------------------------------------------------------------\n @defgroup PeerToPeer PeerToPeer Device Memory Access\n @{\n @warning PeerToPeer support is experimental.\n This section describes the PeerToPeer device memory access functions of HIP runtime API.\n/\n/**\n @brief Determine if a device can access a peer's memory.\n\n @param [out] canAccessPeer Returns the peer access capability (0 or 1)\n @param [in] device - device from where memory may be accessed.\n @param [in] peerDevice - device where memory is physically located\n\n Returns \"1\" in @p canAccessPeer if the specified @p device is capable\n of directly accessing memory physically located on peerDevice , or \"0\" if not.\n\n Returns \"0\" in @p canAccessPeer if deviceId == peerDeviceId, and both are valid devices : a\n device is not a peer of itself.\n\n @returns #hipSuccess,\n @returns #hipErrorInvalidDevice if deviceId or peerDeviceId are not valid devices"]
8088 pub unsafe fn hipDeviceCanAccessPeer(
8089 &self,
8090 canAccessPeer: *mut ::std::os::raw::c_int,
8091 deviceId: ::std::os::raw::c_int,
8092 peerDeviceId: ::std::os::raw::c_int,
8093 ) -> hipError_t {
8094 (self
8095 .hipDeviceCanAccessPeer
8096 .as_ref()
8097 .expect("Expected function, got error."))(canAccessPeer, deviceId, peerDeviceId)
8098 }
8099 #[doc = " @brief Enable direct access from current device's virtual address space to memory allocations\n physically located on a peer device.\n\n Memory which already allocated on peer device will be mapped into the address space of the\n current device. In addition, all future memory allocations on peerDeviceId will be mapped into\n the address space of the current device when the memory is allocated. The peer memory remains\n accessible from the current device until a call to hipDeviceDisablePeerAccess or hipDeviceReset.\n\n\n @param [in] peerDeviceId\n @param [in] flags\n\n Returns #hipSuccess, #hipErrorInvalidDevice, #hipErrorInvalidValue,\n @returns #hipErrorPeerAccessAlreadyEnabled if peer access is already enabled for this device."]
8100 pub unsafe fn hipDeviceEnablePeerAccess(
8101 &self,
8102 peerDeviceId: ::std::os::raw::c_int,
8103 flags: ::std::os::raw::c_uint,
8104 ) -> hipError_t {
8105 (self
8106 .hipDeviceEnablePeerAccess
8107 .as_ref()
8108 .expect("Expected function, got error."))(peerDeviceId, flags)
8109 }
8110 #[doc = " @brief Disable direct access from current device's virtual address space to memory allocations\n physically located on a peer device.\n\n Returns hipErrorPeerAccessNotEnabled if direct access to memory on peerDevice has not yet been\n enabled from the current device.\n\n @param [in] peerDeviceId\n\n @returns #hipSuccess, #hipErrorPeerAccessNotEnabled"]
8111 pub unsafe fn hipDeviceDisablePeerAccess(
8112 &self,
8113 peerDeviceId: ::std::os::raw::c_int,
8114 ) -> hipError_t {
8115 (self
8116 .hipDeviceDisablePeerAccess
8117 .as_ref()
8118 .expect("Expected function, got error."))(peerDeviceId)
8119 }
8120 #[doc = " @brief Get information on memory allocations.\n\n @param [out] pbase - BAse pointer address\n @param [out] psize - Size of allocation\n @param [in] dptr- Device Pointer\n\n @returns #hipSuccess, #hipErrorInvalidDevicePointer\n\n @see hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent,\n hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice"]
8121 pub unsafe fn hipMemGetAddressRange(
8122 &self,
8123 pbase: *mut hipDeviceptr_t,
8124 psize: *mut usize,
8125 dptr: hipDeviceptr_t,
8126 ) -> hipError_t {
8127 (self
8128 .hipMemGetAddressRange
8129 .as_ref()
8130 .expect("Expected function, got error."))(pbase, psize, dptr)
8131 }
8132 #[doc = " @brief Copies memory from one device to memory on another device.\n\n @param [out] dst - Destination device pointer.\n @param [in] dstDeviceId - Destination device\n @param [in] src - Source device pointer\n @param [in] srcDeviceId - Source device\n @param [in] sizeBytes - Size of memory copy in bytes\n\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorInvalidDevice"]
8133 pub unsafe fn hipMemcpyPeer(
8134 &self,
8135 dst: *mut ::std::os::raw::c_void,
8136 dstDeviceId: ::std::os::raw::c_int,
8137 src: *const ::std::os::raw::c_void,
8138 srcDeviceId: ::std::os::raw::c_int,
8139 sizeBytes: usize,
8140 ) -> hipError_t {
8141 (self
8142 .hipMemcpyPeer
8143 .as_ref()
8144 .expect("Expected function, got error."))(
8145 dst, dstDeviceId, src, srcDeviceId, sizeBytes
8146 )
8147 }
8148 #[doc = " @brief Copies memory from one device to memory on another device.\n\n @param [out] dst - Destination device pointer.\n @param [in] dstDevice - Destination device\n @param [in] src - Source device pointer\n @param [in] srcDevice - Source device\n @param [in] sizeBytes - Size of memory copy in bytes\n @param [in] stream - Stream identifier\n\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorInvalidDevice"]
8149 pub unsafe fn hipMemcpyPeerAsync(
8150 &self,
8151 dst: *mut ::std::os::raw::c_void,
8152 dstDeviceId: ::std::os::raw::c_int,
8153 src: *const ::std::os::raw::c_void,
8154 srcDevice: ::std::os::raw::c_int,
8155 sizeBytes: usize,
8156 stream: hipStream_t,
8157 ) -> hipError_t {
8158 (self
8159 .hipMemcpyPeerAsync
8160 .as_ref()
8161 .expect("Expected function, got error."))(
8162 dst,
8163 dstDeviceId,
8164 src,
8165 srcDevice,
8166 sizeBytes,
8167 stream,
8168 )
8169 }
8170 #[doc = " @}\n/\n/**\n-------------------------------------------------------------------------------------------------\n-------------------------------------------------------------------------------------------------\n @defgroup Context Context Management\n @{\n This section describes the context management functions of HIP runtime API.\n/\n/**\n\n @addtogroup ContextD Context Management [Deprecated]\n @{\n @ingroup Context\n This section describes the deprecated context management functions of HIP runtime API.\n/\n/**\n @brief Create a context and set it as current/ default context\n\n @param [out] ctx\n @param [in] flags\n @param [in] associated device handle\n\n @return #hipSuccess\n\n @see hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent, hipCtxPushCurrent,\n hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice"]
8171 pub unsafe fn hipCtxCreate(
8172 &self,
8173 ctx: *mut hipCtx_t,
8174 flags: ::std::os::raw::c_uint,
8175 device: hipDevice_t,
8176 ) -> hipError_t {
8177 (self
8178 .hipCtxCreate
8179 .as_ref()
8180 .expect("Expected function, got error."))(ctx, flags, device)
8181 }
8182 #[doc = " @brief Destroy a HIP context.\n\n @param [in] ctx Context to destroy\n\n @returns #hipSuccess, #hipErrorInvalidValue\n\n @see hipCtxCreate, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent,hipCtxSetCurrent,\n hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize , hipCtxGetDevice"]
8183 pub unsafe fn hipCtxDestroy(&self, ctx: hipCtx_t) -> hipError_t {
8184 (self
8185 .hipCtxDestroy
8186 .as_ref()
8187 .expect("Expected function, got error."))(ctx)
8188 }
8189 #[doc = " @brief Pop the current/default context and return the popped context.\n\n @param [out] ctx\n\n @returns #hipSuccess, #hipErrorInvalidContext\n\n @see hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxSetCurrent, hipCtxGetCurrent,\n hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice"]
8190 pub unsafe fn hipCtxPopCurrent(&self, ctx: *mut hipCtx_t) -> hipError_t {
8191 (self
8192 .hipCtxPopCurrent
8193 .as_ref()
8194 .expect("Expected function, got error."))(ctx)
8195 }
8196 #[doc = " @brief Push the context to be set as current/ default context\n\n @param [in] ctx\n\n @returns #hipSuccess, #hipErrorInvalidContext\n\n @see hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent,\n hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize , hipCtxGetDevice"]
8197 pub unsafe fn hipCtxPushCurrent(&self, ctx: hipCtx_t) -> hipError_t {
8198 (self
8199 .hipCtxPushCurrent
8200 .as_ref()
8201 .expect("Expected function, got error."))(ctx)
8202 }
8203 #[doc = " @brief Set the passed context as current/default\n\n @param [in] ctx\n\n @returns #hipSuccess, #hipErrorInvalidContext\n\n @see hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent,\n hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize , hipCtxGetDevice"]
8204 pub unsafe fn hipCtxSetCurrent(&self, ctx: hipCtx_t) -> hipError_t {
8205 (self
8206 .hipCtxSetCurrent
8207 .as_ref()
8208 .expect("Expected function, got error."))(ctx)
8209 }
8210 #[doc = " @brief Get the handle of the current/ default context\n\n @param [out] ctx\n\n @returns #hipSuccess, #hipErrorInvalidContext\n\n @see hipCtxCreate, hipCtxDestroy, hipCtxGetDevice, hipCtxGetFlags, hipCtxPopCurrent,\n hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice"]
8211 pub unsafe fn hipCtxGetCurrent(&self, ctx: *mut hipCtx_t) -> hipError_t {
8212 (self
8213 .hipCtxGetCurrent
8214 .as_ref()
8215 .expect("Expected function, got error."))(ctx)
8216 }
8217 #[doc = " @brief Get the handle of the device associated with current/default context\n\n @param [out] device\n\n @returns #hipSuccess, #hipErrorInvalidContext\n\n @see hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent,\n hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize"]
8218 pub unsafe fn hipCtxGetDevice(&self, device: *mut hipDevice_t) -> hipError_t {
8219 (self
8220 .hipCtxGetDevice
8221 .as_ref()
8222 .expect("Expected function, got error."))(device)
8223 }
8224 #[doc = " @brief Returns the approximate HIP api version.\n\n @param [in] ctx Context to check\n @param [out] apiVersion\n\n @return #hipSuccess\n\n @warning The HIP feature set does not correspond to an exact CUDA SDK api revision.\n This function always set *apiVersion to 4 as an approximation though HIP supports\n some features which were introduced in later CUDA SDK revisions.\n HIP apps code should not rely on the api revision number here and should\n use arch feature flags to test device capabilities or conditional compilation.\n\n @see hipCtxCreate, hipCtxDestroy, hipCtxGetDevice, hipCtxGetFlags, hipCtxPopCurrent,\n hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice"]
8225 pub unsafe fn hipCtxGetApiVersion(
8226 &self,
8227 ctx: hipCtx_t,
8228 apiVersion: *mut ::std::os::raw::c_int,
8229 ) -> hipError_t {
8230 (self
8231 .hipCtxGetApiVersion
8232 .as_ref()
8233 .expect("Expected function, got error."))(ctx, apiVersion)
8234 }
8235 #[doc = " @brief Set Cache configuration for a specific function\n\n @param [out] cacheConfiguration\n\n @return #hipSuccess\n\n @warning AMD devices and some Nvidia GPUS do not support reconfigurable cache. This hint is\n ignored on those architectures.\n\n @see hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent,\n hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice"]
8236 pub unsafe fn hipCtxGetCacheConfig(&self, cacheConfig: *mut hipFuncCache_t) -> hipError_t {
8237 (self
8238 .hipCtxGetCacheConfig
8239 .as_ref()
8240 .expect("Expected function, got error."))(cacheConfig)
8241 }
8242 #[doc = " @brief Set L1/Shared cache partition.\n\n @param [in] cacheConfiguration\n\n @return #hipSuccess\n\n @warning AMD devices and some Nvidia GPUS do not support reconfigurable cache. This hint is\n ignored on those architectures.\n\n @see hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent,\n hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice"]
8243 pub unsafe fn hipCtxSetCacheConfig(&self, cacheConfig: hipFuncCache_t) -> hipError_t {
8244 (self
8245 .hipCtxSetCacheConfig
8246 .as_ref()
8247 .expect("Expected function, got error."))(cacheConfig)
8248 }
8249 #[doc = " @brief Set Shared memory bank configuration.\n\n @param [in] sharedMemoryConfiguration\n\n @return #hipSuccess\n\n @warning AMD devices and some Nvidia GPUS do not support shared cache banking, and the hint is\n ignored on those architectures.\n\n @see hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent,\n hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice"]
8250 pub unsafe fn hipCtxSetSharedMemConfig(&self, config: hipSharedMemConfig) -> hipError_t {
8251 (self
8252 .hipCtxSetSharedMemConfig
8253 .as_ref()
8254 .expect("Expected function, got error."))(config)
8255 }
8256 #[doc = " @brief Get Shared memory bank configuration.\n\n @param [out] sharedMemoryConfiguration\n\n @return #hipSuccess\n\n @warning AMD devices and some Nvidia GPUS do not support shared cache banking, and the hint is\n ignored on those architectures.\n\n @see hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent,\n hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice"]
8257 pub unsafe fn hipCtxGetSharedMemConfig(&self, pConfig: *mut hipSharedMemConfig) -> hipError_t {
8258 (self
8259 .hipCtxGetSharedMemConfig
8260 .as_ref()
8261 .expect("Expected function, got error."))(pConfig)
8262 }
8263 #[doc = " @brief Blocks until the default context has completed all preceding requested tasks.\n\n @return #hipSuccess\n\n @warning This function waits for all streams on the default context to complete execution, and\n then returns.\n\n @see hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent,\n hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxGetDevice"]
8264 pub unsafe fn hipCtxSynchronize(&self) -> hipError_t {
8265 (self
8266 .hipCtxSynchronize
8267 .as_ref()
8268 .expect("Expected function, got error."))()
8269 }
8270 #[doc = " @brief Return flags used for creating default context.\n\n @param [out] flags\n\n @returns #hipSuccess\n\n @see hipCtxCreate, hipCtxDestroy, hipCtxPopCurrent, hipCtxGetCurrent, hipCtxGetCurrent,\n hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice"]
8271 pub unsafe fn hipCtxGetFlags(&self, flags: *mut ::std::os::raw::c_uint) -> hipError_t {
8272 (self
8273 .hipCtxGetFlags
8274 .as_ref()
8275 .expect("Expected function, got error."))(flags)
8276 }
8277 #[doc = " @brief Enables direct access to memory allocations in a peer context.\n\n Memory which already allocated on peer device will be mapped into the address space of the\n current device. In addition, all future memory allocations on peerDeviceId will be mapped into\n the address space of the current device when the memory is allocated. The peer memory remains\n accessible from the current device until a call to hipDeviceDisablePeerAccess or hipDeviceReset.\n\n\n @param [in] peerCtx\n @param [in] flags\n\n @returns #hipSuccess, #hipErrorInvalidDevice, #hipErrorInvalidValue,\n #hipErrorPeerAccessAlreadyEnabled\n\n @see hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent,\n hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice\n @warning PeerToPeer support is experimental."]
8278 pub unsafe fn hipCtxEnablePeerAccess(
8279 &self,
8280 peerCtx: hipCtx_t,
8281 flags: ::std::os::raw::c_uint,
8282 ) -> hipError_t {
8283 (self
8284 .hipCtxEnablePeerAccess
8285 .as_ref()
8286 .expect("Expected function, got error."))(peerCtx, flags)
8287 }
8288 #[doc = " @brief Disable direct access from current context's virtual address space to memory allocations\n physically located on a peer context.Disables direct access to memory allocations in a peer\n context and unregisters any registered allocations.\n\n Returns hipErrorPeerAccessNotEnabled if direct access to memory on peerDevice has not yet been\n enabled from the current device.\n\n @param [in] peerCtx\n\n @returns #hipSuccess, #hipErrorPeerAccessNotEnabled\n\n @see hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent,\n hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice\n @warning PeerToPeer support is experimental."]
8289 pub unsafe fn hipCtxDisablePeerAccess(&self, peerCtx: hipCtx_t) -> hipError_t {
8290 (self
8291 .hipCtxDisablePeerAccess
8292 .as_ref()
8293 .expect("Expected function, got error."))(peerCtx)
8294 }
8295 #[doc = " @}\n/\n/**\n @brief Get the state of the primary context.\n\n @param [in] Device to get primary context flags for\n @param [out] Pointer to store flags\n @param [out] Pointer to store context state; 0 = inactive, 1 = active\n\n @returns #hipSuccess\n\n @see hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent,\n hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice"]
8296 pub unsafe fn hipDevicePrimaryCtxGetState(
8297 &self,
8298 dev: hipDevice_t,
8299 flags: *mut ::std::os::raw::c_uint,
8300 active: *mut ::std::os::raw::c_int,
8301 ) -> hipError_t {
8302 (self
8303 .hipDevicePrimaryCtxGetState
8304 .as_ref()
8305 .expect("Expected function, got error."))(dev, flags, active)
8306 }
8307 #[doc = " @brief Release the primary context on the GPU.\n\n @param [in] Device which primary context is released\n\n @returns #hipSuccess\n\n @see hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent,\n hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice\n @warning This function return #hipSuccess though doesn't release the primaryCtx by design on\n HIP/HCC path."]
8308 pub unsafe fn hipDevicePrimaryCtxRelease(&self, dev: hipDevice_t) -> hipError_t {
8309 (self
8310 .hipDevicePrimaryCtxRelease
8311 .as_ref()
8312 .expect("Expected function, got error."))(dev)
8313 }
8314 #[doc = " @brief Retain the primary context on the GPU.\n\n @param [out] Returned context handle of the new context\n @param [in] Device which primary context is released\n\n @returns #hipSuccess\n\n @see hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent,\n hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice"]
8315 pub unsafe fn hipDevicePrimaryCtxRetain(
8316 &self,
8317 pctx: *mut hipCtx_t,
8318 dev: hipDevice_t,
8319 ) -> hipError_t {
8320 (self
8321 .hipDevicePrimaryCtxRetain
8322 .as_ref()
8323 .expect("Expected function, got error."))(pctx, dev)
8324 }
8325 #[doc = " @brief Resets the primary context on the GPU.\n\n @param [in] Device which primary context is reset\n\n @returns #hipSuccess\n\n @see hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent,\n hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice"]
8326 pub unsafe fn hipDevicePrimaryCtxReset(&self, dev: hipDevice_t) -> hipError_t {
8327 (self
8328 .hipDevicePrimaryCtxReset
8329 .as_ref()
8330 .expect("Expected function, got error."))(dev)
8331 }
8332 #[doc = " @brief Set flags for the primary context.\n\n @param [in] Device for which the primary context flags are set\n @param [in] New flags for the device\n\n @returns #hipSuccess, #hipErrorContextAlreadyInUse\n\n @see hipCtxCreate, hipCtxDestroy, hipCtxGetFlags, hipCtxPopCurrent, hipCtxGetCurrent,\n hipCtxSetCurrent, hipCtxPushCurrent, hipCtxSetCacheConfig, hipCtxSynchronize, hipCtxGetDevice"]
8333 pub unsafe fn hipDevicePrimaryCtxSetFlags(
8334 &self,
8335 dev: hipDevice_t,
8336 flags: ::std::os::raw::c_uint,
8337 ) -> hipError_t {
8338 (self
8339 .hipDevicePrimaryCtxSetFlags
8340 .as_ref()
8341 .expect("Expected function, got error."))(dev, flags)
8342 }
8343 #[doc = " @}\n/\n/**\n\n @defgroup Module Module Management\n @{\n This section describes the module management functions of HIP runtime API.\n\n/\n/**\n @brief Loads code object from file into a hipModule_t\n\n @param [in] fname\n @param [out] module\n\n @warning File/memory resources allocated in this function are released only in hipModuleUnload.\n\n @returns hipSuccess, hipErrorInvalidValue, hipErrorInvalidContext, hipErrorFileNotFound,\n hipErrorOutOfMemory, hipErrorSharedObjectInitFailed, hipErrorNotInitialized\n\n"]
8344 pub unsafe fn hipModuleLoad(
8345 &self,
8346 module: *mut hipModule_t,
8347 fname: *const ::std::os::raw::c_char,
8348 ) -> hipError_t {
8349 (self
8350 .hipModuleLoad
8351 .as_ref()
8352 .expect("Expected function, got error."))(module, fname)
8353 }
8354 #[doc = " @brief Frees the module\n\n @param [in] module\n\n @returns hipSuccess, hipInvalidValue\n module is freed and the code objects associated with it are destroyed\n"]
8355 pub unsafe fn hipModuleUnload(&self, module: hipModule_t) -> hipError_t {
8356 (self
8357 .hipModuleUnload
8358 .as_ref()
8359 .expect("Expected function, got error."))(module)
8360 }
8361 #[doc = " @brief Function with kname will be extracted if present in module\n\n @param [in] module\n @param [in] kname\n @param [out] function\n\n @returns hipSuccess, hipErrorInvalidValue, hipErrorInvalidContext, hipErrorNotInitialized,\n hipErrorNotFound,"]
8362 pub unsafe fn hipModuleGetFunction(
8363 &self,
8364 function: *mut hipFunction_t,
8365 module: hipModule_t,
8366 kname: *const ::std::os::raw::c_char,
8367 ) -> hipError_t {
8368 (self
8369 .hipModuleGetFunction
8370 .as_ref()
8371 .expect("Expected function, got error."))(function, module, kname)
8372 }
8373 #[doc = " @brief Find out attributes for a given function.\n\n @param [out] attr\n @param [in] func\n\n @returns hipSuccess, hipErrorInvalidValue, hipErrorInvalidDeviceFunction"]
8374 pub unsafe fn hipFuncGetAttributes(
8375 &self,
8376 attr: *mut hipFuncAttributes,
8377 func: *const ::std::os::raw::c_void,
8378 ) -> hipError_t {
8379 (self
8380 .hipFuncGetAttributes
8381 .as_ref()
8382 .expect("Expected function, got error."))(attr, func)
8383 }
8384 #[doc = " @brief Find out a specific attribute for a given function.\n\n @param [out] value\n @param [in] attrib\n @param [in] hfunc\n\n @returns hipSuccess, hipErrorInvalidValue, hipErrorInvalidDeviceFunction"]
8385 pub unsafe fn hipFuncGetAttribute(
8386 &self,
8387 value: *mut ::std::os::raw::c_int,
8388 attrib: hipFunction_attribute,
8389 hfunc: hipFunction_t,
8390 ) -> hipError_t {
8391 (self
8392 .hipFuncGetAttribute
8393 .as_ref()
8394 .expect("Expected function, got error."))(value, attrib, hfunc)
8395 }
8396 #[doc = " @brief returns the handle of the texture reference with the name from the module.\n\n @param [in] hmod\n @param [in] name\n @param [out] texRef\n\n @returns hipSuccess, hipErrorNotInitialized, hipErrorNotFound, hipErrorInvalidValue"]
8397 pub unsafe fn hipModuleGetTexRef(
8398 &self,
8399 texRef: *mut *mut textureReference,
8400 hmod: hipModule_t,
8401 name: *const ::std::os::raw::c_char,
8402 ) -> hipError_t {
8403 (self
8404 .hipModuleGetTexRef
8405 .as_ref()
8406 .expect("Expected function, got error."))(texRef, hmod, name)
8407 }
8408 #[doc = " @brief builds module from code object which resides in host memory. Image is pointer to that\n location.\n\n @param [in] image\n @param [out] module\n\n @returns hipSuccess, hipErrorNotInitialized, hipErrorOutOfMemory, hipErrorNotInitialized"]
8409 pub unsafe fn hipModuleLoadData(
8410 &self,
8411 module: *mut hipModule_t,
8412 image: *const ::std::os::raw::c_void,
8413 ) -> hipError_t {
8414 (self
8415 .hipModuleLoadData
8416 .as_ref()
8417 .expect("Expected function, got error."))(module, image)
8418 }
8419 #[doc = " @brief builds module from code object which resides in host memory. Image is pointer to that\n location. Options are not used. hipModuleLoadData is called.\n\n @param [in] image\n @param [out] module\n @param [in] number of options\n @param [in] options for JIT\n @param [in] option values for JIT\n\n @returns hipSuccess, hipErrorNotInitialized, hipErrorOutOfMemory, hipErrorNotInitialized"]
8420 pub unsafe fn hipModuleLoadDataEx(
8421 &self,
8422 module: *mut hipModule_t,
8423 image: *const ::std::os::raw::c_void,
8424 numOptions: ::std::os::raw::c_uint,
8425 options: *mut hipJitOption,
8426 optionValues: *mut *mut ::std::os::raw::c_void,
8427 ) -> hipError_t {
8428 (self
8429 .hipModuleLoadDataEx
8430 .as_ref()
8431 .expect("Expected function, got error."))(
8432 module,
8433 image,
8434 numOptions,
8435 options,
8436 optionValues,
8437 )
8438 }
8439 #[doc = " @brief launches kernel f with launch parameters and shared memory on stream with arguments passed\n to kernelparams or extra\n\n @param [in] f Kernel to launch.\n @param [in] gridDimX X grid dimension specified as multiple of blockDimX.\n @param [in] gridDimY Y grid dimension specified as multiple of blockDimY.\n @param [in] gridDimZ Z grid dimension specified as multiple of blockDimZ.\n @param [in] blockDimX X block dimensions specified in work-items\n @param [in] blockDimY Y grid dimension specified in work-items\n @param [in] blockDimZ Z grid dimension specified in work-items\n @param [in] sharedMemBytes Amount of dynamic shared memory to allocate for this kernel. The\n HIP-Clang compiler provides support for extern shared declarations.\n @param [in] stream Stream where the kernel should be dispatched. May be 0, in which case th\n default stream is used with associated synchronization rules.\n @param [in] kernelParams\n @param [in] extra Pointer to kernel arguments. These are passed directly to the kernel and\n must be in the memory layout and alignment expected by the kernel.\n\n Please note, HIP does not support kernel launch with total work items defined in dimension with\n size gridDim x blockDim >= 2^32. So gridDim.x * blockDim.x, gridDim.y * blockDim.y\n and gridDim.z * blockDim.z are always less than 2^32.\n\n @returns hipSuccess, hipInvalidDevice, hipErrorNotInitialized, hipErrorInvalidValue\n\n @warning kernellParams argument is not yet implemented in HIP. Please use extra instead. Please\n refer to hip_porting_driver_api.md for sample usage."]
8440 pub unsafe fn hipModuleLaunchKernel(
8441 &self,
8442 f: hipFunction_t,
8443 gridDimX: ::std::os::raw::c_uint,
8444 gridDimY: ::std::os::raw::c_uint,
8445 gridDimZ: ::std::os::raw::c_uint,
8446 blockDimX: ::std::os::raw::c_uint,
8447 blockDimY: ::std::os::raw::c_uint,
8448 blockDimZ: ::std::os::raw::c_uint,
8449 sharedMemBytes: ::std::os::raw::c_uint,
8450 stream: hipStream_t,
8451 kernelParams: *mut *mut ::std::os::raw::c_void,
8452 extra: *mut *mut ::std::os::raw::c_void,
8453 ) -> hipError_t {
8454 (self
8455 .hipModuleLaunchKernel
8456 .as_ref()
8457 .expect("Expected function, got error."))(
8458 f,
8459 gridDimX,
8460 gridDimY,
8461 gridDimZ,
8462 blockDimX,
8463 blockDimY,
8464 blockDimZ,
8465 sharedMemBytes,
8466 stream,
8467 kernelParams,
8468 extra,
8469 )
8470 }
8471 #[doc = " @brief launches kernel f with launch parameters and shared memory on stream with arguments passed\n to kernelparams or extra, where thread blocks can cooperate and synchronize as they execute\n\n @param [in] f Kernel to launch.\n @param [in] gridDim Grid dimensions specified as multiple of blockDim.\n @param [in] blockDim Block dimensions specified in work-items\n @param [in] kernelParams A list of kernel arguments\n @param [in] sharedMemBytes Amount of dynamic shared memory to allocate for this kernel. The\n HIP-Clang compiler provides support for extern shared declarations.\n @param [in] stream Stream where the kernel should be dispatched. May be 0, in which case th\n default stream is used with associated synchronization rules.\n\n Please note, HIP does not support kernel launch with total work items defined in dimension with\n size gridDim x blockDim >= 2^32.\n\n @returns hipSuccess, hipInvalidDevice, hipErrorNotInitialized, hipErrorInvalidValue, hipErrorCooperativeLaunchTooLarge"]
8472 pub unsafe fn hipLaunchCooperativeKernel(
8473 &self,
8474 f: *const ::std::os::raw::c_void,
8475 gridDim: dim3,
8476 blockDimX: dim3,
8477 kernelParams: *mut *mut ::std::os::raw::c_void,
8478 sharedMemBytes: ::std::os::raw::c_uint,
8479 stream: hipStream_t,
8480 ) -> hipError_t {
8481 (self
8482 .hipLaunchCooperativeKernel
8483 .as_ref()
8484 .expect("Expected function, got error."))(
8485 f,
8486 gridDim,
8487 blockDimX,
8488 kernelParams,
8489 sharedMemBytes,
8490 stream,
8491 )
8492 }
8493 #[doc = " @brief Launches kernels on multiple devices where thread blocks can cooperate and\n synchronize as they execute.\n\n @param [in] launchParamsList List of launch parameters, one per device.\n @param [in] numDevices Size of the launchParamsList array.\n @param [in] flags Flags to control launch behavior.\n\n @returns hipSuccess, hipInvalidDevice, hipErrorNotInitialized, hipErrorInvalidValue, hipErrorCooperativeLaunchTooLarge"]
8494 pub unsafe fn hipLaunchCooperativeKernelMultiDevice(
8495 &self,
8496 launchParamsList: *mut hipLaunchParams,
8497 numDevices: ::std::os::raw::c_int,
8498 flags: ::std::os::raw::c_uint,
8499 ) -> hipError_t {
8500 (self
8501 .hipLaunchCooperativeKernelMultiDevice
8502 .as_ref()
8503 .expect("Expected function, got error."))(launchParamsList, numDevices, flags)
8504 }
8505 #[doc = " @brief Launches kernels on multiple devices and guarantees all specified kernels are dispatched\n on respective streams before enqueuing any other work on the specified streams from any other threads\n\n\n @param [in] hipLaunchParams List of launch parameters, one per device.\n @param [in] numDevices Size of the launchParamsList array.\n @param [in] flags Flags to control launch behavior.\n\n @returns hipSuccess, hipInvalidDevice, hipErrorNotInitialized, hipErrorInvalidValue"]
8506 pub unsafe fn hipExtLaunchMultiKernelMultiDevice(
8507 &self,
8508 launchParamsList: *mut hipLaunchParams,
8509 numDevices: ::std::os::raw::c_int,
8510 flags: ::std::os::raw::c_uint,
8511 ) -> hipError_t {
8512 (self
8513 .hipExtLaunchMultiKernelMultiDevice
8514 .as_ref()
8515 .expect("Expected function, got error."))(launchParamsList, numDevices, flags)
8516 }
8517 #[doc = " @}\n/\n/**\n\n @defgroup Occupancy Occupancy\n @{\n This section describes the occupancy functions of HIP runtime API.\n\n/\n/**\n @brief determine the grid and block sizes to achieves maximum occupancy for a kernel\n\n @param [out] gridSize minimum grid size for maximum potential occupancy\n @param [out] blockSize block size for maximum potential occupancy\n @param [in] f kernel function for which occupancy is calulated\n @param [in] dynSharedMemPerBlk dynamic shared memory usage (in bytes) intended for each block\n @param [in] blockSizeLimit the maximum block size for the kernel, use 0 for no limit\n\n Please note, HIP does not support kernel launch with total work items defined in dimension with\n size gridDim x blockDim >= 2^32.\n\n @returns hipSuccess, hipInvalidDevice, hipErrorInvalidValue"]
8518 pub unsafe fn hipModuleOccupancyMaxPotentialBlockSize(
8519 &self,
8520 gridSize: *mut ::std::os::raw::c_int,
8521 blockSize: *mut ::std::os::raw::c_int,
8522 f: hipFunction_t,
8523 dynSharedMemPerBlk: usize,
8524 blockSizeLimit: ::std::os::raw::c_int,
8525 ) -> hipError_t {
8526 (self
8527 .hipModuleOccupancyMaxPotentialBlockSize
8528 .as_ref()
8529 .expect("Expected function, got error."))(
8530 gridSize,
8531 blockSize,
8532 f,
8533 dynSharedMemPerBlk,
8534 blockSizeLimit,
8535 )
8536 }
8537 #[doc = " @brief determine the grid and block sizes to achieves maximum occupancy for a kernel\n\n @param [out] gridSize minimum grid size for maximum potential occupancy\n @param [out] blockSize block size for maximum potential occupancy\n @param [in] f kernel function for which occupancy is calulated\n @param [in] dynSharedMemPerBlk dynamic shared memory usage (in bytes) intended for each block\n @param [in] blockSizeLimit the maximum block size for the kernel, use 0 for no limit\n @param [in] flags Extra flags for occupancy calculation (only default supported)\n\n Please note, HIP does not support kernel launch with total work items defined in dimension with\n size gridDim x blockDim >= 2^32.\n\n @returns hipSuccess, hipInvalidDevice, hipErrorInvalidValue"]
8538 pub unsafe fn hipModuleOccupancyMaxPotentialBlockSizeWithFlags(
8539 &self,
8540 gridSize: *mut ::std::os::raw::c_int,
8541 blockSize: *mut ::std::os::raw::c_int,
8542 f: hipFunction_t,
8543 dynSharedMemPerBlk: usize,
8544 blockSizeLimit: ::std::os::raw::c_int,
8545 flags: ::std::os::raw::c_uint,
8546 ) -> hipError_t {
8547 (self
8548 .hipModuleOccupancyMaxPotentialBlockSizeWithFlags
8549 .as_ref()
8550 .expect("Expected function, got error."))(
8551 gridSize,
8552 blockSize,
8553 f,
8554 dynSharedMemPerBlk,
8555 blockSizeLimit,
8556 flags,
8557 )
8558 }
8559 #[doc = " @brief Returns occupancy for a device function.\n\n @param [out] numBlocks Returned occupancy\n @param [in] func Kernel function (hipFunction) for which occupancy is calulated\n @param [in] blockSize Block size the kernel is intended to be launched with\n @param [in] dynSharedMemPerBlk dynamic shared memory usage (in bytes) intended for each block"]
8560 pub unsafe fn hipModuleOccupancyMaxActiveBlocksPerMultiprocessor(
8561 &self,
8562 numBlocks: *mut ::std::os::raw::c_int,
8563 f: hipFunction_t,
8564 blockSize: ::std::os::raw::c_int,
8565 dynSharedMemPerBlk: usize,
8566 ) -> hipError_t {
8567 (self
8568 .hipModuleOccupancyMaxActiveBlocksPerMultiprocessor
8569 .as_ref()
8570 .expect("Expected function, got error."))(
8571 numBlocks, f, blockSize, dynSharedMemPerBlk
8572 )
8573 }
8574 #[doc = " @brief Returns occupancy for a device function.\n\n @param [out] numBlocks Returned occupancy\n @param [in] f Kernel function(hipFunction_t) for which occupancy is calulated\n @param [in] blockSize Block size the kernel is intended to be launched with\n @param [in] dynSharedMemPerBlk dynamic shared memory usage (in bytes) intended for each block\n @param [in] flags Extra flags for occupancy calculation (only default supported)"]
8575 pub unsafe fn hipModuleOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(
8576 &self,
8577 numBlocks: *mut ::std::os::raw::c_int,
8578 f: hipFunction_t,
8579 blockSize: ::std::os::raw::c_int,
8580 dynSharedMemPerBlk: usize,
8581 flags: ::std::os::raw::c_uint,
8582 ) -> hipError_t {
8583 (self
8584 .hipModuleOccupancyMaxActiveBlocksPerMultiprocessorWithFlags
8585 .as_ref()
8586 .expect("Expected function, got error."))(
8587 numBlocks,
8588 f,
8589 blockSize,
8590 dynSharedMemPerBlk,
8591 flags,
8592 )
8593 }
8594 #[doc = " @brief Returns occupancy for a device function.\n\n @param [out] numBlocks Returned occupancy\n @param [in] func Kernel function for which occupancy is calulated\n @param [in] blockSize Block size the kernel is intended to be launched with\n @param [in] dynSharedMemPerBlk dynamic shared memory usage (in bytes) intended for each block"]
8595 pub unsafe fn hipOccupancyMaxActiveBlocksPerMultiprocessor(
8596 &self,
8597 numBlocks: *mut ::std::os::raw::c_int,
8598 f: *const ::std::os::raw::c_void,
8599 blockSize: ::std::os::raw::c_int,
8600 dynSharedMemPerBlk: usize,
8601 ) -> hipError_t {
8602 (self
8603 .hipOccupancyMaxActiveBlocksPerMultiprocessor
8604 .as_ref()
8605 .expect("Expected function, got error."))(
8606 numBlocks, f, blockSize, dynSharedMemPerBlk
8607 )
8608 }
8609 #[doc = " @brief Returns occupancy for a device function.\n\n @param [out] numBlocks Returned occupancy\n @param [in] f Kernel function for which occupancy is calulated\n @param [in] blockSize Block size the kernel is intended to be launched with\n @param [in] dynSharedMemPerBlk dynamic shared memory usage (in bytes) intended for each block\n @param [in] flags Extra flags for occupancy calculation (currently ignored)"]
8610 pub unsafe fn hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(
8611 &self,
8612 numBlocks: *mut ::std::os::raw::c_int,
8613 f: *const ::std::os::raw::c_void,
8614 blockSize: ::std::os::raw::c_int,
8615 dynSharedMemPerBlk: usize,
8616 flags: ::std::os::raw::c_uint,
8617 ) -> hipError_t {
8618 (self
8619 .hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags
8620 .as_ref()
8621 .expect("Expected function, got error."))(
8622 numBlocks,
8623 f,
8624 blockSize,
8625 dynSharedMemPerBlk,
8626 flags,
8627 )
8628 }
8629 #[doc = " @brief determine the grid and block sizes to achieves maximum occupancy for a kernel\n\n @param [out] gridSize minimum grid size for maximum potential occupancy\n @param [out] blockSize block size for maximum potential occupancy\n @param [in] f kernel function for which occupancy is calulated\n @param [in] dynSharedMemPerBlk dynamic shared memory usage (in bytes) intended for each block\n @param [in] blockSizeLimit the maximum block size for the kernel, use 0 for no limit\n\n Please note, HIP does not support kernel launch with total work items defined in dimension with\n size gridDim x blockDim >= 2^32.\n\n @returns hipSuccess, hipInvalidDevice, hipErrorInvalidValue"]
8630 pub unsafe fn hipOccupancyMaxPotentialBlockSize(
8631 &self,
8632 gridSize: *mut ::std::os::raw::c_int,
8633 blockSize: *mut ::std::os::raw::c_int,
8634 f: *const ::std::os::raw::c_void,
8635 dynSharedMemPerBlk: usize,
8636 blockSizeLimit: ::std::os::raw::c_int,
8637 ) -> hipError_t {
8638 (self
8639 .hipOccupancyMaxPotentialBlockSize
8640 .as_ref()
8641 .expect("Expected function, got error."))(
8642 gridSize,
8643 blockSize,
8644 f,
8645 dynSharedMemPerBlk,
8646 blockSizeLimit,
8647 )
8648 }
8649 #[doc = " @brief Start recording of profiling information\n When using this API, start the profiler with profiling disabled. (--startdisabled)\n @warning : hipProfilerStart API is under development."]
8650 pub unsafe fn hipProfilerStart(&self) -> hipError_t {
8651 (self
8652 .hipProfilerStart
8653 .as_ref()
8654 .expect("Expected function, got error."))()
8655 }
8656 #[doc = " @brief Stop recording of profiling information.\n When using this API, start the profiler with profiling disabled. (--startdisabled)\n @warning : hipProfilerStop API is under development."]
8657 pub unsafe fn hipProfilerStop(&self) -> hipError_t {
8658 (self
8659 .hipProfilerStop
8660 .as_ref()
8661 .expect("Expected function, got error."))()
8662 }
8663 #[doc = " @}\n/\n/**\n-------------------------------------------------------------------------------------------------\n-------------------------------------------------------------------------------------------------\n @defgroup Clang Launch API to support the triple-chevron syntax\n @{\n This section describes the API to support the triple-chevron syntax.\n/\n/**\n @brief Configure a kernel launch.\n\n @param [in] gridDim grid dimension specified as multiple of blockDim.\n @param [in] blockDim block dimensions specified in work-items\n @param [in] sharedMem Amount of dynamic shared memory to allocate for this kernel. The\n HIP-Clang compiler provides support for extern shared declarations.\n @param [in] stream Stream where the kernel should be dispatched. May be 0, in which case the\n default stream is used with associated synchronization rules.\n\n Please note, HIP does not support kernel launch with total work items defined in dimension with\n size gridDim x blockDim >= 2^32.\n\n @returns hipSuccess, hipInvalidDevice, hipErrorNotInitialized, hipErrorInvalidValue\n"]
8664 pub unsafe fn hipConfigureCall(
8665 &self,
8666 gridDim: dim3,
8667 blockDim: dim3,
8668 sharedMem: usize,
8669 stream: hipStream_t,
8670 ) -> hipError_t {
8671 (self
8672 .hipConfigureCall
8673 .as_ref()
8674 .expect("Expected function, got error."))(gridDim, blockDim, sharedMem, stream)
8675 }
8676 #[doc = " @brief Set a kernel argument.\n\n @returns hipSuccess, hipInvalidDevice, hipErrorNotInitialized, hipErrorInvalidValue\n\n @param [in] arg Pointer the argument in host memory.\n @param [in] size Size of the argument.\n @param [in] offset Offset of the argument on the argument stack.\n"]
8677 pub unsafe fn hipSetupArgument(
8678 &self,
8679 arg: *const ::std::os::raw::c_void,
8680 size: usize,
8681 offset: usize,
8682 ) -> hipError_t {
8683 (self
8684 .hipSetupArgument
8685 .as_ref()
8686 .expect("Expected function, got error."))(arg, size, offset)
8687 }
8688 #[doc = " @brief Launch a kernel.\n\n @param [in] func Kernel to launch.\n\n @returns hipSuccess, hipInvalidDevice, hipErrorNotInitialized, hipErrorInvalidValue\n"]
8689 pub unsafe fn hipLaunchByPtr(&self, func: *const ::std::os::raw::c_void) -> hipError_t {
8690 (self
8691 .hipLaunchByPtr
8692 .as_ref()
8693 .expect("Expected function, got error."))(func)
8694 }
8695 #[doc = " @brief C compliant kernel launch API\n\n @param [in] function_address - kernel stub function pointer.\n @param [in] numBlocks - number of blocks\n @param [in] dimBlocks - dimension of a block\n @param [in] args - kernel arguments\n @param [in] sharedMemBytes - Amount of dynamic shared memory to allocate for this kernel. The\n HIP-Clang compiler provides support for extern shared declarations.\n @param [in] stream - Stream where the kernel should be dispatched. May be 0, in which case th\n default stream is used with associated synchronization rules.\n\n @returns #hipSuccess, #hipErrorInvalidValue, hipInvalidDevice\n"]
8696 pub unsafe fn hipLaunchKernel(
8697 &self,
8698 function_address: *const ::std::os::raw::c_void,
8699 numBlocks: dim3,
8700 dimBlocks: dim3,
8701 args: *mut *mut ::std::os::raw::c_void,
8702 sharedMemBytes: usize,
8703 stream: hipStream_t,
8704 ) -> hipError_t {
8705 (self
8706 .hipLaunchKernel
8707 .as_ref()
8708 .expect("Expected function, got error."))(
8709 function_address,
8710 numBlocks,
8711 dimBlocks,
8712 args,
8713 sharedMemBytes,
8714 stream,
8715 )
8716 }
8717 #[doc = " @brief Enqueues a host function call in a stream.\n\n @param [in] stream - stream to enqueue work to.\n @param [in] fn - function to call once operations enqueued preceeding are complete.\n @param [in] userData - User-specified data to be passed to the function.\n @returns #hipSuccess, #hipErrorInvalidResourceHandle, #hipErrorInvalidValue,\n #hipErrorNotSupported\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
8718 pub unsafe fn hipLaunchHostFunc(
8719 &self,
8720 stream: hipStream_t,
8721 fn_: hipHostFn_t,
8722 userData: *mut ::std::os::raw::c_void,
8723 ) -> hipError_t {
8724 (self
8725 .hipLaunchHostFunc
8726 .as_ref()
8727 .expect("Expected function, got error."))(stream, fn_, userData)
8728 }
8729 #[doc = " Copies memory for 2D arrays.\n\n @param pCopy - Parameters for the memory copy\n\n @returns #hipSuccess, #hipErrorInvalidValue"]
8730 pub unsafe fn hipDrvMemcpy2DUnaligned(&self, pCopy: *const hip_Memcpy2D) -> hipError_t {
8731 (self
8732 .hipDrvMemcpy2DUnaligned
8733 .as_ref()
8734 .expect("Expected function, got error."))(pCopy)
8735 }
8736 #[doc = " @brief Launches kernel from the pointer address, with arguments and shared memory on stream.\n\n @param [in] function_address pointer to the Kernel to launch.\n @param [in] numBlocks number of blocks.\n @param [in] dimBlocks dimension of a block.\n @param [in] args pointer to kernel arguments.\n @param [in] sharedMemBytes Amount of dynamic shared memory to allocate for this kernel.\n HIP-Clang compiler provides support for extern shared declarations.\n @param [in] stream Stream where the kernel should be dispatched.\n @param [in] startEvent If non-null, specified event will be updated to track the start time of\n the kernel launch. The event must be created before calling this API.\n @param [in] stopEvent If non-null, specified event will be updated to track the stop time of\n the kernel launch. The event must be created before calling this API.\n May be 0, in which case the default stream is used with associated synchronization rules.\n @param [in] flags. The value of hipExtAnyOrderLaunch, signifies if kernel can be\n launched in any order.\n @returns hipSuccess, hipInvalidDevice, hipErrorNotInitialized, hipErrorInvalidValue.\n"]
8737 pub unsafe fn hipExtLaunchKernel(
8738 &self,
8739 function_address: *const ::std::os::raw::c_void,
8740 numBlocks: dim3,
8741 dimBlocks: dim3,
8742 args: *mut *mut ::std::os::raw::c_void,
8743 sharedMemBytes: usize,
8744 stream: hipStream_t,
8745 startEvent: hipEvent_t,
8746 stopEvent: hipEvent_t,
8747 flags: ::std::os::raw::c_int,
8748 ) -> hipError_t {
8749 (self
8750 .hipExtLaunchKernel
8751 .as_ref()
8752 .expect("Expected function, got error."))(
8753 function_address,
8754 numBlocks,
8755 dimBlocks,
8756 args,
8757 sharedMemBytes,
8758 stream,
8759 startEvent,
8760 stopEvent,
8761 flags,
8762 )
8763 }
8764 #[doc = " @brief Binds a mipmapped array to a texture.\n\n @param [in] tex pointer to the texture reference to bind\n @param [in] mipmappedArray memory mipmapped array on the device\n @param [in] desc opointer to the channel format\n\n @returns hipSuccess, hipErrorInvalidValue\n"]
8765 pub unsafe fn hipBindTextureToMipmappedArray(
8766 &self,
8767 tex: *const textureReference,
8768 mipmappedArray: hipMipmappedArray_const_t,
8769 desc: *const hipChannelFormatDesc,
8770 ) -> hipError_t {
8771 (self
8772 .hipBindTextureToMipmappedArray
8773 .as_ref()
8774 .expect("Expected function, got error."))(tex, mipmappedArray, desc)
8775 }
8776 #[doc = " @brief Creates a texture object.\n\n @param [out] pTexObject pointer to the texture object to create\n @param [in] pResDesc pointer to resource descriptor\n @param [in] pTexDesc pointer to texture descriptor\n @param [in] pResViewDesc pointer to resource view descriptor\n\n @returns hipSuccess, hipErrorInvalidValue, hipErrorNotSupported, hipErrorOutOfMemory\n\n @note 3D liner filter isn't supported on GFX90A boards, on which the API @p hipCreateTextureObject will\n return hipErrorNotSupported.\n"]
8777 pub unsafe fn hipCreateTextureObject(
8778 &self,
8779 pTexObject: *mut hipTextureObject_t,
8780 pResDesc: *const hipResourceDesc,
8781 pTexDesc: *const hipTextureDesc,
8782 pResViewDesc: *const hipResourceViewDesc,
8783 ) -> hipError_t {
8784 (self
8785 .hipCreateTextureObject
8786 .as_ref()
8787 .expect("Expected function, got error."))(
8788 pTexObject, pResDesc, pTexDesc, pResViewDesc
8789 )
8790 }
8791 #[doc = " @brief Destroys a texture object.\n\n @param [in] textureObject texture object to destroy\n\n @returns hipSuccess, hipErrorInvalidValue\n"]
8792 pub unsafe fn hipDestroyTextureObject(&self, textureObject: hipTextureObject_t) -> hipError_t {
8793 (self
8794 .hipDestroyTextureObject
8795 .as_ref()
8796 .expect("Expected function, got error."))(textureObject)
8797 }
8798 #[doc = " @brief Gets the channel descriptor in an array.\n\n @param [in] desc pointer to channel format descriptor\n @param [out] array memory array on the device\n\n @returns hipSuccess, hipErrorInvalidValue\n"]
8799 pub unsafe fn hipGetChannelDesc(
8800 &self,
8801 desc: *mut hipChannelFormatDesc,
8802 array: hipArray_const_t,
8803 ) -> hipError_t {
8804 (self
8805 .hipGetChannelDesc
8806 .as_ref()
8807 .expect("Expected function, got error."))(desc, array)
8808 }
8809 #[doc = " @brief Gets resource descriptor for the texture object.\n\n @param [out] pResDesc pointer to resource descriptor\n @param [in] textureObject texture object\n\n @returns hipSuccess, hipErrorInvalidValue\n"]
8810 pub unsafe fn hipGetTextureObjectResourceDesc(
8811 &self,
8812 pResDesc: *mut hipResourceDesc,
8813 textureObject: hipTextureObject_t,
8814 ) -> hipError_t {
8815 (self
8816 .hipGetTextureObjectResourceDesc
8817 .as_ref()
8818 .expect("Expected function, got error."))(pResDesc, textureObject)
8819 }
8820 #[doc = " @brief Gets resource view descriptor for the texture object.\n\n @param [out] pResViewDesc pointer to resource view descriptor\n @param [in] textureObject texture object\n\n @returns hipSuccess, hipErrorInvalidValue\n"]
8821 pub unsafe fn hipGetTextureObjectResourceViewDesc(
8822 &self,
8823 pResViewDesc: *mut hipResourceViewDesc,
8824 textureObject: hipTextureObject_t,
8825 ) -> hipError_t {
8826 (self
8827 .hipGetTextureObjectResourceViewDesc
8828 .as_ref()
8829 .expect("Expected function, got error."))(pResViewDesc, textureObject)
8830 }
8831 #[doc = " @brief Gets texture descriptor for the texture object.\n\n @param [out] pTexDesc pointer to texture descriptor\n @param [in] textureObject texture object\n\n @returns hipSuccess, hipErrorInvalidValue\n"]
8832 pub unsafe fn hipGetTextureObjectTextureDesc(
8833 &self,
8834 pTexDesc: *mut hipTextureDesc,
8835 textureObject: hipTextureObject_t,
8836 ) -> hipError_t {
8837 (self
8838 .hipGetTextureObjectTextureDesc
8839 .as_ref()
8840 .expect("Expected function, got error."))(pTexDesc, textureObject)
8841 }
8842 #[doc = " @brief Creates a texture object.\n\n @param [out] pTexObject pointer to texture object to create\n @param [in] pResDesc pointer to resource descriptor\n @param [in] pTexDesc pointer to texture descriptor\n @param [in] pResViewDesc pointer to resource view descriptor\n\n @returns hipSuccess, hipErrorInvalidValue\n"]
8843 pub unsafe fn hipTexObjectCreate(
8844 &self,
8845 pTexObject: *mut hipTextureObject_t,
8846 pResDesc: *const HIP_RESOURCE_DESC,
8847 pTexDesc: *const HIP_TEXTURE_DESC,
8848 pResViewDesc: *const HIP_RESOURCE_VIEW_DESC,
8849 ) -> hipError_t {
8850 (self
8851 .hipTexObjectCreate
8852 .as_ref()
8853 .expect("Expected function, got error."))(
8854 pTexObject, pResDesc, pTexDesc, pResViewDesc
8855 )
8856 }
8857 #[doc = " @brief Destroys a texture object.\n\n @param [in] texObject texture object to destroy\n\n @returns hipSuccess, hipErrorInvalidValue\n"]
8858 pub unsafe fn hipTexObjectDestroy(&self, texObject: hipTextureObject_t) -> hipError_t {
8859 (self
8860 .hipTexObjectDestroy
8861 .as_ref()
8862 .expect("Expected function, got error."))(texObject)
8863 }
8864 #[doc = " @brief Gets resource descriptor of a texture object.\n\n @param [out] pResDesc pointer to resource descriptor\n @param [in] texObject texture object\n\n @returns hipSuccess, hipErrorNotSupported, hipErrorInvalidValue\n"]
8865 pub unsafe fn hipTexObjectGetResourceDesc(
8866 &self,
8867 pResDesc: *mut HIP_RESOURCE_DESC,
8868 texObject: hipTextureObject_t,
8869 ) -> hipError_t {
8870 (self
8871 .hipTexObjectGetResourceDesc
8872 .as_ref()
8873 .expect("Expected function, got error."))(pResDesc, texObject)
8874 }
8875 #[doc = " @brief Gets resource view descriptor of a texture object.\n\n @param [out] pResViewDesc pointer to resource view descriptor\n @param [in] texObject texture object\n\n @returns hipSuccess, hipErrorNotSupported, hipErrorInvalidValue\n"]
8876 pub unsafe fn hipTexObjectGetResourceViewDesc(
8877 &self,
8878 pResViewDesc: *mut HIP_RESOURCE_VIEW_DESC,
8879 texObject: hipTextureObject_t,
8880 ) -> hipError_t {
8881 (self
8882 .hipTexObjectGetResourceViewDesc
8883 .as_ref()
8884 .expect("Expected function, got error."))(pResViewDesc, texObject)
8885 }
8886 #[doc = " @brief Gets texture descriptor of a texture object.\n\n @param [out] pTexDesc pointer to texture descriptor\n @param [in] texObject texture object\n\n @returns hipSuccess, hipErrorNotSupported, hipErrorInvalidValue\n"]
8887 pub unsafe fn hipTexObjectGetTextureDesc(
8888 &self,
8889 pTexDesc: *mut HIP_TEXTURE_DESC,
8890 texObject: hipTextureObject_t,
8891 ) -> hipError_t {
8892 (self
8893 .hipTexObjectGetTextureDesc
8894 .as_ref()
8895 .expect("Expected function, got error."))(pTexDesc, texObject)
8896 }
8897 #[doc = " @addtogroup TextureD Texture Management [Deprecated]\n @{\n @ingroup Texture\n This section describes the deprecated texture management functions of HIP runtime API.\n/\n/**\n @brief Gets the texture reference related with the symbol.\n\n @param [out] texref texture reference\n @param [in] symbol pointer to the symbol related with the texture for the reference\n\n @returns hipSuccess, hipErrorInvalidValue\n"]
8898 pub unsafe fn hipGetTextureReference(
8899 &self,
8900 texref: *mut *const textureReference,
8901 symbol: *const ::std::os::raw::c_void,
8902 ) -> hipError_t {
8903 (self
8904 .hipGetTextureReference
8905 .as_ref()
8906 .expect("Expected function, got error."))(texref, symbol)
8907 }
8908 pub unsafe fn hipTexRefSetAddressMode(
8909 &self,
8910 texRef: *mut textureReference,
8911 dim: ::std::os::raw::c_int,
8912 am: hipTextureAddressMode,
8913 ) -> hipError_t {
8914 (self
8915 .hipTexRefSetAddressMode
8916 .as_ref()
8917 .expect("Expected function, got error."))(texRef, dim, am)
8918 }
8919 pub unsafe fn hipTexRefSetArray(
8920 &self,
8921 tex: *mut textureReference,
8922 array: hipArray_const_t,
8923 flags: ::std::os::raw::c_uint,
8924 ) -> hipError_t {
8925 (self
8926 .hipTexRefSetArray
8927 .as_ref()
8928 .expect("Expected function, got error."))(tex, array, flags)
8929 }
8930 pub unsafe fn hipTexRefSetFilterMode(
8931 &self,
8932 texRef: *mut textureReference,
8933 fm: hipTextureFilterMode,
8934 ) -> hipError_t {
8935 (self
8936 .hipTexRefSetFilterMode
8937 .as_ref()
8938 .expect("Expected function, got error."))(texRef, fm)
8939 }
8940 pub unsafe fn hipTexRefSetFlags(
8941 &self,
8942 texRef: *mut textureReference,
8943 Flags: ::std::os::raw::c_uint,
8944 ) -> hipError_t {
8945 (self
8946 .hipTexRefSetFlags
8947 .as_ref()
8948 .expect("Expected function, got error."))(texRef, Flags)
8949 }
8950 pub unsafe fn hipTexRefSetFormat(
8951 &self,
8952 texRef: *mut textureReference,
8953 fmt: hipArray_Format,
8954 NumPackedComponents: ::std::os::raw::c_int,
8955 ) -> hipError_t {
8956 (self
8957 .hipTexRefSetFormat
8958 .as_ref()
8959 .expect("Expected function, got error."))(texRef, fmt, NumPackedComponents)
8960 }
8961 pub unsafe fn hipBindTexture(
8962 &self,
8963 offset: *mut usize,
8964 tex: *const textureReference,
8965 devPtr: *const ::std::os::raw::c_void,
8966 desc: *const hipChannelFormatDesc,
8967 size: usize,
8968 ) -> hipError_t {
8969 (self
8970 .hipBindTexture
8971 .as_ref()
8972 .expect("Expected function, got error."))(offset, tex, devPtr, desc, size)
8973 }
8974 pub unsafe fn hipBindTexture2D(
8975 &self,
8976 offset: *mut usize,
8977 tex: *const textureReference,
8978 devPtr: *const ::std::os::raw::c_void,
8979 desc: *const hipChannelFormatDesc,
8980 width: usize,
8981 height: usize,
8982 pitch: usize,
8983 ) -> hipError_t {
8984 (self
8985 .hipBindTexture2D
8986 .as_ref()
8987 .expect("Expected function, got error."))(
8988 offset, tex, devPtr, desc, width, height, pitch,
8989 )
8990 }
8991 pub unsafe fn hipBindTextureToArray(
8992 &self,
8993 tex: *const textureReference,
8994 array: hipArray_const_t,
8995 desc: *const hipChannelFormatDesc,
8996 ) -> hipError_t {
8997 (self
8998 .hipBindTextureToArray
8999 .as_ref()
9000 .expect("Expected function, got error."))(tex, array, desc)
9001 }
9002 pub unsafe fn hipGetTextureAlignmentOffset(
9003 &self,
9004 offset: *mut usize,
9005 texref: *const textureReference,
9006 ) -> hipError_t {
9007 (self
9008 .hipGetTextureAlignmentOffset
9009 .as_ref()
9010 .expect("Expected function, got error."))(offset, texref)
9011 }
9012 pub unsafe fn hipUnbindTexture(&self, tex: *const textureReference) -> hipError_t {
9013 (self
9014 .hipUnbindTexture
9015 .as_ref()
9016 .expect("Expected function, got error."))(tex)
9017 }
9018 pub unsafe fn hipTexRefGetAddress(
9019 &self,
9020 dev_ptr: *mut hipDeviceptr_t,
9021 texRef: *const textureReference,
9022 ) -> hipError_t {
9023 (self
9024 .hipTexRefGetAddress
9025 .as_ref()
9026 .expect("Expected function, got error."))(dev_ptr, texRef)
9027 }
9028 pub unsafe fn hipTexRefGetAddressMode(
9029 &self,
9030 pam: *mut hipTextureAddressMode,
9031 texRef: *const textureReference,
9032 dim: ::std::os::raw::c_int,
9033 ) -> hipError_t {
9034 (self
9035 .hipTexRefGetAddressMode
9036 .as_ref()
9037 .expect("Expected function, got error."))(pam, texRef, dim)
9038 }
9039 pub unsafe fn hipTexRefGetFilterMode(
9040 &self,
9041 pfm: *mut hipTextureFilterMode,
9042 texRef: *const textureReference,
9043 ) -> hipError_t {
9044 (self
9045 .hipTexRefGetFilterMode
9046 .as_ref()
9047 .expect("Expected function, got error."))(pfm, texRef)
9048 }
9049 pub unsafe fn hipTexRefGetFlags(
9050 &self,
9051 pFlags: *mut ::std::os::raw::c_uint,
9052 texRef: *const textureReference,
9053 ) -> hipError_t {
9054 (self
9055 .hipTexRefGetFlags
9056 .as_ref()
9057 .expect("Expected function, got error."))(pFlags, texRef)
9058 }
9059 pub unsafe fn hipTexRefGetFormat(
9060 &self,
9061 pFormat: *mut hipArray_Format,
9062 pNumChannels: *mut ::std::os::raw::c_int,
9063 texRef: *const textureReference,
9064 ) -> hipError_t {
9065 (self
9066 .hipTexRefGetFormat
9067 .as_ref()
9068 .expect("Expected function, got error."))(pFormat, pNumChannels, texRef)
9069 }
9070 pub unsafe fn hipTexRefGetMaxAnisotropy(
9071 &self,
9072 pmaxAnsio: *mut ::std::os::raw::c_int,
9073 texRef: *const textureReference,
9074 ) -> hipError_t {
9075 (self
9076 .hipTexRefGetMaxAnisotropy
9077 .as_ref()
9078 .expect("Expected function, got error."))(pmaxAnsio, texRef)
9079 }
9080 pub unsafe fn hipTexRefGetMipmapFilterMode(
9081 &self,
9082 pfm: *mut hipTextureFilterMode,
9083 texRef: *const textureReference,
9084 ) -> hipError_t {
9085 (self
9086 .hipTexRefGetMipmapFilterMode
9087 .as_ref()
9088 .expect("Expected function, got error."))(pfm, texRef)
9089 }
9090 pub unsafe fn hipTexRefGetMipmapLevelBias(
9091 &self,
9092 pbias: *mut f32,
9093 texRef: *const textureReference,
9094 ) -> hipError_t {
9095 (self
9096 .hipTexRefGetMipmapLevelBias
9097 .as_ref()
9098 .expect("Expected function, got error."))(pbias, texRef)
9099 }
9100 pub unsafe fn hipTexRefGetMipmapLevelClamp(
9101 &self,
9102 pminMipmapLevelClamp: *mut f32,
9103 pmaxMipmapLevelClamp: *mut f32,
9104 texRef: *const textureReference,
9105 ) -> hipError_t {
9106 (self
9107 .hipTexRefGetMipmapLevelClamp
9108 .as_ref()
9109 .expect("Expected function, got error."))(
9110 pminMipmapLevelClamp,
9111 pmaxMipmapLevelClamp,
9112 texRef,
9113 )
9114 }
9115 pub unsafe fn hipTexRefGetMipMappedArray(
9116 &self,
9117 pArray: *mut hipMipmappedArray_t,
9118 texRef: *const textureReference,
9119 ) -> hipError_t {
9120 (self
9121 .hipTexRefGetMipMappedArray
9122 .as_ref()
9123 .expect("Expected function, got error."))(pArray, texRef)
9124 }
9125 pub unsafe fn hipTexRefSetAddress(
9126 &self,
9127 ByteOffset: *mut usize,
9128 texRef: *mut textureReference,
9129 dptr: hipDeviceptr_t,
9130 bytes: usize,
9131 ) -> hipError_t {
9132 (self
9133 .hipTexRefSetAddress
9134 .as_ref()
9135 .expect("Expected function, got error."))(ByteOffset, texRef, dptr, bytes)
9136 }
9137 pub unsafe fn hipTexRefSetAddress2D(
9138 &self,
9139 texRef: *mut textureReference,
9140 desc: *const HIP_ARRAY_DESCRIPTOR,
9141 dptr: hipDeviceptr_t,
9142 Pitch: usize,
9143 ) -> hipError_t {
9144 (self
9145 .hipTexRefSetAddress2D
9146 .as_ref()
9147 .expect("Expected function, got error."))(texRef, desc, dptr, Pitch)
9148 }
9149 pub unsafe fn hipTexRefSetMaxAnisotropy(
9150 &self,
9151 texRef: *mut textureReference,
9152 maxAniso: ::std::os::raw::c_uint,
9153 ) -> hipError_t {
9154 (self
9155 .hipTexRefSetMaxAnisotropy
9156 .as_ref()
9157 .expect("Expected function, got error."))(texRef, maxAniso)
9158 }
9159 pub unsafe fn hipTexRefSetBorderColor(
9160 &self,
9161 texRef: *mut textureReference,
9162 pBorderColor: *mut f32,
9163 ) -> hipError_t {
9164 (self
9165 .hipTexRefSetBorderColor
9166 .as_ref()
9167 .expect("Expected function, got error."))(texRef, pBorderColor)
9168 }
9169 pub unsafe fn hipTexRefSetMipmapFilterMode(
9170 &self,
9171 texRef: *mut textureReference,
9172 fm: hipTextureFilterMode,
9173 ) -> hipError_t {
9174 (self
9175 .hipTexRefSetMipmapFilterMode
9176 .as_ref()
9177 .expect("Expected function, got error."))(texRef, fm)
9178 }
9179 pub unsafe fn hipTexRefSetMipmapLevelBias(
9180 &self,
9181 texRef: *mut textureReference,
9182 bias: f32,
9183 ) -> hipError_t {
9184 (self
9185 .hipTexRefSetMipmapLevelBias
9186 .as_ref()
9187 .expect("Expected function, got error."))(texRef, bias)
9188 }
9189 pub unsafe fn hipTexRefSetMipmapLevelClamp(
9190 &self,
9191 texRef: *mut textureReference,
9192 minMipMapLevelClamp: f32,
9193 maxMipMapLevelClamp: f32,
9194 ) -> hipError_t {
9195 (self
9196 .hipTexRefSetMipmapLevelClamp
9197 .as_ref()
9198 .expect("Expected function, got error."))(
9199 texRef,
9200 minMipMapLevelClamp,
9201 maxMipMapLevelClamp,
9202 )
9203 }
9204 pub unsafe fn hipTexRefSetMipmappedArray(
9205 &self,
9206 texRef: *mut textureReference,
9207 mipmappedArray: *mut hipMipmappedArray,
9208 Flags: ::std::os::raw::c_uint,
9209 ) -> hipError_t {
9210 (self
9211 .hipTexRefSetMipmappedArray
9212 .as_ref()
9213 .expect("Expected function, got error."))(texRef, mipmappedArray, Flags)
9214 }
9215 #[doc = " @addtogroup TextureU Texture Management [Not supported]\n @{\n @ingroup Texture\n This section describes the texture management functions currently unsupported in HIP runtime."]
9216 pub unsafe fn hipMipmappedArrayCreate(
9217 &self,
9218 pHandle: *mut hipMipmappedArray_t,
9219 pMipmappedArrayDesc: *mut HIP_ARRAY3D_DESCRIPTOR,
9220 numMipmapLevels: ::std::os::raw::c_uint,
9221 ) -> hipError_t {
9222 (self
9223 .hipMipmappedArrayCreate
9224 .as_ref()
9225 .expect("Expected function, got error."))(
9226 pHandle, pMipmappedArrayDesc, numMipmapLevels
9227 )
9228 }
9229 pub unsafe fn hipMipmappedArrayDestroy(
9230 &self,
9231 hMipmappedArray: hipMipmappedArray_t,
9232 ) -> hipError_t {
9233 (self
9234 .hipMipmappedArrayDestroy
9235 .as_ref()
9236 .expect("Expected function, got error."))(hMipmappedArray)
9237 }
9238 pub unsafe fn hipMipmappedArrayGetLevel(
9239 &self,
9240 pLevelArray: *mut hipArray_t,
9241 hMipMappedArray: hipMipmappedArray_t,
9242 level: ::std::os::raw::c_uint,
9243 ) -> hipError_t {
9244 (self
9245 .hipMipmappedArrayGetLevel
9246 .as_ref()
9247 .expect("Expected function, got error."))(pLevelArray, hMipMappedArray, level)
9248 }
9249 #[doc = " @defgroup Callback Callback Activity APIs\n @{\n This section describes the callback/Activity of HIP runtime API."]
9250 pub unsafe fn hipApiName(&self, id: u32) -> *const ::std::os::raw::c_char {
9251 (self
9252 .hipApiName
9253 .as_ref()
9254 .expect("Expected function, got error."))(id)
9255 }
9256 pub unsafe fn hipKernelNameRef(&self, f: hipFunction_t) -> *const ::std::os::raw::c_char {
9257 (self
9258 .hipKernelNameRef
9259 .as_ref()
9260 .expect("Expected function, got error."))(f)
9261 }
9262 pub unsafe fn hipKernelNameRefByPtr(
9263 &self,
9264 hostFunction: *const ::std::os::raw::c_void,
9265 stream: hipStream_t,
9266 ) -> *const ::std::os::raw::c_char {
9267 (self
9268 .hipKernelNameRefByPtr
9269 .as_ref()
9270 .expect("Expected function, got error."))(hostFunction, stream)
9271 }
9272 pub unsafe fn hipGetStreamDeviceId(&self, stream: hipStream_t) -> ::std::os::raw::c_int {
9273 (self
9274 .hipGetStreamDeviceId
9275 .as_ref()
9276 .expect("Expected function, got error."))(stream)
9277 }
9278 #[doc = " @brief Begins graph capture on a stream.\n\n @param [in] stream - Stream to initiate capture.\n @param [in] mode - Controls the interaction of this capture sequence with other API calls that\n are not safe.\n\n @returns #hipSuccess, #hipErrorInvalidValue\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues.\n"]
9279 pub unsafe fn hipStreamBeginCapture(
9280 &self,
9281 stream: hipStream_t,
9282 mode: hipStreamCaptureMode,
9283 ) -> hipError_t {
9284 (self
9285 .hipStreamBeginCapture
9286 .as_ref()
9287 .expect("Expected function, got error."))(stream, mode)
9288 }
9289 #[doc = " @brief Ends capture on a stream, returning the captured graph.\n\n @param [in] stream - Stream to end capture.\n @param [out] pGraph - returns the graph captured.\n\n @returns #hipSuccess, #hipErrorInvalidValue\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues.\n"]
9290 pub unsafe fn hipStreamEndCapture(
9291 &self,
9292 stream: hipStream_t,
9293 pGraph: *mut hipGraph_t,
9294 ) -> hipError_t {
9295 (self
9296 .hipStreamEndCapture
9297 .as_ref()
9298 .expect("Expected function, got error."))(stream, pGraph)
9299 }
9300 #[doc = " @brief Get capture status of a stream.\n\n @param [in] stream - Stream under capture.\n @param [out] pCaptureStatus - returns current status of the capture.\n @param [out] pId - unique ID of the capture.\n\n @returns #hipSuccess, #hipErrorStreamCaptureImplicit\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues.\n"]
9301 pub unsafe fn hipStreamGetCaptureInfo(
9302 &self,
9303 stream: hipStream_t,
9304 pCaptureStatus: *mut hipStreamCaptureStatus,
9305 pId: *mut ::std::os::raw::c_ulonglong,
9306 ) -> hipError_t {
9307 (self
9308 .hipStreamGetCaptureInfo
9309 .as_ref()
9310 .expect("Expected function, got error."))(stream, pCaptureStatus, pId)
9311 }
9312 #[doc = " @brief Get stream's capture state\n\n @param [in] stream - Stream under capture.\n @param [out] captureStatus_out - returns current status of the capture.\n @param [out] id_out - unique ID of the capture.\n @param [in] graph_out - returns the graph being captured into.\n @param [out] dependencies_out - returns pointer to an array of nodes.\n @param [out] numDependencies_out - returns size of the array returned in dependencies_out.\n\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorStreamCaptureImplicit\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues.\n"]
9313 pub unsafe fn hipStreamGetCaptureInfo_v2(
9314 &self,
9315 stream: hipStream_t,
9316 captureStatus_out: *mut hipStreamCaptureStatus,
9317 id_out: *mut ::std::os::raw::c_ulonglong,
9318 graph_out: *mut hipGraph_t,
9319 dependencies_out: *mut *const hipGraphNode_t,
9320 numDependencies_out: *mut usize,
9321 ) -> hipError_t {
9322 (self
9323 .hipStreamGetCaptureInfo_v2
9324 .as_ref()
9325 .expect("Expected function, got error."))(
9326 stream,
9327 captureStatus_out,
9328 id_out,
9329 graph_out,
9330 dependencies_out,
9331 numDependencies_out,
9332 )
9333 }
9334 #[doc = " @brief Get stream's capture state\n\n @param [in] stream - Stream under capture.\n @param [out] pCaptureStatus - returns current status of the capture.\n\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorStreamCaptureImplicit\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues.\n"]
9335 pub unsafe fn hipStreamIsCapturing(
9336 &self,
9337 stream: hipStream_t,
9338 pCaptureStatus: *mut hipStreamCaptureStatus,
9339 ) -> hipError_t {
9340 (self
9341 .hipStreamIsCapturing
9342 .as_ref()
9343 .expect("Expected function, got error."))(stream, pCaptureStatus)
9344 }
9345 #[doc = " @brief Update the set of dependencies in a capturing stream\n\n @param [in] stream - Stream under capture.\n @param [in] dependencies - pointer to an array of nodes to Add/Replace.\n @param [in] numDependencies - size of the array in dependencies.\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorIllegalState\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues.\n"]
9346 pub unsafe fn hipStreamUpdateCaptureDependencies(
9347 &self,
9348 stream: hipStream_t,
9349 dependencies: *mut hipGraphNode_t,
9350 numDependencies: usize,
9351 flags: ::std::os::raw::c_uint,
9352 ) -> hipError_t {
9353 (self
9354 .hipStreamUpdateCaptureDependencies
9355 .as_ref()
9356 .expect("Expected function, got error."))(
9357 stream, dependencies, numDependencies, flags
9358 )
9359 }
9360 #[doc = " @brief Swaps the stream capture mode of a thread.\n\n @param [in] mode - Pointer to mode value to swap with the current mode\n @returns #hipSuccess, #hipErrorInvalidValue\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues.\n"]
9361 pub unsafe fn hipThreadExchangeStreamCaptureMode(
9362 &self,
9363 mode: *mut hipStreamCaptureMode,
9364 ) -> hipError_t {
9365 (self
9366 .hipThreadExchangeStreamCaptureMode
9367 .as_ref()
9368 .expect("Expected function, got error."))(mode)
9369 }
9370 #[doc = " @brief Creates a graph\n\n @param [out] pGraph - pointer to graph to create.\n @param [in] flags - flags for graph creation, must be 0.\n\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorMemoryAllocation\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues.\n"]
9371 pub unsafe fn hipGraphCreate(
9372 &self,
9373 pGraph: *mut hipGraph_t,
9374 flags: ::std::os::raw::c_uint,
9375 ) -> hipError_t {
9376 (self
9377 .hipGraphCreate
9378 .as_ref()
9379 .expect("Expected function, got error."))(pGraph, flags)
9380 }
9381 #[doc = " @brief Destroys a graph\n\n @param [in] graph - instance of graph to destroy.\n\n @returns #hipSuccess, #hipErrorInvalidValue\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues.\n"]
9382 pub unsafe fn hipGraphDestroy(&self, graph: hipGraph_t) -> hipError_t {
9383 (self
9384 .hipGraphDestroy
9385 .as_ref()
9386 .expect("Expected function, got error."))(graph)
9387 }
9388 #[doc = " @brief Adds dependency edges to a graph.\n\n @param [in] graph - instance of the graph to add dependencies.\n @param [in] from - pointer to the graph nodes with dependenties to add from.\n @param [in] to - pointer to the graph nodes to add dependenties to.\n @param [in] numDependencies - the number of dependencies to add.\n @returns #hipSuccess, #hipErrorInvalidValue\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues.\n"]
9389 pub unsafe fn hipGraphAddDependencies(
9390 &self,
9391 graph: hipGraph_t,
9392 from: *const hipGraphNode_t,
9393 to: *const hipGraphNode_t,
9394 numDependencies: usize,
9395 ) -> hipError_t {
9396 (self
9397 .hipGraphAddDependencies
9398 .as_ref()
9399 .expect("Expected function, got error."))(graph, from, to, numDependencies)
9400 }
9401 #[doc = " @brief Removes dependency edges from a graph.\n\n @param [in] graph - instance of the graph to remove dependencies.\n @param [in] from - Array of nodes that provide the dependencies.\n @param [in] to - Array of dependent nodes.\n @param [in] numDependencies - the number of dependencies to remove.\n @returns #hipSuccess, #hipErrorInvalidValue\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues.\n"]
9402 pub unsafe fn hipGraphRemoveDependencies(
9403 &self,
9404 graph: hipGraph_t,
9405 from: *const hipGraphNode_t,
9406 to: *const hipGraphNode_t,
9407 numDependencies: usize,
9408 ) -> hipError_t {
9409 (self
9410 .hipGraphRemoveDependencies
9411 .as_ref()
9412 .expect("Expected function, got error."))(graph, from, to, numDependencies)
9413 }
9414 #[doc = " @brief Returns a graph's dependency edges.\n\n @param [in] graph - instance of the graph to get the edges from.\n @param [out] from - pointer to the graph nodes to return edge endpoints.\n @param [out] to - pointer to the graph nodes to return edge endpoints.\n @param [out] numEdges - returns number of edges.\n @returns #hipSuccess, #hipErrorInvalidValue\n\n from and to may both be NULL, in which case this function only returns the number of edges in\n numEdges. Otherwise, numEdges entries will be filled in. If numEdges is higher than the actual\n number of edges, the remaining entries in from and to will be set to NULL, and the number of\n edges actually returned will be written to numEdges\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues.\n"]
9415 pub unsafe fn hipGraphGetEdges(
9416 &self,
9417 graph: hipGraph_t,
9418 from: *mut hipGraphNode_t,
9419 to: *mut hipGraphNode_t,
9420 numEdges: *mut usize,
9421 ) -> hipError_t {
9422 (self
9423 .hipGraphGetEdges
9424 .as_ref()
9425 .expect("Expected function, got error."))(graph, from, to, numEdges)
9426 }
9427 #[doc = " @brief Returns graph nodes.\n\n @param [in] graph - instance of graph to get the nodes.\n @param [out] nodes - pointer to return the graph nodes.\n @param [out] numNodes - returns number of graph nodes.\n @returns #hipSuccess, #hipErrorInvalidValue\n\n nodes may be NULL, in which case this function will return the number of nodes in numNodes.\n Otherwise, numNodes entries will be filled in. If numNodes is higher than the actual number of\n nodes, the remaining entries in nodes will be set to NULL, and the number of nodes actually\n obtained will be returned in numNodes.\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues.\n"]
9428 pub unsafe fn hipGraphGetNodes(
9429 &self,
9430 graph: hipGraph_t,
9431 nodes: *mut hipGraphNode_t,
9432 numNodes: *mut usize,
9433 ) -> hipError_t {
9434 (self
9435 .hipGraphGetNodes
9436 .as_ref()
9437 .expect("Expected function, got error."))(graph, nodes, numNodes)
9438 }
9439 #[doc = " @brief Returns graph's root nodes.\n\n @param [in] graph - instance of the graph to get the nodes.\n @param [out] pRootNodes - pointer to return the graph's root nodes.\n @param [out] pNumRootNodes - returns the number of graph's root nodes.\n @returns #hipSuccess, #hipErrorInvalidValue\n\n pRootNodes may be NULL, in which case this function will return the number of root nodes in\n pNumRootNodes. Otherwise, pNumRootNodes entries will be filled in. If pNumRootNodes is higher\n than the actual number of root nodes, the remaining entries in pRootNodes will be set to NULL,\n and the number of nodes actually obtained will be returned in pNumRootNodes.\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues.\n"]
9440 pub unsafe fn hipGraphGetRootNodes(
9441 &self,
9442 graph: hipGraph_t,
9443 pRootNodes: *mut hipGraphNode_t,
9444 pNumRootNodes: *mut usize,
9445 ) -> hipError_t {
9446 (self
9447 .hipGraphGetRootNodes
9448 .as_ref()
9449 .expect("Expected function, got error."))(graph, pRootNodes, pNumRootNodes)
9450 }
9451 #[doc = " @brief Returns a node's dependencies.\n\n @param [in] node - graph node to get the dependencies from.\n @param [out] pDependencies - pointer to to return the dependencies.\n @param [out] pNumDependencies - returns the number of graph node dependencies.\n @returns #hipSuccess, #hipErrorInvalidValue\n\n pDependencies may be NULL, in which case this function will return the number of dependencies in\n pNumDependencies. Otherwise, pNumDependencies entries will be filled in. If pNumDependencies is\n higher than the actual number of dependencies, the remaining entries in pDependencies will be set\n to NULL, and the number of nodes actually obtained will be returned in pNumDependencies.\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues.\n"]
9452 pub unsafe fn hipGraphNodeGetDependencies(
9453 &self,
9454 node: hipGraphNode_t,
9455 pDependencies: *mut hipGraphNode_t,
9456 pNumDependencies: *mut usize,
9457 ) -> hipError_t {
9458 (self
9459 .hipGraphNodeGetDependencies
9460 .as_ref()
9461 .expect("Expected function, got error."))(node, pDependencies, pNumDependencies)
9462 }
9463 #[doc = " @brief Returns a node's dependent nodes.\n\n @param [in] node - graph node to get the Dependent nodes from.\n @param [out] pDependentNodes - pointer to return the graph dependent nodes.\n @param [out] pNumDependentNodes - returns the number of graph node dependent nodes.\n @returns #hipSuccess, #hipErrorInvalidValue\n\n DependentNodes may be NULL, in which case this function will return the number of dependent nodes\n in pNumDependentNodes. Otherwise, pNumDependentNodes entries will be filled in. If\n pNumDependentNodes is higher than the actual number of dependent nodes, the remaining entries in\n pDependentNodes will be set to NULL, and the number of nodes actually obtained will be returned\n in pNumDependentNodes.\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues.\n"]
9464 pub unsafe fn hipGraphNodeGetDependentNodes(
9465 &self,
9466 node: hipGraphNode_t,
9467 pDependentNodes: *mut hipGraphNode_t,
9468 pNumDependentNodes: *mut usize,
9469 ) -> hipError_t {
9470 (self
9471 .hipGraphNodeGetDependentNodes
9472 .as_ref()
9473 .expect("Expected function, got error."))(
9474 node, pDependentNodes, pNumDependentNodes
9475 )
9476 }
9477 #[doc = " @brief Returns a node's type.\n\n @param [in] node - instance of the graph to add dependencies.\n @param [out] pType - pointer to the return the type\n @returns #hipSuccess, #hipErrorInvalidValue\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues.\n"]
9478 pub unsafe fn hipGraphNodeGetType(
9479 &self,
9480 node: hipGraphNode_t,
9481 pType: *mut hipGraphNodeType,
9482 ) -> hipError_t {
9483 (self
9484 .hipGraphNodeGetType
9485 .as_ref()
9486 .expect("Expected function, got error."))(node, pType)
9487 }
9488 #[doc = " @brief Remove a node from the graph.\n\n @param [in] node - graph node to remove\n @returns #hipSuccess, #hipErrorInvalidValue\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues.\n"]
9489 pub unsafe fn hipGraphDestroyNode(&self, node: hipGraphNode_t) -> hipError_t {
9490 (self
9491 .hipGraphDestroyNode
9492 .as_ref()
9493 .expect("Expected function, got error."))(node)
9494 }
9495 #[doc = " @brief Clones a graph.\n\n @param [out] pGraphClone - Returns newly created cloned graph.\n @param [in] originalGraph - original graph to clone from.\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorMemoryAllocation\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues.\n"]
9496 pub unsafe fn hipGraphClone(
9497 &self,
9498 pGraphClone: *mut hipGraph_t,
9499 originalGraph: hipGraph_t,
9500 ) -> hipError_t {
9501 (self
9502 .hipGraphClone
9503 .as_ref()
9504 .expect("Expected function, got error."))(pGraphClone, originalGraph)
9505 }
9506 #[doc = " @brief Finds a cloned version of a node.\n\n @param [out] pNode - Returns the cloned node.\n @param [in] originalNode - original node handle.\n @param [in] clonedGraph - Cloned graph to query.\n @returns #hipSuccess, #hipErrorInvalidValue\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues.\n"]
9507 pub unsafe fn hipGraphNodeFindInClone(
9508 &self,
9509 pNode: *mut hipGraphNode_t,
9510 originalNode: hipGraphNode_t,
9511 clonedGraph: hipGraph_t,
9512 ) -> hipError_t {
9513 (self
9514 .hipGraphNodeFindInClone
9515 .as_ref()
9516 .expect("Expected function, got error."))(pNode, originalNode, clonedGraph)
9517 }
9518 #[doc = " @brief Creates an executable graph from a graph\n\n @param [out] pGraphExec - pointer to instantiated executable graph that is created.\n @param [in] graph - instance of graph to instantiate.\n @param [out] pErrorNode - pointer to error node in case error occured in graph instantiation,\n it could modify the correponding node.\n @param [out] pLogBuffer - pointer to log buffer.\n @param [out] bufferSize - the size of log buffer.\n\n @returns #hipSuccess, #hipErrorOutOfMemory\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues.\n"]
9519 pub unsafe fn hipGraphInstantiate(
9520 &self,
9521 pGraphExec: *mut hipGraphExec_t,
9522 graph: hipGraph_t,
9523 pErrorNode: *mut hipGraphNode_t,
9524 pLogBuffer: *mut ::std::os::raw::c_char,
9525 bufferSize: usize,
9526 ) -> hipError_t {
9527 (self
9528 .hipGraphInstantiate
9529 .as_ref()
9530 .expect("Expected function, got error."))(
9531 pGraphExec, graph, pErrorNode, pLogBuffer, bufferSize,
9532 )
9533 }
9534 #[doc = " @brief Creates an executable graph from a graph.\n\n @param [out] pGraphExec - pointer to instantiated executable graph that is created.\n @param [in] graph - instance of graph to instantiate.\n @param [in] flags - Flags to control instantiation.\n @returns #hipSuccess, #hipErrorInvalidValue\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues.\n"]
9535 pub unsafe fn hipGraphInstantiateWithFlags(
9536 &self,
9537 pGraphExec: *mut hipGraphExec_t,
9538 graph: hipGraph_t,
9539 flags: ::std::os::raw::c_ulonglong,
9540 ) -> hipError_t {
9541 (self
9542 .hipGraphInstantiateWithFlags
9543 .as_ref()
9544 .expect("Expected function, got error."))(pGraphExec, graph, flags)
9545 }
9546 #[doc = " @brief launches an executable graph in a stream\n\n @param [in] graphExec - instance of executable graph to launch.\n @param [in] stream - instance of stream in which to launch executable graph.\n @returns #hipSuccess, #hipErrorInvalidValue\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
9547 pub unsafe fn hipGraphLaunch(
9548 &self,
9549 graphExec: hipGraphExec_t,
9550 stream: hipStream_t,
9551 ) -> hipError_t {
9552 (self
9553 .hipGraphLaunch
9554 .as_ref()
9555 .expect("Expected function, got error."))(graphExec, stream)
9556 }
9557 #[doc = " @brief uploads an executable graph in a stream\n\n @param [in] graphExec - instance of executable graph to launch.\n @param [in] stream - instance of stream in which to launch executable graph.\n @returns #hipSuccess, #hipErrorInvalidValue\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
9558 pub unsafe fn hipGraphUpload(
9559 &self,
9560 graphExec: hipGraphExec_t,
9561 stream: hipStream_t,
9562 ) -> hipError_t {
9563 (self
9564 .hipGraphUpload
9565 .as_ref()
9566 .expect("Expected function, got error."))(graphExec, stream)
9567 }
9568 #[doc = " @brief Destroys an executable graph\n\n @param [in] pGraphExec - instance of executable graph to destry.\n\n @returns #hipSuccess.\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
9569 pub unsafe fn hipGraphExecDestroy(&self, graphExec: hipGraphExec_t) -> hipError_t {
9570 (self
9571 .hipGraphExecDestroy
9572 .as_ref()
9573 .expect("Expected function, got error."))(graphExec)
9574 }
9575 #[doc = " @brief Check whether an executable graph can be updated with a graph and perform the update if *\n possible.\n\n @param [in] hGraphExec - instance of executable graph to update.\n @param [in] hGraph - graph that contains the updated parameters.\n @param [in] hErrorNode_out - node which caused the permissibility check to forbid the update.\n @param [in] updateResult_out - Whether the graph update was permitted.\n @returns #hipSuccess, #hipErrorGraphExecUpdateFailure\n\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
9576 pub unsafe fn hipGraphExecUpdate(
9577 &self,
9578 hGraphExec: hipGraphExec_t,
9579 hGraph: hipGraph_t,
9580 hErrorNode_out: *mut hipGraphNode_t,
9581 updateResult_out: *mut hipGraphExecUpdateResult,
9582 ) -> hipError_t {
9583 (self
9584 .hipGraphExecUpdate
9585 .as_ref()
9586 .expect("Expected function, got error."))(
9587 hGraphExec,
9588 hGraph,
9589 hErrorNode_out,
9590 updateResult_out,
9591 )
9592 }
9593 #[doc = " @brief Creates a kernel execution node and adds it to a graph.\n\n @param [out] pGraphNode - pointer to graph node to create.\n @param [in] graph - instance of graph to add the created node.\n @param [in] pDependencies - pointer to the dependencies on the kernel execution node.\n @param [in] numDependencies - the number of the dependencies.\n @param [in] pNodeParams - pointer to the parameters to the kernel execution node on the GPU.\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorInvalidDeviceFunction\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
9594 pub unsafe fn hipGraphAddKernelNode(
9595 &self,
9596 pGraphNode: *mut hipGraphNode_t,
9597 graph: hipGraph_t,
9598 pDependencies: *const hipGraphNode_t,
9599 numDependencies: usize,
9600 pNodeParams: *const hipKernelNodeParams,
9601 ) -> hipError_t {
9602 (self
9603 .hipGraphAddKernelNode
9604 .as_ref()
9605 .expect("Expected function, got error."))(
9606 pGraphNode,
9607 graph,
9608 pDependencies,
9609 numDependencies,
9610 pNodeParams,
9611 )
9612 }
9613 #[doc = " @brief Gets kernel node's parameters.\n\n @param [in] node - instance of the node to get parameters from.\n @param [out] pNodeParams - pointer to the parameters\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
9614 pub unsafe fn hipGraphKernelNodeGetParams(
9615 &self,
9616 node: hipGraphNode_t,
9617 pNodeParams: *mut hipKernelNodeParams,
9618 ) -> hipError_t {
9619 (self
9620 .hipGraphKernelNodeGetParams
9621 .as_ref()
9622 .expect("Expected function, got error."))(node, pNodeParams)
9623 }
9624 #[doc = " @brief Sets a kernel node's parameters.\n\n @param [in] node - instance of the node to set parameters to.\n @param [in] pNodeParams - const pointer to the parameters.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
9625 pub unsafe fn hipGraphKernelNodeSetParams(
9626 &self,
9627 node: hipGraphNode_t,
9628 pNodeParams: *const hipKernelNodeParams,
9629 ) -> hipError_t {
9630 (self
9631 .hipGraphKernelNodeSetParams
9632 .as_ref()
9633 .expect("Expected function, got error."))(node, pNodeParams)
9634 }
9635 #[doc = " @brief Sets the parameters for a kernel node in the given graphExec.\n\n @param [in] hGraphExec - instance of the executable graph with the node.\n @param [in] node - instance of the node to set parameters to.\n @param [in] pNodeParams - const pointer to the kernel node parameters.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
9636 pub unsafe fn hipGraphExecKernelNodeSetParams(
9637 &self,
9638 hGraphExec: hipGraphExec_t,
9639 node: hipGraphNode_t,
9640 pNodeParams: *const hipKernelNodeParams,
9641 ) -> hipError_t {
9642 (self
9643 .hipGraphExecKernelNodeSetParams
9644 .as_ref()
9645 .expect("Expected function, got error."))(hGraphExec, node, pNodeParams)
9646 }
9647 #[doc = " @brief Creates a memcpy node and adds it to a graph.\n\n @param [out] pGraphNode - pointer to graph node to create.\n @param [in] graph - instance of graph to add the created node.\n @param [in] pDependencies - const pointer to the dependencies on the memcpy execution node.\n @param [in] numDependencies - the number of the dependencies.\n @param [in] pCopyParams - const pointer to the parameters for the memory copy.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
9648 pub unsafe fn hipGraphAddMemcpyNode(
9649 &self,
9650 pGraphNode: *mut hipGraphNode_t,
9651 graph: hipGraph_t,
9652 pDependencies: *const hipGraphNode_t,
9653 numDependencies: usize,
9654 pCopyParams: *const hipMemcpy3DParms,
9655 ) -> hipError_t {
9656 (self
9657 .hipGraphAddMemcpyNode
9658 .as_ref()
9659 .expect("Expected function, got error."))(
9660 pGraphNode,
9661 graph,
9662 pDependencies,
9663 numDependencies,
9664 pCopyParams,
9665 )
9666 }
9667 #[doc = " @brief Gets a memcpy node's parameters.\n\n @param [in] node - instance of the node to get parameters from.\n @param [out] pNodeParams - pointer to the parameters.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
9668 pub unsafe fn hipGraphMemcpyNodeGetParams(
9669 &self,
9670 node: hipGraphNode_t,
9671 pNodeParams: *mut hipMemcpy3DParms,
9672 ) -> hipError_t {
9673 (self
9674 .hipGraphMemcpyNodeGetParams
9675 .as_ref()
9676 .expect("Expected function, got error."))(node, pNodeParams)
9677 }
9678 #[doc = " @brief Sets a memcpy node's parameters.\n\n @param [in] node - instance of the node to set parameters to.\n @param [in] pNodeParams - const pointer to the parameters.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
9679 pub unsafe fn hipGraphMemcpyNodeSetParams(
9680 &self,
9681 node: hipGraphNode_t,
9682 pNodeParams: *const hipMemcpy3DParms,
9683 ) -> hipError_t {
9684 (self
9685 .hipGraphMemcpyNodeSetParams
9686 .as_ref()
9687 .expect("Expected function, got error."))(node, pNodeParams)
9688 }
9689 #[doc = " @brief Sets a node attribute.\n\n @param [in] hNode - instance of the node to set parameters to.\n @param [in] attr - the attribute node is set to.\n @param [in] value - const pointer to the parameters.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
9690 pub unsafe fn hipGraphKernelNodeSetAttribute(
9691 &self,
9692 hNode: hipGraphNode_t,
9693 attr: hipKernelNodeAttrID,
9694 value: *const hipKernelNodeAttrValue,
9695 ) -> hipError_t {
9696 (self
9697 .hipGraphKernelNodeSetAttribute
9698 .as_ref()
9699 .expect("Expected function, got error."))(hNode, attr, value)
9700 }
9701 #[doc = " @brief Gets a node attribute.\n\n @param [in] hNode - instance of the node to set parameters to.\n @param [in] attr - the attribute node is set to.\n @param [in] value - const pointer to the parameters.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
9702 pub unsafe fn hipGraphKernelNodeGetAttribute(
9703 &self,
9704 hNode: hipGraphNode_t,
9705 attr: hipKernelNodeAttrID,
9706 value: *mut hipKernelNodeAttrValue,
9707 ) -> hipError_t {
9708 (self
9709 .hipGraphKernelNodeGetAttribute
9710 .as_ref()
9711 .expect("Expected function, got error."))(hNode, attr, value)
9712 }
9713 #[doc = " @brief Sets the parameters for a memcpy node in the given graphExec.\n\n @param [in] hGraphExec - instance of the executable graph with the node.\n @param [in] node - instance of the node to set parameters to.\n @param [in] pNodeParams - const pointer to the kernel node parameters.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
9714 pub unsafe fn hipGraphExecMemcpyNodeSetParams(
9715 &self,
9716 hGraphExec: hipGraphExec_t,
9717 node: hipGraphNode_t,
9718 pNodeParams: *mut hipMemcpy3DParms,
9719 ) -> hipError_t {
9720 (self
9721 .hipGraphExecMemcpyNodeSetParams
9722 .as_ref()
9723 .expect("Expected function, got error."))(hGraphExec, node, pNodeParams)
9724 }
9725 #[doc = " @brief Creates a 1D memcpy node and adds it to a graph.\n\n @param [out] pGraphNode - pointer to graph node to create.\n @param [in] graph - instance of graph to add the created node.\n @param [in] pDependencies - const pointer to the dependencies on the memcpy execution node.\n @param [in] numDependencies - the number of the dependencies.\n @param [in] dst - pointer to memory address to the destination.\n @param [in] src - pointer to memory address to the source.\n @param [in] count - the size of the memory to copy.\n @param [in] kind - the type of memory copy.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
9726 pub unsafe fn hipGraphAddMemcpyNode1D(
9727 &self,
9728 pGraphNode: *mut hipGraphNode_t,
9729 graph: hipGraph_t,
9730 pDependencies: *const hipGraphNode_t,
9731 numDependencies: usize,
9732 dst: *mut ::std::os::raw::c_void,
9733 src: *const ::std::os::raw::c_void,
9734 count: usize,
9735 kind: hipMemcpyKind,
9736 ) -> hipError_t {
9737 (self
9738 .hipGraphAddMemcpyNode1D
9739 .as_ref()
9740 .expect("Expected function, got error."))(
9741 pGraphNode,
9742 graph,
9743 pDependencies,
9744 numDependencies,
9745 dst,
9746 src,
9747 count,
9748 kind,
9749 )
9750 }
9751 #[doc = " @brief Sets a memcpy node's parameters to perform a 1-dimensional copy.\n\n @param [in] node - instance of the node to set parameters to.\n @param [in] dst - pointer to memory address to the destination.\n @param [in] src - pointer to memory address to the source.\n @param [in] count - the size of the memory to copy.\n @param [in] kind - the type of memory copy.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
9752 pub unsafe fn hipGraphMemcpyNodeSetParams1D(
9753 &self,
9754 node: hipGraphNode_t,
9755 dst: *mut ::std::os::raw::c_void,
9756 src: *const ::std::os::raw::c_void,
9757 count: usize,
9758 kind: hipMemcpyKind,
9759 ) -> hipError_t {
9760 (self
9761 .hipGraphMemcpyNodeSetParams1D
9762 .as_ref()
9763 .expect("Expected function, got error."))(node, dst, src, count, kind)
9764 }
9765 #[doc = " @brief Sets the parameters for a memcpy node in the given graphExec to perform a 1-dimensional\n copy.\n\n @param [in] hGraphExec - instance of the executable graph with the node.\n @param [in] node - instance of the node to set parameters to.\n @param [in] dst - pointer to memory address to the destination.\n @param [in] src - pointer to memory address to the source.\n @param [in] count - the size of the memory to copy.\n @param [in] kind - the type of memory copy.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
9766 pub unsafe fn hipGraphExecMemcpyNodeSetParams1D(
9767 &self,
9768 hGraphExec: hipGraphExec_t,
9769 node: hipGraphNode_t,
9770 dst: *mut ::std::os::raw::c_void,
9771 src: *const ::std::os::raw::c_void,
9772 count: usize,
9773 kind: hipMemcpyKind,
9774 ) -> hipError_t {
9775 (self
9776 .hipGraphExecMemcpyNodeSetParams1D
9777 .as_ref()
9778 .expect("Expected function, got error."))(
9779 hGraphExec, node, dst, src, count, kind
9780 )
9781 }
9782 #[doc = " @brief Creates a memcpy node to copy from a symbol on the device and adds it to a graph.\n\n @param [out] pGraphNode - pointer to graph node to create.\n @param [in] graph - instance of graph to add the created node.\n @param [in] pDependencies - const pointer to the dependencies on the memcpy execution node.\n @param [in] numDependencies - the number of the dependencies.\n @param [in] dst - pointer to memory address to the destination.\n @param [in] symbol - Device symbol address.\n @param [in] count - the size of the memory to copy.\n @param [in] offset - Offset from start of symbol in bytes.\n @param [in] kind - the type of memory copy.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
9783 pub unsafe fn hipGraphAddMemcpyNodeFromSymbol(
9784 &self,
9785 pGraphNode: *mut hipGraphNode_t,
9786 graph: hipGraph_t,
9787 pDependencies: *const hipGraphNode_t,
9788 numDependencies: usize,
9789 dst: *mut ::std::os::raw::c_void,
9790 symbol: *const ::std::os::raw::c_void,
9791 count: usize,
9792 offset: usize,
9793 kind: hipMemcpyKind,
9794 ) -> hipError_t {
9795 (self
9796 .hipGraphAddMemcpyNodeFromSymbol
9797 .as_ref()
9798 .expect("Expected function, got error."))(
9799 pGraphNode,
9800 graph,
9801 pDependencies,
9802 numDependencies,
9803 dst,
9804 symbol,
9805 count,
9806 offset,
9807 kind,
9808 )
9809 }
9810 #[doc = " @brief Sets a memcpy node's parameters to copy from a symbol on the device.\n\n @param [in] node - instance of the node to set parameters to.\n @param [in] dst - pointer to memory address to the destination.\n @param [in] symbol - Device symbol address.\n @param [in] count - the size of the memory to copy.\n @param [in] offset - Offset from start of symbol in bytes.\n @param [in] kind - the type of memory copy.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
9811 pub unsafe fn hipGraphMemcpyNodeSetParamsFromSymbol(
9812 &self,
9813 node: hipGraphNode_t,
9814 dst: *mut ::std::os::raw::c_void,
9815 symbol: *const ::std::os::raw::c_void,
9816 count: usize,
9817 offset: usize,
9818 kind: hipMemcpyKind,
9819 ) -> hipError_t {
9820 (self
9821 .hipGraphMemcpyNodeSetParamsFromSymbol
9822 .as_ref()
9823 .expect("Expected function, got error."))(node, dst, symbol, count, offset, kind)
9824 }
9825 #[doc = " @brief Sets the parameters for a memcpy node in the given graphExec to copy from a symbol on the\n * device.\n\n @param [in] hGraphExec - instance of the executable graph with the node.\n @param [in] node - instance of the node to set parameters to.\n @param [in] dst - pointer to memory address to the destination.\n @param [in] symbol - Device symbol address.\n @param [in] count - the size of the memory to copy.\n @param [in] offset - Offset from start of symbol in bytes.\n @param [in] kind - the type of memory copy.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
9826 pub unsafe fn hipGraphExecMemcpyNodeSetParamsFromSymbol(
9827 &self,
9828 hGraphExec: hipGraphExec_t,
9829 node: hipGraphNode_t,
9830 dst: *mut ::std::os::raw::c_void,
9831 symbol: *const ::std::os::raw::c_void,
9832 count: usize,
9833 offset: usize,
9834 kind: hipMemcpyKind,
9835 ) -> hipError_t {
9836 (self
9837 .hipGraphExecMemcpyNodeSetParamsFromSymbol
9838 .as_ref()
9839 .expect("Expected function, got error."))(
9840 hGraphExec, node, dst, symbol, count, offset, kind,
9841 )
9842 }
9843 #[doc = " @brief Creates a memcpy node to copy to a symbol on the device and adds it to a graph.\n\n @param [out] pGraphNode - pointer to graph node to create.\n @param [in] graph - instance of graph to add the created node.\n @param [in] pDependencies - const pointer to the dependencies on the memcpy execution node.\n @param [in] numDependencies - the number of the dependencies.\n @param [in] symbol - Device symbol address.\n @param [in] src - pointer to memory address of the src.\n @param [in] count - the size of the memory to copy.\n @param [in] offset - Offset from start of symbol in bytes.\n @param [in] kind - the type of memory copy.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
9844 pub unsafe fn hipGraphAddMemcpyNodeToSymbol(
9845 &self,
9846 pGraphNode: *mut hipGraphNode_t,
9847 graph: hipGraph_t,
9848 pDependencies: *const hipGraphNode_t,
9849 numDependencies: usize,
9850 symbol: *const ::std::os::raw::c_void,
9851 src: *const ::std::os::raw::c_void,
9852 count: usize,
9853 offset: usize,
9854 kind: hipMemcpyKind,
9855 ) -> hipError_t {
9856 (self
9857 .hipGraphAddMemcpyNodeToSymbol
9858 .as_ref()
9859 .expect("Expected function, got error."))(
9860 pGraphNode,
9861 graph,
9862 pDependencies,
9863 numDependencies,
9864 symbol,
9865 src,
9866 count,
9867 offset,
9868 kind,
9869 )
9870 }
9871 #[doc = " @brief Sets a memcpy node's parameters to copy to a symbol on the device.\n\n @param [in] node - instance of the node to set parameters to.\n @param [in] symbol - Device symbol address.\n @param [in] src - pointer to memory address of the src.\n @param [in] count - the size of the memory to copy.\n @param [in] offset - Offset from start of symbol in bytes.\n @param [in] kind - the type of memory copy.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
9872 pub unsafe fn hipGraphMemcpyNodeSetParamsToSymbol(
9873 &self,
9874 node: hipGraphNode_t,
9875 symbol: *const ::std::os::raw::c_void,
9876 src: *const ::std::os::raw::c_void,
9877 count: usize,
9878 offset: usize,
9879 kind: hipMemcpyKind,
9880 ) -> hipError_t {
9881 (self
9882 .hipGraphMemcpyNodeSetParamsToSymbol
9883 .as_ref()
9884 .expect("Expected function, got error."))(node, symbol, src, count, offset, kind)
9885 }
9886 #[doc = " @brief Sets the parameters for a memcpy node in the given graphExec to copy to a symbol on the\n device.\n @param [in] hGraphExec - instance of the executable graph with the node.\n @param [in] node - instance of the node to set parameters to.\n @param [in] symbol - Device symbol address.\n @param [in] src - pointer to memory address of the src.\n @param [in] count - the size of the memory to copy.\n @param [in] offset - Offset from start of symbol in bytes.\n @param [in] kind - the type of memory copy.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
9887 pub unsafe fn hipGraphExecMemcpyNodeSetParamsToSymbol(
9888 &self,
9889 hGraphExec: hipGraphExec_t,
9890 node: hipGraphNode_t,
9891 symbol: *const ::std::os::raw::c_void,
9892 src: *const ::std::os::raw::c_void,
9893 count: usize,
9894 offset: usize,
9895 kind: hipMemcpyKind,
9896 ) -> hipError_t {
9897 (self
9898 .hipGraphExecMemcpyNodeSetParamsToSymbol
9899 .as_ref()
9900 .expect("Expected function, got error."))(
9901 hGraphExec, node, symbol, src, count, offset, kind,
9902 )
9903 }
9904 #[doc = " @brief Creates a memset node and adds it to a graph.\n\n @param [out] pGraphNode - pointer to the graph node to create.\n @param [in] graph - instance of the graph to add the created node.\n @param [in] pDependencies - const pointer to the dependencies on the memset execution node.\n @param [in] numDependencies - the number of the dependencies.\n @param [in] pMemsetParams - const pointer to the parameters for the memory set.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
9905 pub unsafe fn hipGraphAddMemsetNode(
9906 &self,
9907 pGraphNode: *mut hipGraphNode_t,
9908 graph: hipGraph_t,
9909 pDependencies: *const hipGraphNode_t,
9910 numDependencies: usize,
9911 pMemsetParams: *const hipMemsetParams,
9912 ) -> hipError_t {
9913 (self
9914 .hipGraphAddMemsetNode
9915 .as_ref()
9916 .expect("Expected function, got error."))(
9917 pGraphNode,
9918 graph,
9919 pDependencies,
9920 numDependencies,
9921 pMemsetParams,
9922 )
9923 }
9924 #[doc = " @brief Gets a memset node's parameters.\n\n @param [in] node - instane of the node to get parameters from.\n @param [out] pNodeParams - pointer to the parameters.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
9925 pub unsafe fn hipGraphMemsetNodeGetParams(
9926 &self,
9927 node: hipGraphNode_t,
9928 pNodeParams: *mut hipMemsetParams,
9929 ) -> hipError_t {
9930 (self
9931 .hipGraphMemsetNodeGetParams
9932 .as_ref()
9933 .expect("Expected function, got error."))(node, pNodeParams)
9934 }
9935 #[doc = " @brief Sets a memset node's parameters.\n\n @param [in] node - instance of the node to set parameters to.\n @param [in] pNodeParams - pointer to the parameters.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
9936 pub unsafe fn hipGraphMemsetNodeSetParams(
9937 &self,
9938 node: hipGraphNode_t,
9939 pNodeParams: *const hipMemsetParams,
9940 ) -> hipError_t {
9941 (self
9942 .hipGraphMemsetNodeSetParams
9943 .as_ref()
9944 .expect("Expected function, got error."))(node, pNodeParams)
9945 }
9946 #[doc = " @brief Sets the parameters for a memset node in the given graphExec.\n\n @param [in] hGraphExec - instance of the executable graph with the node.\n @param [in] node - instance of the node to set parameters to.\n @param [in] pNodeParams - pointer to the parameters.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
9947 pub unsafe fn hipGraphExecMemsetNodeSetParams(
9948 &self,
9949 hGraphExec: hipGraphExec_t,
9950 node: hipGraphNode_t,
9951 pNodeParams: *const hipMemsetParams,
9952 ) -> hipError_t {
9953 (self
9954 .hipGraphExecMemsetNodeSetParams
9955 .as_ref()
9956 .expect("Expected function, got error."))(hGraphExec, node, pNodeParams)
9957 }
9958 #[doc = " @brief Creates a host execution node and adds it to a graph.\n\n @param [out] pGraphNode - pointer to the graph node to create.\n @param [in] graph - instance of the graph to add the created node.\n @param [in] pDependencies - const pointer to the dependencies on the memset execution node.\n @param [in] numDependencies - the number of the dependencies.\n @param [in] pNodeParams -pointer to the parameters.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
9959 pub unsafe fn hipGraphAddHostNode(
9960 &self,
9961 pGraphNode: *mut hipGraphNode_t,
9962 graph: hipGraph_t,
9963 pDependencies: *const hipGraphNode_t,
9964 numDependencies: usize,
9965 pNodeParams: *const hipHostNodeParams,
9966 ) -> hipError_t {
9967 (self
9968 .hipGraphAddHostNode
9969 .as_ref()
9970 .expect("Expected function, got error."))(
9971 pGraphNode,
9972 graph,
9973 pDependencies,
9974 numDependencies,
9975 pNodeParams,
9976 )
9977 }
9978 #[doc = " @brief Returns a host node's parameters.\n\n @param [in] node - instane of the node to get parameters from.\n @param [out] pNodeParams - pointer to the parameters.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
9979 pub unsafe fn hipGraphHostNodeGetParams(
9980 &self,
9981 node: hipGraphNode_t,
9982 pNodeParams: *mut hipHostNodeParams,
9983 ) -> hipError_t {
9984 (self
9985 .hipGraphHostNodeGetParams
9986 .as_ref()
9987 .expect("Expected function, got error."))(node, pNodeParams)
9988 }
9989 #[doc = " @brief Sets a host node's parameters.\n\n @param [in] node - instance of the node to set parameters to.\n @param [in] pNodeParams - pointer to the parameters.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
9990 pub unsafe fn hipGraphHostNodeSetParams(
9991 &self,
9992 node: hipGraphNode_t,
9993 pNodeParams: *const hipHostNodeParams,
9994 ) -> hipError_t {
9995 (self
9996 .hipGraphHostNodeSetParams
9997 .as_ref()
9998 .expect("Expected function, got error."))(node, pNodeParams)
9999 }
10000 #[doc = " @brief Sets the parameters for a host node in the given graphExec.\n\n @param [in] hGraphExec - instance of the executable graph with the node.\n @param [in] node - instance of the node to set parameters to.\n @param [in] pNodeParams - pointer to the parameters.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10001 pub unsafe fn hipGraphExecHostNodeSetParams(
10002 &self,
10003 hGraphExec: hipGraphExec_t,
10004 node: hipGraphNode_t,
10005 pNodeParams: *const hipHostNodeParams,
10006 ) -> hipError_t {
10007 (self
10008 .hipGraphExecHostNodeSetParams
10009 .as_ref()
10010 .expect("Expected function, got error."))(hGraphExec, node, pNodeParams)
10011 }
10012 #[doc = " @brief Creates a child graph node and adds it to a graph.\n\n @param [out] pGraphNode - pointer to the graph node to create.\n @param [in] graph - instance of the graph to add the created node.\n @param [in] pDependencies - const pointer to the dependencies on the memset execution node.\n @param [in] numDependencies - the number of the dependencies.\n @param [in] childGraph - the graph to clone into this node\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10013 pub unsafe fn hipGraphAddChildGraphNode(
10014 &self,
10015 pGraphNode: *mut hipGraphNode_t,
10016 graph: hipGraph_t,
10017 pDependencies: *const hipGraphNode_t,
10018 numDependencies: usize,
10019 childGraph: hipGraph_t,
10020 ) -> hipError_t {
10021 (self
10022 .hipGraphAddChildGraphNode
10023 .as_ref()
10024 .expect("Expected function, got error."))(
10025 pGraphNode,
10026 graph,
10027 pDependencies,
10028 numDependencies,
10029 childGraph,
10030 )
10031 }
10032 #[doc = " @brief Gets a handle to the embedded graph of a child graph node.\n\n @param [in] node - instane of the node to get child graph.\n @param [out] pGraph - pointer to get the graph.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10033 pub unsafe fn hipGraphChildGraphNodeGetGraph(
10034 &self,
10035 node: hipGraphNode_t,
10036 pGraph: *mut hipGraph_t,
10037 ) -> hipError_t {
10038 (self
10039 .hipGraphChildGraphNodeGetGraph
10040 .as_ref()
10041 .expect("Expected function, got error."))(node, pGraph)
10042 }
10043 #[doc = " @brief Updates node parameters in the child graph node in the given graphExec.\n\n @param [in] hGraphExec - instance of the executable graph with the node.\n @param [in] node - node from the graph which was used to instantiate graphExec.\n @param [in] childGraph - child graph with updated parameters.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10044 pub unsafe fn hipGraphExecChildGraphNodeSetParams(
10045 &self,
10046 hGraphExec: hipGraphExec_t,
10047 node: hipGraphNode_t,
10048 childGraph: hipGraph_t,
10049 ) -> hipError_t {
10050 (self
10051 .hipGraphExecChildGraphNodeSetParams
10052 .as_ref()
10053 .expect("Expected function, got error."))(hGraphExec, node, childGraph)
10054 }
10055 #[doc = " @brief Creates an empty node and adds it to a graph.\n\n @param [out] pGraphNode - pointer to the graph node to create and add to the graph.\n @param [in] graph - instane of the graph the node is add to.\n @param [in] pDependencies - const pointer to the node dependenties.\n @param [in] numDependencies - the number of dependencies.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10056 pub unsafe fn hipGraphAddEmptyNode(
10057 &self,
10058 pGraphNode: *mut hipGraphNode_t,
10059 graph: hipGraph_t,
10060 pDependencies: *const hipGraphNode_t,
10061 numDependencies: usize,
10062 ) -> hipError_t {
10063 (self
10064 .hipGraphAddEmptyNode
10065 .as_ref()
10066 .expect("Expected function, got error."))(
10067 pGraphNode,
10068 graph,
10069 pDependencies,
10070 numDependencies,
10071 )
10072 }
10073 #[doc = " @brief Creates an event record node and adds it to a graph.\n\n @param [out] pGraphNode - pointer to the graph node to create and add to the graph.\n @param [in] graph - instane of the graph the node to be added.\n @param [in] pDependencies - const pointer to the node dependenties.\n @param [in] numDependencies - the number of dependencies.\n @param [in] event - Event for the node.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10074 pub unsafe fn hipGraphAddEventRecordNode(
10075 &self,
10076 pGraphNode: *mut hipGraphNode_t,
10077 graph: hipGraph_t,
10078 pDependencies: *const hipGraphNode_t,
10079 numDependencies: usize,
10080 event: hipEvent_t,
10081 ) -> hipError_t {
10082 (self
10083 .hipGraphAddEventRecordNode
10084 .as_ref()
10085 .expect("Expected function, got error."))(
10086 pGraphNode,
10087 graph,
10088 pDependencies,
10089 numDependencies,
10090 event,
10091 )
10092 }
10093 #[doc = " @brief Returns the event associated with an event record node.\n\n @param [in] node - instane of the node to get event from.\n @param [out] event_out - Pointer to return the event.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10094 pub unsafe fn hipGraphEventRecordNodeGetEvent(
10095 &self,
10096 node: hipGraphNode_t,
10097 event_out: *mut hipEvent_t,
10098 ) -> hipError_t {
10099 (self
10100 .hipGraphEventRecordNodeGetEvent
10101 .as_ref()
10102 .expect("Expected function, got error."))(node, event_out)
10103 }
10104 #[doc = " @brief Sets an event record node's event.\n\n @param [in] node - instane of the node to set event to.\n @param [in] event - pointer to the event.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10105 pub unsafe fn hipGraphEventRecordNodeSetEvent(
10106 &self,
10107 node: hipGraphNode_t,
10108 event: hipEvent_t,
10109 ) -> hipError_t {
10110 (self
10111 .hipGraphEventRecordNodeSetEvent
10112 .as_ref()
10113 .expect("Expected function, got error."))(node, event)
10114 }
10115 #[doc = " @brief Sets the event for an event record node in the given graphExec.\n\n @param [in] hGraphExec - instance of the executable graph with the node.\n @param [in] hNode - node from the graph which was used to instantiate graphExec.\n @param [in] event - pointer to the event.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10116 pub unsafe fn hipGraphExecEventRecordNodeSetEvent(
10117 &self,
10118 hGraphExec: hipGraphExec_t,
10119 hNode: hipGraphNode_t,
10120 event: hipEvent_t,
10121 ) -> hipError_t {
10122 (self
10123 .hipGraphExecEventRecordNodeSetEvent
10124 .as_ref()
10125 .expect("Expected function, got error."))(hGraphExec, hNode, event)
10126 }
10127 #[doc = " @brief Creates an event wait node and adds it to a graph.\n\n @param [out] pGraphNode - pointer to the graph node to create and add to the graph.\n @param [in] graph - instane of the graph the node to be added.\n @param [in] pDependencies - const pointer to the node dependenties.\n @param [in] numDependencies - the number of dependencies.\n @param [in] event - Event for the node.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10128 pub unsafe fn hipGraphAddEventWaitNode(
10129 &self,
10130 pGraphNode: *mut hipGraphNode_t,
10131 graph: hipGraph_t,
10132 pDependencies: *const hipGraphNode_t,
10133 numDependencies: usize,
10134 event: hipEvent_t,
10135 ) -> hipError_t {
10136 (self
10137 .hipGraphAddEventWaitNode
10138 .as_ref()
10139 .expect("Expected function, got error."))(
10140 pGraphNode,
10141 graph,
10142 pDependencies,
10143 numDependencies,
10144 event,
10145 )
10146 }
10147 #[doc = " @brief Returns the event associated with an event wait node.\n\n @param [in] node - instane of the node to get event from.\n @param [out] event_out - Pointer to return the event.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10148 pub unsafe fn hipGraphEventWaitNodeGetEvent(
10149 &self,
10150 node: hipGraphNode_t,
10151 event_out: *mut hipEvent_t,
10152 ) -> hipError_t {
10153 (self
10154 .hipGraphEventWaitNodeGetEvent
10155 .as_ref()
10156 .expect("Expected function, got error."))(node, event_out)
10157 }
10158 #[doc = " @brief Sets an event wait node's event.\n\n @param [in] node - instane of the node to set event to.\n @param [in] event - pointer to the event.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10159 pub unsafe fn hipGraphEventWaitNodeSetEvent(
10160 &self,
10161 node: hipGraphNode_t,
10162 event: hipEvent_t,
10163 ) -> hipError_t {
10164 (self
10165 .hipGraphEventWaitNodeSetEvent
10166 .as_ref()
10167 .expect("Expected function, got error."))(node, event)
10168 }
10169 #[doc = " @brief Sets the event for an event record node in the given graphExec.\n\n @param [in] hGraphExec - instance of the executable graph with the node.\n @param [in] hNode - node from the graph which was used to instantiate graphExec.\n @param [in] event - pointer to the event.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10170 pub unsafe fn hipGraphExecEventWaitNodeSetEvent(
10171 &self,
10172 hGraphExec: hipGraphExec_t,
10173 hNode: hipGraphNode_t,
10174 event: hipEvent_t,
10175 ) -> hipError_t {
10176 (self
10177 .hipGraphExecEventWaitNodeSetEvent
10178 .as_ref()
10179 .expect("Expected function, got error."))(hGraphExec, hNode, event)
10180 }
10181 #[doc = " @brief Get the mem attribute for graphs.\n\n @param [in] device - device the attr is get for.\n @param [in] attr - attr to get.\n @param [out] value - value for specific attr.\n @returns #hipSuccess, #hipErrorInvalidDevice\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10182 pub unsafe fn hipDeviceGetGraphMemAttribute(
10183 &self,
10184 device: ::std::os::raw::c_int,
10185 attr: hipGraphMemAttributeType,
10186 value: *mut ::std::os::raw::c_void,
10187 ) -> hipError_t {
10188 (self
10189 .hipDeviceGetGraphMemAttribute
10190 .as_ref()
10191 .expect("Expected function, got error."))(device, attr, value)
10192 }
10193 #[doc = " @brief Set the mem attribute for graphs.\n\n @param [in] device - device the attr is set for.\n @param [in] attr - attr to set.\n @param [in] value - value for specific attr.\n @returns #hipSuccess, #hipErrorInvalidDevice\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10194 pub unsafe fn hipDeviceSetGraphMemAttribute(
10195 &self,
10196 device: ::std::os::raw::c_int,
10197 attr: hipGraphMemAttributeType,
10198 value: *mut ::std::os::raw::c_void,
10199 ) -> hipError_t {
10200 (self
10201 .hipDeviceSetGraphMemAttribute
10202 .as_ref()
10203 .expect("Expected function, got error."))(device, attr, value)
10204 }
10205 #[doc = " @brief Free unused memory on specific device used for graph back to OS.\n\n @param [in] device - device the memory is used for graphs\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10206 pub unsafe fn hipDeviceGraphMemTrim(&self, device: ::std::os::raw::c_int) -> hipError_t {
10207 (self
10208 .hipDeviceGraphMemTrim
10209 .as_ref()
10210 .expect("Expected function, got error."))(device)
10211 }
10212 #[doc = " @brief Create an instance of userObject to manage lifetime of a resource.\n\n @param [out] object_out - pointer to instace of userobj.\n @param [in] ptr - pointer to pass to destroy function.\n @param [in] destroy - destroy callback to remove resource.\n @param [in] initialRefcount - reference to resource.\n @param [in] flags - flags passed to API.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10213 pub unsafe fn hipUserObjectCreate(
10214 &self,
10215 object_out: *mut hipUserObject_t,
10216 ptr: *mut ::std::os::raw::c_void,
10217 destroy: hipHostFn_t,
10218 initialRefcount: ::std::os::raw::c_uint,
10219 flags: ::std::os::raw::c_uint,
10220 ) -> hipError_t {
10221 (self
10222 .hipUserObjectCreate
10223 .as_ref()
10224 .expect("Expected function, got error."))(
10225 object_out,
10226 ptr,
10227 destroy,
10228 initialRefcount,
10229 flags,
10230 )
10231 }
10232 #[doc = " @brief Release number of references to resource.\n\n @param [in] object - pointer to instace of userobj.\n @param [in] count - reference to resource to be retained.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10233 pub unsafe fn hipUserObjectRelease(
10234 &self,
10235 object: hipUserObject_t,
10236 count: ::std::os::raw::c_uint,
10237 ) -> hipError_t {
10238 (self
10239 .hipUserObjectRelease
10240 .as_ref()
10241 .expect("Expected function, got error."))(object, count)
10242 }
10243 #[doc = " @brief Retain number of references to resource.\n\n @param [in] object - pointer to instace of userobj.\n @param [in] count - reference to resource to be retained.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10244 pub unsafe fn hipUserObjectRetain(
10245 &self,
10246 object: hipUserObject_t,
10247 count: ::std::os::raw::c_uint,
10248 ) -> hipError_t {
10249 (self
10250 .hipUserObjectRetain
10251 .as_ref()
10252 .expect("Expected function, got error."))(object, count)
10253 }
10254 #[doc = " @brief Retain user object for graphs.\n\n @param [in] graph - pointer to graph to retain the user object for.\n @param [in] object - pointer to instace of userobj.\n @param [in] count - reference to resource to be retained.\n @param [in] flags - flags passed to API.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10255 pub unsafe fn hipGraphRetainUserObject(
10256 &self,
10257 graph: hipGraph_t,
10258 object: hipUserObject_t,
10259 count: ::std::os::raw::c_uint,
10260 flags: ::std::os::raw::c_uint,
10261 ) -> hipError_t {
10262 (self
10263 .hipGraphRetainUserObject
10264 .as_ref()
10265 .expect("Expected function, got error."))(graph, object, count, flags)
10266 }
10267 #[doc = " @brief Release user object from graphs.\n\n @param [in] graph - pointer to graph to retain the user object for.\n @param [in] object - pointer to instace of userobj.\n @param [in] count - reference to resource to be retained.\n @returns #hipSuccess, #hipErrorInvalidValue\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10268 pub unsafe fn hipGraphReleaseUserObject(
10269 &self,
10270 graph: hipGraph_t,
10271 object: hipUserObject_t,
10272 count: ::std::os::raw::c_uint,
10273 ) -> hipError_t {
10274 (self
10275 .hipGraphReleaseUserObject
10276 .as_ref()
10277 .expect("Expected function, got error."))(graph, object, count)
10278 }
10279 #[doc = " @brief Frees an address range reservation made via hipMemAddressReserve\n\n @param [in] devPtr - starting address of the range.\n @param [in] size - size of the range.\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorNotSupported\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10280 pub unsafe fn hipMemAddressFree(
10281 &self,
10282 devPtr: *mut ::std::os::raw::c_void,
10283 size: usize,
10284 ) -> hipError_t {
10285 (self
10286 .hipMemAddressFree
10287 .as_ref()
10288 .expect("Expected function, got error."))(devPtr, size)
10289 }
10290 #[doc = " @brief Reserves an address range\n\n @param [out] ptr - starting address of the reserved range.\n @param [in] size - size of the reservation.\n @param [in] alignment - alignment of the address.\n @param [in] addr - requested starting address of the range.\n @param [in] flags - currently unused, must be zero.\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorNotSupported\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10291 pub unsafe fn hipMemAddressReserve(
10292 &self,
10293 ptr: *mut *mut ::std::os::raw::c_void,
10294 size: usize,
10295 alignment: usize,
10296 addr: *mut ::std::os::raw::c_void,
10297 flags: ::std::os::raw::c_ulonglong,
10298 ) -> hipError_t {
10299 (self
10300 .hipMemAddressReserve
10301 .as_ref()
10302 .expect("Expected function, got error."))(ptr, size, alignment, addr, flags)
10303 }
10304 #[doc = " @brief Creates a memory allocation described by the properties and size\n\n @param [out] handle - value of the returned handle.\n @param [in] size - size of the allocation.\n @param [in] prop - properties of the allocation.\n @param [in] flags - currently unused, must be zero.\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorNotSupported\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10305 pub unsafe fn hipMemCreate(
10306 &self,
10307 handle: *mut hipMemGenericAllocationHandle_t,
10308 size: usize,
10309 prop: *const hipMemAllocationProp,
10310 flags: ::std::os::raw::c_ulonglong,
10311 ) -> hipError_t {
10312 (self
10313 .hipMemCreate
10314 .as_ref()
10315 .expect("Expected function, got error."))(handle, size, prop, flags)
10316 }
10317 #[doc = " @brief Exports an allocation to a requested shareable handle type.\n\n @param [out] shareableHandle - value of the returned handle.\n @param [in] handle - handle to share.\n @param [in] handleType - type of the shareable handle.\n @param [in] flags - currently unused, must be zero.\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorNotSupported\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10318 pub unsafe fn hipMemExportToShareableHandle(
10319 &self,
10320 shareableHandle: *mut ::std::os::raw::c_void,
10321 handle: hipMemGenericAllocationHandle_t,
10322 handleType: hipMemAllocationHandleType,
10323 flags: ::std::os::raw::c_ulonglong,
10324 ) -> hipError_t {
10325 (self
10326 .hipMemExportToShareableHandle
10327 .as_ref()
10328 .expect("Expected function, got error."))(
10329 shareableHandle, handle, handleType, flags
10330 )
10331 }
10332 #[doc = " @brief Get the access flags set for the given location and ptr.\n\n @param [out] flags - flags for this location.\n @param [in] location - target location.\n @param [in] ptr - address to check the access flags.\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorNotSupported\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10333 pub unsafe fn hipMemGetAccess(
10334 &self,
10335 flags: *mut ::std::os::raw::c_ulonglong,
10336 location: *const hipMemLocation,
10337 ptr: *mut ::std::os::raw::c_void,
10338 ) -> hipError_t {
10339 (self
10340 .hipMemGetAccess
10341 .as_ref()
10342 .expect("Expected function, got error."))(flags, location, ptr)
10343 }
10344 #[doc = " @brief Calculates either the minimal or recommended granularity.\n\n @param [out] granularity - returned granularity.\n @param [in] prop - location properties.\n @param [in] option - determines which granularity to return.\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorNotSupported\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10345 pub unsafe fn hipMemGetAllocationGranularity(
10346 &self,
10347 granularity: *mut usize,
10348 prop: *const hipMemAllocationProp,
10349 option: hipMemAllocationGranularity_flags,
10350 ) -> hipError_t {
10351 (self
10352 .hipMemGetAllocationGranularity
10353 .as_ref()
10354 .expect("Expected function, got error."))(granularity, prop, option)
10355 }
10356 #[doc = " @brief Retrieve the property structure of the given handle.\n\n @param [out] prop - properties of the given handle.\n @param [in] handle - handle to perform the query on.\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorNotSupported\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10357 pub unsafe fn hipMemGetAllocationPropertiesFromHandle(
10358 &self,
10359 prop: *mut hipMemAllocationProp,
10360 handle: hipMemGenericAllocationHandle_t,
10361 ) -> hipError_t {
10362 (self
10363 .hipMemGetAllocationPropertiesFromHandle
10364 .as_ref()
10365 .expect("Expected function, got error."))(prop, handle)
10366 }
10367 #[doc = " @brief Imports an allocation from a requested shareable handle type.\n\n @param [out] handle - returned value.\n @param [in] osHandle - shareable handle representing the memory allocation.\n @param [in] shHandleType - handle type.\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorNotSupported\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10368 pub unsafe fn hipMemImportFromShareableHandle(
10369 &self,
10370 handle: *mut hipMemGenericAllocationHandle_t,
10371 osHandle: *mut ::std::os::raw::c_void,
10372 shHandleType: hipMemAllocationHandleType,
10373 ) -> hipError_t {
10374 (self
10375 .hipMemImportFromShareableHandle
10376 .as_ref()
10377 .expect("Expected function, got error."))(handle, osHandle, shHandleType)
10378 }
10379 #[doc = " @brief Maps an allocation handle to a reserved virtual address range.\n\n @param [in] ptr - address where the memory will be mapped.\n @param [in] size - size of the mapping.\n @param [in] offset - offset into the memory, currently must be zero.\n @param [in] handle - memory allocation to be mapped.\n @param [in] flags - currently unused, must be zero.\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorNotSupported\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10380 pub unsafe fn hipMemMap(
10381 &self,
10382 ptr: *mut ::std::os::raw::c_void,
10383 size: usize,
10384 offset: usize,
10385 handle: hipMemGenericAllocationHandle_t,
10386 flags: ::std::os::raw::c_ulonglong,
10387 ) -> hipError_t {
10388 (self
10389 .hipMemMap
10390 .as_ref()
10391 .expect("Expected function, got error."))(ptr, size, offset, handle, flags)
10392 }
10393 #[doc = " @brief Maps or unmaps subregions of sparse HIP arrays and sparse HIP mipmapped arrays.\n\n @param [in] mapInfoList - list of hipArrayMapInfo.\n @param [in] count - number of hipArrayMapInfo in mapInfoList.\n @param [in] stream - stream identifier for the stream to use for map or unmap operations.\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorNotSupported\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10394 pub unsafe fn hipMemMapArrayAsync(
10395 &self,
10396 mapInfoList: *mut hipArrayMapInfo,
10397 count: ::std::os::raw::c_uint,
10398 stream: hipStream_t,
10399 ) -> hipError_t {
10400 (self
10401 .hipMemMapArrayAsync
10402 .as_ref()
10403 .expect("Expected function, got error."))(mapInfoList, count, stream)
10404 }
10405 #[doc = " @brief Release a memory handle representing a memory allocation which was previously allocated through hipMemCreate.\n\n @param [in] handle - handle of the memory allocation.\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorNotSupported\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10406 pub unsafe fn hipMemRelease(&self, handle: hipMemGenericAllocationHandle_t) -> hipError_t {
10407 (self
10408 .hipMemRelease
10409 .as_ref()
10410 .expect("Expected function, got error."))(handle)
10411 }
10412 #[doc = " @brief Returns the allocation handle of the backing memory allocation given the address.\n\n @param [out] handle - handle representing addr.\n @param [in] addr - address to look up.\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorNotSupported\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10413 pub unsafe fn hipMemRetainAllocationHandle(
10414 &self,
10415 handle: *mut hipMemGenericAllocationHandle_t,
10416 addr: *mut ::std::os::raw::c_void,
10417 ) -> hipError_t {
10418 (self
10419 .hipMemRetainAllocationHandle
10420 .as_ref()
10421 .expect("Expected function, got error."))(handle, addr)
10422 }
10423 #[doc = " @brief Set the access flags for each location specified in desc for the given virtual address range.\n\n @param [in] ptr - starting address of the virtual address range.\n @param [in] size - size of the range.\n @param [in] desc - array of hipMemAccessDesc.\n @param [in] count - number of hipMemAccessDesc in desc.\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorNotSupported\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10424 pub unsafe fn hipMemSetAccess(
10425 &self,
10426 ptr: *mut ::std::os::raw::c_void,
10427 size: usize,
10428 desc: *const hipMemAccessDesc,
10429 count: usize,
10430 ) -> hipError_t {
10431 (self
10432 .hipMemSetAccess
10433 .as_ref()
10434 .expect("Expected function, got error."))(ptr, size, desc, count)
10435 }
10436 #[doc = " @brief Unmap memory allocation of a given address range.\n\n @param [in] ptr - starting address of the range to unmap.\n @param [in] size - size of the virtual address range.\n @returns #hipSuccess, #hipErrorInvalidValue, #hipErrorNotSupported\n @warning : This API is marked as beta, meaning, while this is feature complete,\n it is still open to changes and may have outstanding issues."]
10437 pub unsafe fn hipMemUnmap(&self, ptr: *mut ::std::os::raw::c_void, size: usize) -> hipError_t {
10438 (self
10439 .hipMemUnmap
10440 .as_ref()
10441 .expect("Expected function, got error."))(ptr, size)
10442 }
10443 pub unsafe fn hipGLGetDevices(
10444 &self,
10445 pHipDeviceCount: *mut ::std::os::raw::c_uint,
10446 pHipDevices: *mut ::std::os::raw::c_int,
10447 hipDeviceCount: ::std::os::raw::c_uint,
10448 deviceList: hipGLDeviceList,
10449 ) -> hipError_t {
10450 (self
10451 .hipGLGetDevices
10452 .as_ref()
10453 .expect("Expected function, got error."))(
10454 pHipDeviceCount,
10455 pHipDevices,
10456 hipDeviceCount,
10457 deviceList,
10458 )
10459 }
10460 pub unsafe fn hipGraphicsGLRegisterBuffer(
10461 &self,
10462 resource: *mut *mut hipGraphicsResource,
10463 buffer: GLuint,
10464 flags: ::std::os::raw::c_uint,
10465 ) -> hipError_t {
10466 (self
10467 .hipGraphicsGLRegisterBuffer
10468 .as_ref()
10469 .expect("Expected function, got error."))(resource, buffer, flags)
10470 }
10471 pub unsafe fn hipGraphicsGLRegisterImage(
10472 &self,
10473 resource: *mut *mut hipGraphicsResource,
10474 image: GLuint,
10475 target: GLenum,
10476 flags: ::std::os::raw::c_uint,
10477 ) -> hipError_t {
10478 (self
10479 .hipGraphicsGLRegisterImage
10480 .as_ref()
10481 .expect("Expected function, got error."))(resource, image, target, flags)
10482 }
10483 pub unsafe fn hipGraphicsMapResources(
10484 &self,
10485 count: ::std::os::raw::c_int,
10486 resources: *mut hipGraphicsResource_t,
10487 stream: hipStream_t,
10488 ) -> hipError_t {
10489 (self
10490 .hipGraphicsMapResources
10491 .as_ref()
10492 .expect("Expected function, got error."))(count, resources, stream)
10493 }
10494 pub unsafe fn hipGraphicsSubResourceGetMappedArray(
10495 &self,
10496 array: *mut hipArray_t,
10497 resource: hipGraphicsResource_t,
10498 arrayIndex: ::std::os::raw::c_uint,
10499 mipLevel: ::std::os::raw::c_uint,
10500 ) -> hipError_t {
10501 (self
10502 .hipGraphicsSubResourceGetMappedArray
10503 .as_ref()
10504 .expect("Expected function, got error."))(array, resource, arrayIndex, mipLevel)
10505 }
10506 pub unsafe fn hipGraphicsResourceGetMappedPointer(
10507 &self,
10508 devPtr: *mut *mut ::std::os::raw::c_void,
10509 size: *mut usize,
10510 resource: hipGraphicsResource_t,
10511 ) -> hipError_t {
10512 (self
10513 .hipGraphicsResourceGetMappedPointer
10514 .as_ref()
10515 .expect("Expected function, got error."))(devPtr, size, resource)
10516 }
10517 pub unsafe fn hipGraphicsUnmapResources(
10518 &self,
10519 count: ::std::os::raw::c_int,
10520 resources: *mut hipGraphicsResource_t,
10521 stream: hipStream_t,
10522 ) -> hipError_t {
10523 (self
10524 .hipGraphicsUnmapResources
10525 .as_ref()
10526 .expect("Expected function, got error."))(count, resources, stream)
10527 }
10528 pub unsafe fn hipGraphicsUnregisterResource(
10529 &self,
10530 resource: hipGraphicsResource_t,
10531 ) -> hipError_t {
10532 (self
10533 .hipGraphicsUnregisterResource
10534 .as_ref()
10535 .expect("Expected function, got error."))(resource)
10536 }
10537 pub unsafe fn hipMemcpy_spt(
10538 &self,
10539 dst: *mut ::std::os::raw::c_void,
10540 src: *const ::std::os::raw::c_void,
10541 sizeBytes: usize,
10542 kind: hipMemcpyKind,
10543 ) -> hipError_t {
10544 (self
10545 .hipMemcpy_spt
10546 .as_ref()
10547 .expect("Expected function, got error."))(dst, src, sizeBytes, kind)
10548 }
10549 pub unsafe fn hipMemcpyToSymbol_spt(
10550 &self,
10551 symbol: *const ::std::os::raw::c_void,
10552 src: *const ::std::os::raw::c_void,
10553 sizeBytes: usize,
10554 offset: usize,
10555 kind: hipMemcpyKind,
10556 ) -> hipError_t {
10557 (self
10558 .hipMemcpyToSymbol_spt
10559 .as_ref()
10560 .expect("Expected function, got error."))(symbol, src, sizeBytes, offset, kind)
10561 }
10562 pub unsafe fn hipMemcpyFromSymbol_spt(
10563 &self,
10564 dst: *mut ::std::os::raw::c_void,
10565 symbol: *const ::std::os::raw::c_void,
10566 sizeBytes: usize,
10567 offset: usize,
10568 kind: hipMemcpyKind,
10569 ) -> hipError_t {
10570 (self
10571 .hipMemcpyFromSymbol_spt
10572 .as_ref()
10573 .expect("Expected function, got error."))(dst, symbol, sizeBytes, offset, kind)
10574 }
10575 pub unsafe fn hipMemcpy2D_spt(
10576 &self,
10577 dst: *mut ::std::os::raw::c_void,
10578 dpitch: usize,
10579 src: *const ::std::os::raw::c_void,
10580 spitch: usize,
10581 width: usize,
10582 height: usize,
10583 kind: hipMemcpyKind,
10584 ) -> hipError_t {
10585 (self
10586 .hipMemcpy2D_spt
10587 .as_ref()
10588 .expect("Expected function, got error."))(
10589 dst, dpitch, src, spitch, width, height, kind
10590 )
10591 }
10592 pub unsafe fn hipMemcpy2DFromArray_spt(
10593 &self,
10594 dst: *mut ::std::os::raw::c_void,
10595 dpitch: usize,
10596 src: hipArray_const_t,
10597 wOffset: usize,
10598 hOffset: usize,
10599 width: usize,
10600 height: usize,
10601 kind: hipMemcpyKind,
10602 ) -> hipError_t {
10603 (self
10604 .hipMemcpy2DFromArray_spt
10605 .as_ref()
10606 .expect("Expected function, got error."))(
10607 dst, dpitch, src, wOffset, hOffset, width, height, kind,
10608 )
10609 }
10610 pub unsafe fn hipMemcpy3D_spt(&self, p: *const hipMemcpy3DParms) -> hipError_t {
10611 (self
10612 .hipMemcpy3D_spt
10613 .as_ref()
10614 .expect("Expected function, got error."))(p)
10615 }
10616 pub unsafe fn hipMemset_spt(
10617 &self,
10618 dst: *mut ::std::os::raw::c_void,
10619 value: ::std::os::raw::c_int,
10620 sizeBytes: usize,
10621 ) -> hipError_t {
10622 (self
10623 .hipMemset_spt
10624 .as_ref()
10625 .expect("Expected function, got error."))(dst, value, sizeBytes)
10626 }
10627 pub unsafe fn hipMemsetAsync_spt(
10628 &self,
10629 dst: *mut ::std::os::raw::c_void,
10630 value: ::std::os::raw::c_int,
10631 sizeBytes: usize,
10632 stream: hipStream_t,
10633 ) -> hipError_t {
10634 (self
10635 .hipMemsetAsync_spt
10636 .as_ref()
10637 .expect("Expected function, got error."))(dst, value, sizeBytes, stream)
10638 }
10639 pub unsafe fn hipMemset2D_spt(
10640 &self,
10641 dst: *mut ::std::os::raw::c_void,
10642 pitch: usize,
10643 value: ::std::os::raw::c_int,
10644 width: usize,
10645 height: usize,
10646 ) -> hipError_t {
10647 (self
10648 .hipMemset2D_spt
10649 .as_ref()
10650 .expect("Expected function, got error."))(dst, pitch, value, width, height)
10651 }
10652 pub unsafe fn hipMemset2DAsync_spt(
10653 &self,
10654 dst: *mut ::std::os::raw::c_void,
10655 pitch: usize,
10656 value: ::std::os::raw::c_int,
10657 width: usize,
10658 height: usize,
10659 stream: hipStream_t,
10660 ) -> hipError_t {
10661 (self
10662 .hipMemset2DAsync_spt
10663 .as_ref()
10664 .expect("Expected function, got error."))(
10665 dst, pitch, value, width, height, stream
10666 )
10667 }
10668 pub unsafe fn hipMemset3DAsync_spt(
10669 &self,
10670 pitchedDevPtr: hipPitchedPtr,
10671 value: ::std::os::raw::c_int,
10672 extent: hipExtent,
10673 stream: hipStream_t,
10674 ) -> hipError_t {
10675 (self
10676 .hipMemset3DAsync_spt
10677 .as_ref()
10678 .expect("Expected function, got error."))(pitchedDevPtr, value, extent, stream)
10679 }
10680 pub unsafe fn hipMemset3D_spt(
10681 &self,
10682 pitchedDevPtr: hipPitchedPtr,
10683 value: ::std::os::raw::c_int,
10684 extent: hipExtent,
10685 ) -> hipError_t {
10686 (self
10687 .hipMemset3D_spt
10688 .as_ref()
10689 .expect("Expected function, got error."))(pitchedDevPtr, value, extent)
10690 }
10691 pub unsafe fn hipMemcpyAsync_spt(
10692 &self,
10693 dst: *mut ::std::os::raw::c_void,
10694 src: *const ::std::os::raw::c_void,
10695 sizeBytes: usize,
10696 kind: hipMemcpyKind,
10697 stream: hipStream_t,
10698 ) -> hipError_t {
10699 (self
10700 .hipMemcpyAsync_spt
10701 .as_ref()
10702 .expect("Expected function, got error."))(dst, src, sizeBytes, kind, stream)
10703 }
10704 pub unsafe fn hipMemcpy3DAsync_spt(
10705 &self,
10706 p: *const hipMemcpy3DParms,
10707 stream: hipStream_t,
10708 ) -> hipError_t {
10709 (self
10710 .hipMemcpy3DAsync_spt
10711 .as_ref()
10712 .expect("Expected function, got error."))(p, stream)
10713 }
10714 pub unsafe fn hipMemcpy2DAsync_spt(
10715 &self,
10716 dst: *mut ::std::os::raw::c_void,
10717 dpitch: usize,
10718 src: *const ::std::os::raw::c_void,
10719 spitch: usize,
10720 width: usize,
10721 height: usize,
10722 kind: hipMemcpyKind,
10723 stream: hipStream_t,
10724 ) -> hipError_t {
10725 (self
10726 .hipMemcpy2DAsync_spt
10727 .as_ref()
10728 .expect("Expected function, got error."))(
10729 dst, dpitch, src, spitch, width, height, kind, stream,
10730 )
10731 }
10732 pub unsafe fn hipMemcpyFromSymbolAsync_spt(
10733 &self,
10734 dst: *mut ::std::os::raw::c_void,
10735 symbol: *const ::std::os::raw::c_void,
10736 sizeBytes: usize,
10737 offset: usize,
10738 kind: hipMemcpyKind,
10739 stream: hipStream_t,
10740 ) -> hipError_t {
10741 (self
10742 .hipMemcpyFromSymbolAsync_spt
10743 .as_ref()
10744 .expect("Expected function, got error."))(
10745 dst, symbol, sizeBytes, offset, kind, stream
10746 )
10747 }
10748 pub unsafe fn hipMemcpyToSymbolAsync_spt(
10749 &self,
10750 symbol: *const ::std::os::raw::c_void,
10751 src: *const ::std::os::raw::c_void,
10752 sizeBytes: usize,
10753 offset: usize,
10754 kind: hipMemcpyKind,
10755 stream: hipStream_t,
10756 ) -> hipError_t {
10757 (self
10758 .hipMemcpyToSymbolAsync_spt
10759 .as_ref()
10760 .expect("Expected function, got error."))(
10761 symbol, src, sizeBytes, offset, kind, stream
10762 )
10763 }
10764 pub unsafe fn hipMemcpyFromArray_spt(
10765 &self,
10766 dst: *mut ::std::os::raw::c_void,
10767 src: hipArray_const_t,
10768 wOffsetSrc: usize,
10769 hOffset: usize,
10770 count: usize,
10771 kind: hipMemcpyKind,
10772 ) -> hipError_t {
10773 (self
10774 .hipMemcpyFromArray_spt
10775 .as_ref()
10776 .expect("Expected function, got error."))(
10777 dst, src, wOffsetSrc, hOffset, count, kind
10778 )
10779 }
10780 pub unsafe fn hipMemcpy2DToArray_spt(
10781 &self,
10782 dst: *mut hipArray,
10783 wOffset: usize,
10784 hOffset: usize,
10785 src: *const ::std::os::raw::c_void,
10786 spitch: usize,
10787 width: usize,
10788 height: usize,
10789 kind: hipMemcpyKind,
10790 ) -> hipError_t {
10791 (self
10792 .hipMemcpy2DToArray_spt
10793 .as_ref()
10794 .expect("Expected function, got error."))(
10795 dst, wOffset, hOffset, src, spitch, width, height, kind,
10796 )
10797 }
10798 pub unsafe fn hipMemcpy2DFromArrayAsync_spt(
10799 &self,
10800 dst: *mut ::std::os::raw::c_void,
10801 dpitch: usize,
10802 src: hipArray_const_t,
10803 wOffsetSrc: usize,
10804 hOffsetSrc: usize,
10805 width: usize,
10806 height: usize,
10807 kind: hipMemcpyKind,
10808 stream: hipStream_t,
10809 ) -> hipError_t {
10810 (self
10811 .hipMemcpy2DFromArrayAsync_spt
10812 .as_ref()
10813 .expect("Expected function, got error."))(
10814 dst, dpitch, src, wOffsetSrc, hOffsetSrc, width, height, kind, stream,
10815 )
10816 }
10817 pub unsafe fn hipMemcpy2DToArrayAsync_spt(
10818 &self,
10819 dst: *mut hipArray,
10820 wOffset: usize,
10821 hOffset: usize,
10822 src: *const ::std::os::raw::c_void,
10823 spitch: usize,
10824 width: usize,
10825 height: usize,
10826 kind: hipMemcpyKind,
10827 stream: hipStream_t,
10828 ) -> hipError_t {
10829 (self
10830 .hipMemcpy2DToArrayAsync_spt
10831 .as_ref()
10832 .expect("Expected function, got error."))(
10833 dst, wOffset, hOffset, src, spitch, width, height, kind, stream,
10834 )
10835 }
10836 pub unsafe fn hipStreamQuery_spt(&self, stream: hipStream_t) -> hipError_t {
10837 (self
10838 .hipStreamQuery_spt
10839 .as_ref()
10840 .expect("Expected function, got error."))(stream)
10841 }
10842 pub unsafe fn hipStreamSynchronize_spt(&self, stream: hipStream_t) -> hipError_t {
10843 (self
10844 .hipStreamSynchronize_spt
10845 .as_ref()
10846 .expect("Expected function, got error."))(stream)
10847 }
10848 pub unsafe fn hipStreamGetPriority_spt(
10849 &self,
10850 stream: hipStream_t,
10851 priority: *mut ::std::os::raw::c_int,
10852 ) -> hipError_t {
10853 (self
10854 .hipStreamGetPriority_spt
10855 .as_ref()
10856 .expect("Expected function, got error."))(stream, priority)
10857 }
10858 pub unsafe fn hipStreamWaitEvent_spt(
10859 &self,
10860 stream: hipStream_t,
10861 event: hipEvent_t,
10862 flags: ::std::os::raw::c_uint,
10863 ) -> hipError_t {
10864 (self
10865 .hipStreamWaitEvent_spt
10866 .as_ref()
10867 .expect("Expected function, got error."))(stream, event, flags)
10868 }
10869 pub unsafe fn hipStreamGetFlags_spt(
10870 &self,
10871 stream: hipStream_t,
10872 flags: *mut ::std::os::raw::c_uint,
10873 ) -> hipError_t {
10874 (self
10875 .hipStreamGetFlags_spt
10876 .as_ref()
10877 .expect("Expected function, got error."))(stream, flags)
10878 }
10879 pub unsafe fn hipStreamAddCallback_spt(
10880 &self,
10881 stream: hipStream_t,
10882 callback: hipStreamCallback_t,
10883 userData: *mut ::std::os::raw::c_void,
10884 flags: ::std::os::raw::c_uint,
10885 ) -> hipError_t {
10886 (self
10887 .hipStreamAddCallback_spt
10888 .as_ref()
10889 .expect("Expected function, got error."))(stream, callback, userData, flags)
10890 }
10891 pub unsafe fn hipEventRecord_spt(&self, event: hipEvent_t, stream: hipStream_t) -> hipError_t {
10892 (self
10893 .hipEventRecord_spt
10894 .as_ref()
10895 .expect("Expected function, got error."))(event, stream)
10896 }
10897 pub unsafe fn hipLaunchCooperativeKernel_spt(
10898 &self,
10899 f: *const ::std::os::raw::c_void,
10900 gridDim: dim3,
10901 blockDim: dim3,
10902 kernelParams: *mut *mut ::std::os::raw::c_void,
10903 sharedMemBytes: u32,
10904 hStream: hipStream_t,
10905 ) -> hipError_t {
10906 (self
10907 .hipLaunchCooperativeKernel_spt
10908 .as_ref()
10909 .expect("Expected function, got error."))(
10910 f,
10911 gridDim,
10912 blockDim,
10913 kernelParams,
10914 sharedMemBytes,
10915 hStream,
10916 )
10917 }
10918 pub unsafe fn hipLaunchKernel_spt(
10919 &self,
10920 function_address: *const ::std::os::raw::c_void,
10921 numBlocks: dim3,
10922 dimBlocks: dim3,
10923 args: *mut *mut ::std::os::raw::c_void,
10924 sharedMemBytes: usize,
10925 stream: hipStream_t,
10926 ) -> hipError_t {
10927 (self
10928 .hipLaunchKernel_spt
10929 .as_ref()
10930 .expect("Expected function, got error."))(
10931 function_address,
10932 numBlocks,
10933 dimBlocks,
10934 args,
10935 sharedMemBytes,
10936 stream,
10937 )
10938 }
10939 pub unsafe fn hipGraphLaunch_spt(
10940 &self,
10941 graphExec: hipGraphExec_t,
10942 stream: hipStream_t,
10943 ) -> hipError_t {
10944 (self
10945 .hipGraphLaunch_spt
10946 .as_ref()
10947 .expect("Expected function, got error."))(graphExec, stream)
10948 }
10949 pub unsafe fn hipStreamBeginCapture_spt(
10950 &self,
10951 stream: hipStream_t,
10952 mode: hipStreamCaptureMode,
10953 ) -> hipError_t {
10954 (self
10955 .hipStreamBeginCapture_spt
10956 .as_ref()
10957 .expect("Expected function, got error."))(stream, mode)
10958 }
10959 pub unsafe fn hipStreamEndCapture_spt(
10960 &self,
10961 stream: hipStream_t,
10962 pGraph: *mut hipGraph_t,
10963 ) -> hipError_t {
10964 (self
10965 .hipStreamEndCapture_spt
10966 .as_ref()
10967 .expect("Expected function, got error."))(stream, pGraph)
10968 }
10969 pub unsafe fn hipStreamIsCapturing_spt(
10970 &self,
10971 stream: hipStream_t,
10972 pCaptureStatus: *mut hipStreamCaptureStatus,
10973 ) -> hipError_t {
10974 (self
10975 .hipStreamIsCapturing_spt
10976 .as_ref()
10977 .expect("Expected function, got error."))(stream, pCaptureStatus)
10978 }
10979 pub unsafe fn hipStreamGetCaptureInfo_spt(
10980 &self,
10981 stream: hipStream_t,
10982 pCaptureStatus: *mut hipStreamCaptureStatus,
10983 pId: *mut ::std::os::raw::c_ulonglong,
10984 ) -> hipError_t {
10985 (self
10986 .hipStreamGetCaptureInfo_spt
10987 .as_ref()
10988 .expect("Expected function, got error."))(stream, pCaptureStatus, pId)
10989 }
10990 pub unsafe fn hipStreamGetCaptureInfo_v2_spt(
10991 &self,
10992 stream: hipStream_t,
10993 captureStatus_out: *mut hipStreamCaptureStatus,
10994 id_out: *mut ::std::os::raw::c_ulonglong,
10995 graph_out: *mut hipGraph_t,
10996 dependencies_out: *mut *const hipGraphNode_t,
10997 numDependencies_out: *mut usize,
10998 ) -> hipError_t {
10999 (self
11000 .hipStreamGetCaptureInfo_v2_spt
11001 .as_ref()
11002 .expect("Expected function, got error."))(
11003 stream,
11004 captureStatus_out,
11005 id_out,
11006 graph_out,
11007 dependencies_out,
11008 numDependencies_out,
11009 )
11010 }
11011 pub unsafe fn hipLaunchHostFunc_spt(
11012 &self,
11013 stream: hipStream_t,
11014 fn_: hipHostFn_t,
11015 userData: *mut ::std::os::raw::c_void,
11016 ) -> hipError_t {
11017 (self
11018 .hipLaunchHostFunc_spt
11019 .as_ref()
11020 .expect("Expected function, got error."))(stream, fn_, userData)
11021 }
11022}