HIP: Heterogenous-computing Interface for Portability: /long_pathname_so_that_rpms_can_package_the_debug_info/src/external/hip-on-vdi/include/hip/hip_runtime_api.h Source File

HIP: Heterogenous-computing Interface for Portability

hip_runtime_api.h
Go to the documentation of this file.
1 /*
2 Copyright (c) 2015 - 2021 Advanced Micro Devices, Inc. All rights reserved.
3
4 Permission is hereby granted, free of charge, to any person obtaining a copy
5 of this software and associated documentation files (the "Software"), to deal
6 in the Software without restriction, including without limitation the rights
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 copies of the Software, and to permit persons to whom the Software is
9 furnished to do so, subject to the following conditions:
10
11 The above copyright notice and this permission notice shall be included in
12 all copies or substantial portions of the Software.
13
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 THE SOFTWARE.
21 */
22
30 #ifndef HIP_INCLUDE_HIP_HIP_RUNTIME_API_H
31 #define HIP_INCLUDE_HIP_HIP_RUNTIME_API_H
32
33
34 #include <string.h> // for getDeviceProp
35 #include <hip/hip_version.h>
36 #include <hip/hip_common.h>
37
38 enum {
39 HIP_SUCCESS = 0,
40 HIP_ERROR_INVALID_VALUE,
41 HIP_ERROR_NOT_INITIALIZED,
42 HIP_ERROR_LAUNCH_OUT_OF_RESOURCES
43 };
44
45 typedef struct {
46 // 32-bit Atomics
47 unsigned hasGlobalInt32Atomics : 1;
48 unsigned hasGlobalFloatAtomicExch : 1;
49 unsigned hasSharedInt32Atomics : 1;
50 unsigned hasSharedFloatAtomicExch : 1;
51 unsigned hasFloatAtomicAdd : 1;
52
53 // 64-bit Atomics
54 unsigned hasGlobalInt64Atomics : 1;
55 unsigned hasSharedInt64Atomics : 1;
56
57 // Doubles
58 unsigned hasDoubles : 1;
59
60 // Warp cross-lane operations
61 unsigned hasWarpVote : 1;
62 unsigned hasWarpBallot : 1;
63 unsigned hasWarpShuffle : 1;
64 unsigned hasFunnelShift : 1;
65
66 // Sync
67 unsigned hasThreadFenceSystem : 1;
68 unsigned hasSyncThreadsExt : 1;
69
70 // Misc
71 unsigned hasSurfaceFuncs : 1;
72 unsigned has3dGrid : 1;
73 unsigned hasDynamicParallelism : 1;
74 } hipDeviceArch_t;
75
76
77 //---
78 // Common headers for both NVCC and HCC paths:
79
84 typedef struct hipDeviceProp_t {
85 char name[256];
86 size_t totalGlobalMem;
87 size_t sharedMemPerBlock;
88 int regsPerBlock;
89 int warpSize;
90 int maxThreadsPerBlock;
91 int maxThreadsDim[3];
92 int maxGridSize[3];
93 int clockRate;
94 int memoryClockRate;
95 int memoryBusWidth;
96 size_t totalConstMem;
97 int major;
98 int minor;
101 int multiProcessorCount;
104 int l2CacheSize;
105 int maxThreadsPerMultiProcessor;
106 int computeMode;
107 int clockInstructionRate;
108 hipDeviceArch_t arch;
110 int concurrentKernels;
111 int pciDomainID;
112 int pciBusID;
113 int pciDeviceID;
114 size_t maxSharedMemoryPerMultiProcessor;
115 int isMultiGpuBoard;
116 int canMapHostMemory;
117 int gcnArch;
118 char gcnArchName[256];
119 int integrated;
120 int cooperativeLaunch;
121 int cooperativeMultiDeviceLaunch;
122 int maxTexture1DLinear;
123 int maxTexture1D;
124 int maxTexture2D[2];
125 int maxTexture3D[3];
126 unsigned int* hdpMemFlushCntl;
127 unsigned int* hdpRegFlushCntl;
128 size_t memPitch;
129 size_t textureAlignment;
130 size_t texturePitchAlignment;
131 int kernelExecTimeoutEnabled;
132 int ECCEnabled;
133 int tccDriver;
134 int cooperativeMultiDeviceUnmatchedFunc;
135 int cooperativeMultiDeviceUnmatchedGridDim;
137 int cooperativeMultiDeviceUnmatchedBlockDim;
139 int cooperativeMultiDeviceUnmatchedSharedMem;
141 int isLargeBar;
143 int asicRevision;
144 int managedMemory;
145 int directManagedMemAccessFromHost;
146 int concurrentManagedAccess;
147 int pageableMemoryAccess;
148 int pageableMemoryAccessUsesHostPageTables;
150 } hipDeviceProp_t;
151
152
156 typedef enum hipMemoryType {
157 hipMemoryTypeHost,
158 hipMemoryTypeDevice,
159 hipMemoryTypeArray,
161 hipMemoryTypeUnified
163 } hipMemoryType;
164
165
169 typedef struct hipPointerAttribute_t {
170 enum hipMemoryType memoryType;
171 int device;
172 void* devicePointer;
173 void* hostPointer;
174 int isManaged;
175 unsigned allocationFlags; /* flags specified when memory was allocated*/
176 /* peers? */
177 } hipPointerAttribute_t;
178
179
180 // hack to get these to show up in Doxygen:
187 // Ignoring error-code return values from hip APIs is discouraged. On C++17,
188 // we can make that yield a warning
189 #if __cplusplus >= 201703L
190 #define __HIP_NODISCARD [[nodiscard]]
191 #else
192 #define __HIP_NODISCARD
193 #endif
194
195 /*
196 * @brief hipError_t
197 * @enum
198 * @ingroup Enumerations
199 */
200 // Developer note - when updating these, update the hipErrorName and hipErrorString functions in
201 // NVCC and HCC paths Also update the hipCUDAErrorTohipError function in NVCC path.
202
203 typedef enum __HIP_NODISCARD hipError_t {
204 hipSuccess = 0,
205 hipErrorInvalidValue = 1,
206 hipErrorOutOfMemory = 2,
208 // Deprecated
209 hipErrorMemoryAllocation = 2,
210 hipErrorNotInitialized = 3,
211 // Deprecated
212 hipErrorInitializationError = 3,
213 hipErrorDeinitialized = 4,
214 hipErrorProfilerDisabled = 5,
215 hipErrorProfilerNotInitialized = 6,
216 hipErrorProfilerAlreadyStarted = 7,
217 hipErrorProfilerAlreadyStopped = 8,
218 hipErrorInvalidConfiguration = 9,
219 hipErrorInvalidPitchValue = 12,
220 hipErrorInvalidSymbol = 13,
221 hipErrorInvalidDevicePointer = 17,
222 hipErrorInvalidMemcpyDirection = 21,
223 hipErrorInsufficientDriver = 35,
224 hipErrorMissingConfiguration = 52,
225 hipErrorPriorLaunchFailure = 53,
226 hipErrorInvalidDeviceFunction = 98,
227 hipErrorNoDevice = 100,
228 hipErrorInvalidDevice = 101,
229 hipErrorInvalidImage = 200,
230 hipErrorInvalidContext = 201,
231 hipErrorContextAlreadyCurrent = 202,
232 hipErrorMapFailed = 205,
233 // Deprecated
234 hipErrorMapBufferObjectFailed = 205,
235 hipErrorUnmapFailed = 206,
236 hipErrorArrayIsMapped = 207,
237 hipErrorAlreadyMapped = 208,
238 hipErrorNoBinaryForGpu = 209,
239 hipErrorAlreadyAcquired = 210,
240 hipErrorNotMapped = 211,
241 hipErrorNotMappedAsArray = 212,
242 hipErrorNotMappedAsPointer = 213,
243 hipErrorECCNotCorrectable = 214,
244 hipErrorUnsupportedLimit = 215,
245 hipErrorContextAlreadyInUse = 216,
246 hipErrorPeerAccessUnsupported = 217,
247 hipErrorInvalidKernelFile = 218,
248 hipErrorInvalidGraphicsContext = 219,
249 hipErrorInvalidSource = 300,
250 hipErrorFileNotFound = 301,
251 hipErrorSharedObjectSymbolNotFound = 302,
252 hipErrorSharedObjectInitFailed = 303,
253 hipErrorOperatingSystem = 304,
254 hipErrorInvalidHandle = 400,
255 // Deprecated
256 hipErrorInvalidResourceHandle = 400,
257 hipErrorIllegalState = 401,
258 hipErrorNotFound = 500,
259 hipErrorNotReady = 600,
260 hipErrorIllegalAddress = 700,
264 hipErrorLaunchOutOfResources = 701,
265 hipErrorLaunchTimeOut = 702,
266 hipErrorPeerAccessAlreadyEnabled =
267 704,
268 hipErrorPeerAccessNotEnabled =
269 705,
270 hipErrorSetOnActiveProcess = 708,
271 hipErrorContextIsDestroyed = 709,
272 hipErrorAssert = 710,
273 hipErrorHostMemoryAlreadyRegistered =
274 712,
275 hipErrorHostMemoryNotRegistered =
276 713,
277 hipErrorLaunchFailure =
278 719,
279 hipErrorCooperativeLaunchTooLarge =
280 720,
281 hipErrorNotSupported = 801,
284 hipErrorStreamCaptureUnsupported = 900,
285 hipErrorStreamCaptureInvalidated = 901,
287 hipErrorStreamCaptureMerge = 902,
289 hipErrorStreamCaptureUnmatched = 903,
291 hipErrorStreamCaptureUnjoined = 904,
292 hipErrorStreamCaptureIsolation = 905,
294 hipErrorStreamCaptureImplicit = 906,
298 hipErrorCapturedEvent = 907,
301 hipErrorStreamCaptureWrongThread = 908,
303 hipErrorGraphExecUpdateFailure = 910,
307 hipErrorUnknown = 999, //< Unknown error.
311 // HSA Runtime Error Codes start here.
312 hipErrorRuntimeMemory = 1052,
313 hipErrorRuntimeOther = 1053,
315 hipErrorTbd
317 } hipError_t;
318
319 #undef __HIP_NODISCARD
320
321 /*
322 * @brief hipDeviceAttribute_t
323 * @enum
324 * @ingroup Enumerations
325 */
326 typedef enum hipDeviceAttribute_t {
327 hipDeviceAttributeCudaCompatibleBegin = 0,
328
329 hipDeviceAttributeEccEnabled = hipDeviceAttributeCudaCompatibleBegin,
330 hipDeviceAttributeAccessPolicyMaxWindowSize,
331 hipDeviceAttributeAsyncEngineCount,
332 hipDeviceAttributeCanMapHostMemory,
333 hipDeviceAttributeCanUseHostPointerForRegisteredMem,
334 hipDeviceAttributeClockRate,
336 hipDeviceAttributeComputeMode,
337 hipDeviceAttributeComputePreemptionSupported,
338 hipDeviceAttributeConcurrentKernels,
339 hipDeviceAttributeConcurrentManagedAccess,
340 hipDeviceAttributeCooperativeLaunch,
341 hipDeviceAttributeCooperativeMultiDeviceLaunch,
342 hipDeviceAttributeDeviceOverlap,
343 hipDeviceAttributeDirectManagedMemAccessFromHost,
345 hipDeviceAttributeGlobalL1CacheSupported,
347 hipDeviceAttributeHostNativeAtomicSupported,
348 hipDeviceAttributeIntegrated,
349 hipDeviceAttributeIsMultiGpuBoard,
350 hipDeviceAttributeKernelExecTimeout,
351 hipDeviceAttributeL2CacheSize,
352 hipDeviceAttributeLocalL1CacheSupported,
353 hipDeviceAttributeLuid,
354 hipDeviceAttributeLuidDeviceNodeMask,
355 hipDeviceAttributeComputeCapabilityMajor,
356 hipDeviceAttributeManagedMemory,
357 hipDeviceAttributeMaxBlocksPerMultiProcessor,
358 hipDeviceAttributeMaxBlockDimX,
359 hipDeviceAttributeMaxBlockDimY,
360 hipDeviceAttributeMaxBlockDimZ,
361 hipDeviceAttributeMaxGridDimX,
362 hipDeviceAttributeMaxGridDimY,
363 hipDeviceAttributeMaxGridDimZ,
364 hipDeviceAttributeMaxSurface1D,
365 hipDeviceAttributeMaxSurface1DLayered,
366 hipDeviceAttributeMaxSurface2D,
367 hipDeviceAttributeMaxSurface2DLayered,
368 hipDeviceAttributeMaxSurface3D,
369 hipDeviceAttributeMaxSurfaceCubemap,
370 hipDeviceAttributeMaxSurfaceCubemapLayered,
371 hipDeviceAttributeMaxTexture1DWidth,
372 hipDeviceAttributeMaxTexture1DLayered,
373 hipDeviceAttributeMaxTexture1DLinear,
374 hipDeviceAttributeMaxTexture1DMipmap,
376 hipDeviceAttributeMaxTexture2DWidth,
377 hipDeviceAttributeMaxTexture2DHeight,
378 hipDeviceAttributeMaxTexture2DGather,
379 hipDeviceAttributeMaxTexture2DLayered,
380 hipDeviceAttributeMaxTexture2DLinear,
381 hipDeviceAttributeMaxTexture2DMipmap,
382 hipDeviceAttributeMaxTexture3DWidth,
383 hipDeviceAttributeMaxTexture3DHeight,
384 hipDeviceAttributeMaxTexture3DDepth,
385 hipDeviceAttributeMaxTexture3DAlt,
386 hipDeviceAttributeMaxTextureCubemap,
387 hipDeviceAttributeMaxTextureCubemapLayered,
388 hipDeviceAttributeMaxThreadsDim,
389 hipDeviceAttributeMaxThreadsPerBlock,
390 hipDeviceAttributeMaxThreadsPerMultiProcessor,
391 hipDeviceAttributeMaxPitch,
392 hipDeviceAttributeMemoryBusWidth,
393 hipDeviceAttributeMemoryClockRate,
394 hipDeviceAttributeComputeCapabilityMinor,
395 hipDeviceAttributeMultiGpuBoardGroupID,
396 hipDeviceAttributeMultiprocessorCount,
397 hipDeviceAttributeName,
398 hipDeviceAttributePageableMemoryAccess,
399 hipDeviceAttributePageableMemoryAccessUsesHostPageTables,
401 hipDeviceAttributePciBusId,
402 hipDeviceAttributePciDeviceId,
403 hipDeviceAttributePciDomainID,
404 hipDeviceAttributePersistingL2CacheMaxSize,
405 hipDeviceAttributeMaxRegistersPerBlock,
406 hipDeviceAttributeMaxRegistersPerMultiprocessor,
408 hipDeviceAttributeReservedSharedMemPerBlock,
409 hipDeviceAttributeMaxSharedMemoryPerBlock,
410 hipDeviceAttributeSharedMemPerBlockOptin,
411 hipDeviceAttributeSharedMemPerMultiprocessor,
412 hipDeviceAttributeSingleToDoublePrecisionPerfRatio,
413 hipDeviceAttributeStreamPrioritiesSupported,
414 hipDeviceAttributeSurfaceAlignment,
415 hipDeviceAttributeTccDriver,
416 hipDeviceAttributeTextureAlignment,
417 hipDeviceAttributeTexturePitchAlignment,
418 hipDeviceAttributeTotalConstantMemory,
419 hipDeviceAttributeTotalGlobalMem,
420 hipDeviceAttributeUnifiedAddressing,
421 hipDeviceAttributeUuid,
422 hipDeviceAttributeWarpSize,
423
424 hipDeviceAttributeCudaCompatibleEnd = 9999,
425 hipDeviceAttributeAmdSpecificBegin = 10000,
426
427 hipDeviceAttributeClockInstructionRate = hipDeviceAttributeAmdSpecificBegin,
428 hipDeviceAttributeArch,
429 hipDeviceAttributeMaxSharedMemoryPerMultiprocessor,
430 hipDeviceAttributeGcnArch,
431 hipDeviceAttributeGcnArchName,
432 hipDeviceAttributeHdpMemFlushCntl,
433 hipDeviceAttributeHdpRegFlushCntl,
434 hipDeviceAttributeCooperativeMultiDeviceUnmatchedFunc,
435 hipDeviceAttributeCooperativeMultiDeviceUnmatchedGridDim,
437 hipDeviceAttributeCooperativeMultiDeviceUnmatchedBlockDim,
439 hipDeviceAttributeCooperativeMultiDeviceUnmatchedSharedMem,
441 hipDeviceAttributeIsLargeBar,
443 hipDeviceAttributeAsicRevision,
444 hipDeviceAttributeCanUseStreamWaitValue,
445 hipDeviceAttributeImageSupport,
447
448 hipDeviceAttributeAmdSpecificEnd = 19999,
449 hipDeviceAttributeVendorSpecificBegin = 20000,
450 // Extended attributes for vendors
451 } hipDeviceAttribute_t;
452
453 enum hipComputeMode {
454 hipComputeModeDefault = 0,
455 hipComputeModeExclusive = 1,
456 hipComputeModeProhibited = 2,
457 hipComputeModeExclusiveProcess = 3
458 };
459
464 #if (defined(__HIP_PLATFORM_HCC__) || defined(__HIP_PLATFORM_AMD__)) && !(defined(__HIP_PLATFORM_NVCC__) || defined(__HIP_PLATFORM_NVIDIA__))
465
466 #include <stdint.h>
467 #include <stddef.h>
468 #ifndef GENERIC_GRID_LAUNCH
469 #define GENERIC_GRID_LAUNCH 1
470 #endif
471 #include <hip/amd_detail/host_defines.h>
472 #include <hip/driver_types.h>
473 #include <hip/texture_types.h>
474 #include <hip/surface_types.h>
475 #if defined(_MSC_VER)
476 #define DEPRECATED(msg) __declspec(deprecated(msg))
477 #else // !defined(_MSC_VER)
478 #define DEPRECATED(msg) __attribute__ ((deprecated(msg)))
479 #endif // !defined(_MSC_VER)
480 #define DEPRECATED_MSG "This API is marked as deprecated and may not be supported in future releases. For more details please refer https://github.com/ROCm-Developer-Tools/HIP/blob/master/docs/markdown/hip_deprecated_api_list.md"
481 #define HIP_LAUNCH_PARAM_BUFFER_POINTER ((void*)0x01)
482 #define HIP_LAUNCH_PARAM_BUFFER_SIZE ((void*)0x02)
483 #define HIP_LAUNCH_PARAM_END ((void*)0x03)
484 #ifdef __cplusplus
485 #define __dparm(x) \
486 = x
487 #else
488 #define __dparm(x)
489 #endif
490 #ifdef __GNUC__
491 #pragma GCC visibility push (default)
492 #endif
493 #ifdef __cplusplus
494 namespace hip_impl {
495 hipError_t hip_init();
496 } // namespace hip_impl
497 #endif
498 // Structure definitions:
499 #ifdef __cplusplus
500 extern "C" {
501 #endif
502 //---
503 // API-visible structures
504 typedef struct ihipCtx_t* hipCtx_t;
505 // Note many APIs also use integer deviceIds as an alternative to the device pointer:
506 typedef int hipDevice_t;
507 typedef enum hipDeviceP2PAttr {
508 hipDevP2PAttrPerformanceRank = 0,
509 hipDevP2PAttrAccessSupported,
510 hipDevP2PAttrNativeAtomicSupported,
511 hipDevP2PAttrHipArrayAccessSupported
512 } hipDeviceP2PAttr;
513 typedef struct ihipStream_t* hipStream_t;
514 #define hipIpcMemLazyEnablePeerAccess 0
515 #define HIP_IPC_HANDLE_SIZE 64
516 typedef struct hipIpcMemHandle_st {
517 char reserved[HIP_IPC_HANDLE_SIZE];
518 } hipIpcMemHandle_t;
519 typedef struct hipIpcEventHandle_st {
520 char reserved[HIP_IPC_HANDLE_SIZE];
521 } hipIpcEventHandle_t;
522 typedef struct ihipModule_t* hipModule_t;
523 typedef struct ihipModuleSymbol_t* hipFunction_t;
524 typedef struct hipFuncAttributes {
525 int binaryVersion;
526 int cacheModeCA;
527 size_t constSizeBytes;
528 size_t localSizeBytes;
529 int maxDynamicSharedSizeBytes;
530 int maxThreadsPerBlock;
531 int numRegs;
532 int preferredShmemCarveout;
533 int ptxVersion;
534 size_t sharedSizeBytes;
535 } hipFuncAttributes;
536 typedef struct ihipEvent_t* hipEvent_t;
537 enum hipLimit_t {
538 hipLimitPrintfFifoSize = 0x01,
539 hipLimitMallocHeapSize = 0x02,
540 };
545 //Flags that can be used with hipStreamCreateWithFlags.
547 #define hipStreamDefault 0x00
548
550 #define hipStreamNonBlocking 0x01
551
552 //Flags that can be used with hipEventCreateWithFlags.
554 #define hipEventDefault 0x0
555
557 #define hipEventBlockingSync 0x1
558
560 #define hipEventDisableTiming 0x2
561
563 #define hipEventInterprocess 0x4
564
567 #define hipEventReleaseToDevice 0x40000000
568
571 #define hipEventReleaseToSystem 0x80000000
572
573 //Flags that can be used with hipHostMalloc.
575 #define hipHostMallocDefault 0x0
576
578 #define hipHostMallocPortable 0x1
579
582 #define hipHostMallocMapped 0x2
583
587 #define hipHostMallocWriteCombined 0x4
588
590 #define hipHostMallocNumaUser 0x20000000
591
593 #define hipHostMallocCoherent 0x40000000
594
596 #define hipHostMallocNonCoherent 0x80000000
597
599 #define hipMemAttachGlobal 0x01
600
602 #define hipMemAttachHost 0x02
603
605 #define hipMemAttachSingle 0x04
606
607 #define hipDeviceMallocDefault 0x0
608
610 #define hipDeviceMallocFinegrained 0x1
611
613 #define hipMallocSignalMemory 0x2
614
615 //Flags that can be used with hipHostRegister.
617 #define hipHostRegisterDefault 0x0
618
620 #define hipHostRegisterPortable 0x1
621
624 #define hipHostRegisterMapped 0x2
625
627 #define hipHostRegisterIoMemory 0x4
628
630 #define hipExtHostRegisterCoarseGrained 0x8
631
633 #define hipDeviceScheduleAuto 0x0
634
637 #define hipDeviceScheduleSpin 0x1
638
641 #define hipDeviceScheduleYield 0x2
642 #define hipDeviceScheduleBlockingSync 0x4
643 #define hipDeviceScheduleMask 0x7
644 #define hipDeviceMapHost 0x8
645 #define hipDeviceLmemResizeToMax 0x16
646
647 #define hipArrayDefault 0x00
648 #define hipArrayLayered 0x01
649 #define hipArraySurfaceLoadStore 0x02
650 #define hipArrayCubemap 0x04
651 #define hipArrayTextureGather 0x08
652 #define hipOccupancyDefault 0x00
653 #define hipCooperativeLaunchMultiDeviceNoPreSync 0x01
654 #define hipCooperativeLaunchMultiDeviceNoPostSync 0x02
655 #define hipCpuDeviceId ((int)-1)
656 #define hipInvalidDeviceId ((int)-2)
657 //Flags that can be used with hipExtLaunch Set of APIs.
659 #define hipExtAnyOrderLaunch 0x01
660 // Flags to be used with hipStreamWaitValue32 and hipStreamWaitValue64.
661 #define hipStreamWaitValueGte 0x0
662 #define hipStreamWaitValueEq 0x1
663 #define hipStreamWaitValueAnd 0x2
664 #define hipStreamWaitValueNor 0x3
665 // Stream per thread
667 #define hipStreamPerThread ((hipStream_t)2)
668 /*
669 * @brief HIP Memory Advise values
670 * @enum
671 * @ingroup Enumerations
672 */
673 typedef enum hipMemoryAdvise {
674 hipMemAdviseSetReadMostly = 1,
675 hipMemAdviseUnsetReadMostly = 2,
677 hipMemAdviseSetPreferredLocation = 3,
678 hipMemAdviseUnsetPreferredLocation = 4,
680 hipMemAdviseSetAccessedBy = 5,
681 hipMemAdviseUnsetAccessedBy = 6,
683 hipMemAdviseSetCoarseGrain = 100,
685 hipMemAdviseUnsetCoarseGrain = 101
690 } hipMemoryAdvise;
691 /*
692 * @brief HIP Coherency Mode
693 * @enum
694 * @ingroup Enumerations
695 */
696 typedef enum hipMemRangeCoherencyMode {
697 hipMemRangeCoherencyModeFineGrain = 0,
698 hipMemRangeCoherencyModeCoarseGrain = 1,
700 hipMemRangeCoherencyModeIndeterminate = 2
702 } hipMemRangeCoherencyMode;
705 /*
706 * @brief HIP range attributes
707 * @enum
708 * @ingroup Enumerations
709 */
710 typedef enum hipMemRangeAttribute {
711 hipMemRangeAttributeReadMostly = 1,
712 hipMemRangeAttributePreferredLocation = 2,
714 hipMemRangeAttributeAccessedBy = 3,
715 hipMemRangeAttributeLastPrefetchLocation = 4,
717 hipMemRangeAttributeCoherencyMode = 100,
719 } hipMemRangeAttribute;
721 /*
722 * @brief hipJitOption
723 * @enum
724 * @ingroup Enumerations
725 */
726 typedef enum hipJitOption {
727 hipJitOptionMaxRegisters = 0,
728 hipJitOptionThreadsPerBlock,
729 hipJitOptionWallTime,
730 hipJitOptionInfoLogBuffer,
731 hipJitOptionInfoLogBufferSizeBytes,
732 hipJitOptionErrorLogBuffer,
733 hipJitOptionErrorLogBufferSizeBytes,
734 hipJitOptionOptimizationLevel,
735 hipJitOptionTargetFromContext,
736 hipJitOptionTarget,
737 hipJitOptionFallbackStrategy,
738 hipJitOptionGenerateDebugInfo,
739 hipJitOptionLogVerbose,
740 hipJitOptionGenerateLineInfo,
741 hipJitOptionCacheMode,
742 hipJitOptionSm3xOpt,
743 hipJitOptionFastCompile,
744 hipJitOptionNumOptions
745 } hipJitOption;
749 typedef enum hipFuncAttribute {
750 hipFuncAttributeMaxDynamicSharedMemorySize = 8,
751 hipFuncAttributePreferredSharedMemoryCarveout = 9,
752 hipFuncAttributeMax
753 } hipFuncAttribute;
757 typedef enum hipFuncCache_t {
758 hipFuncCachePreferNone,
759 hipFuncCachePreferShared,
760 hipFuncCachePreferL1,
761 hipFuncCachePreferEqual,
762 } hipFuncCache_t;
766 typedef enum hipSharedMemConfig {
767 hipSharedMemBankSizeDefault,
768 hipSharedMemBankSizeFourByte,
769 hipSharedMemBankSizeEightByte
771 } hipSharedMemConfig;
777 typedef struct dim3 {
778 uint32_t x;
779 uint32_t y;
780 uint32_t z;
781 #ifdef __cplusplus
782 constexpr __host__ __device__ dim3(uint32_t _x = 1, uint32_t _y = 1, uint32_t _z = 1) : x(_x), y(_y), z(_z){};
783 #endif
784 } dim3;
785 typedef struct hipLaunchParams_t {
786 void* func;
787 dim3 gridDim;
788 dim3 blockDim;
789 void **args;
790 size_t sharedMem;
791 hipStream_t stream;
792 } hipLaunchParams;
793 typedef enum hipExternalMemoryHandleType_enum {
794 hipExternalMemoryHandleTypeOpaqueFd = 1,
795 hipExternalMemoryHandleTypeOpaqueWin32 = 2,
796 hipExternalMemoryHandleTypeOpaqueWin32Kmt = 3,
797 hipExternalMemoryHandleTypeD3D12Heap = 4,
798 hipExternalMemoryHandleTypeD3D12Resource = 5,
799 hipExternalMemoryHandleTypeD3D11Resource = 6,
800 hipExternalMemoryHandleTypeD3D11ResourceKmt = 7,
801 } hipExternalMemoryHandleType;
802 typedef struct hipExternalMemoryHandleDesc_st {
803 hipExternalMemoryHandleType type;
804 union {
805 int fd;
806 struct {
807 void *handle;
808 const void *name;
809 } win32;
810 } handle;
811 unsigned long long size;
812 unsigned int flags;
813 } hipExternalMemoryHandleDesc;
814 typedef struct hipExternalMemoryBufferDesc_st {
815 unsigned long long offset;
816 unsigned long long size;
817 unsigned int flags;
818 } hipExternalMemoryBufferDesc;
819 typedef void* hipExternalMemory_t;
820 typedef enum hipExternalSemaphoreHandleType_enum {
821 hipExternalSemaphoreHandleTypeOpaqueFd = 1,
822 hipExternalSemaphoreHandleTypeOpaqueWin32 = 2,
823 hipExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3,
824 hipExternalSemaphoreHandleTypeD3D12Fence = 4
825 } hipExternalSemaphoreHandleType;
826 typedef struct hipExternalSemaphoreHandleDesc_st {
827 hipExternalSemaphoreHandleType type;
828 union {
829 int fd;
830 struct {
831 void* handle;
832 const void* name;
833 } win32;
834 } handle;
835 unsigned int flags;
836 } hipExternalSemaphoreHandleDesc;
837 typedef void* hipExternalSemaphore_t;
838 typedef struct hipExternalSemaphoreSignalParams_st {
839 struct {
840 struct {
841 unsigned long long value;
842 } fence;
843 struct {
844 unsigned long long key;
845 } keyedMutex;
846 unsigned int reserved[12];
847 } params;
848 unsigned int flags;
849 unsigned int reserved[16];
850 } hipExternalSemaphoreSignalParams;
854 typedef struct hipExternalSemaphoreWaitParams_st {
855 struct {
856 struct {
857 unsigned long long value;
858 } fence;
859 struct {
860 unsigned long long key;
861 unsigned int timeoutMs;
862 } keyedMutex;
863 unsigned int reserved[10];
864 } params;
865 unsigned int flags;
866 unsigned int reserved[16];
867 } hipExternalSemaphoreWaitParams;
868
869 #if __HIP_HAS_GET_PCH
870
875 void __hipGetPCH(const char** pch, unsigned int*size);
876 #endif
877
878 /*
879 * @brief HIP Devices used by current OpenGL Context.
880 * @enum
881 * @ingroup Enumerations
882 */
883 typedef enum hipGLDeviceList {
884 hipGLDeviceListAll = 1,
885 hipGLDeviceListCurrentFrame = 2,
886 hipGLDeviceListNextFrame = 3
888 } hipGLDeviceList;
890
891 /*
892 * @brief HIP Access falgs for Interop resources.
893 * @enum
894 * @ingroup Enumerations
895 */
896 typedef enum hipGraphicsRegisterFlags {
897 hipGraphicsRegisterFlagsNone = 0,
898 hipGraphicsRegisterFlagsReadOnly = 1,
899 hipGraphicsRegisterFlagsWriteDiscard =
900 2,
901 hipGraphicsRegisterFlagsSurfaceLoadStore = 4,
902 hipGraphicsRegisterFlagsTextureGather =
903 8
904 } hipGraphicsRegisterFlags;
905
906 typedef struct _hipGraphicsResource hipGraphicsResource;
907
908 typedef hipGraphicsResource* hipGraphicsResource_t;
909
910 // Doxygen end group GlobalDefs
912 //-------------------------------------------------------------------------------------------------
913 // The handle allows the async commands to use the stream even if the parent hipStream_t goes
914 // out-of-scope.
915 // typedef class ihipStream_t * hipStream_t;
916 /*
917 * Opaque structure allows the true event (pointed at by the handle) to remain "live" even if the
918 * surrounding hipEvent_t goes out-of-scope. This is handy for cases where the hipEvent_t goes
919 * out-of-scope but the true event is being written by some async queue or device */
920 // typedef struct hipEvent_t {
921 // struct ihipEvent_t *_handle;
922 //} hipEvent_t;
941 // TODO-ctx - more description on error codes.
942 hipError_t hipInit(unsigned int flags);
958 hipError_t hipDriverGetVersion(int* driverVersion);
973 hipError_t hipRuntimeGetVersion(int* runtimeVersion);
981 hipError_t hipDeviceGet(hipDevice_t* device, int ordinal);
990 hipError_t hipDeviceComputeCapability(int* major, int* minor, hipDevice_t device);
999 hipError_t hipDeviceGetName(char* name, int len, hipDevice_t device);
1009 hipError_t hipDeviceGetP2PAttribute(int* value, hipDeviceP2PAttr attr,
1010 int srcDevice, int dstDevice);
1019 hipError_t hipDeviceGetPCIBusId(char* pciBusId, int len, int device);
1027 hipError_t hipDeviceGetByPCIBusId(int* device, const char* pciBusId);
1035 hipError_t hipDeviceTotalMem(size_t* bytes, hipDevice_t device);
1036 // doxygen end initialization
1055 hipError_t hipDeviceSynchronize(void);
1067 hipError_t hipDeviceReset(void);
1099 hipError_t hipSetDevice(int deviceId);
1113 hipError_t hipGetDevice(int* deviceId);
1126 hipError_t hipGetDeviceCount(int* count);
1136 hipError_t hipDeviceGetAttribute(int* pi, hipDeviceAttribute_t attr, int deviceId);
1150 hipError_t hipGetDeviceProperties(hipDeviceProp_t* prop, int deviceId);
1161 hipError_t hipDeviceSetCacheConfig(hipFuncCache_t cacheConfig);
1172 hipError_t hipDeviceGetCacheConfig(hipFuncCache_t* cacheConfig);
1183 hipError_t hipDeviceGetLimit(size_t* pValue, enum hipLimit_t limit);
1195 hipError_t hipDeviceGetSharedMemConfig(hipSharedMemConfig* pConfig);
1203 hipError_t hipGetDeviceFlags(unsigned int* flags);
1215 hipError_t hipDeviceSetSharedMemConfig(hipSharedMemConfig config);
1240 hipError_t hipSetDeviceFlags(unsigned flags);
1249 hipError_t hipChooseDevice(int* device, const hipDeviceProp_t* prop);
1262 hipError_t hipExtGetLinkTypeAndHopCount(int device1, int device2, uint32_t* linktype, uint32_t* hopcount);
1263 // TODO: implement IPC apis
1289 hipError_t hipIpcGetMemHandle(hipIpcMemHandle_t* handle, void* devPtr);
1326 hipError_t hipIpcOpenMemHandle(void** devPtr, hipIpcMemHandle_t handle, unsigned int flags);
1345 hipError_t hipIpcCloseMemHandle(void* devPtr);
1346
1361 hipError_t hipIpcGetEventHandle(hipIpcEventHandle_t* handle, hipEvent_t event);
1362
1378 hipError_t hipIpcOpenEventHandle(hipEvent_t* event, hipIpcEventHandle_t handle);
1379
1380 // end doxygen Device
1404 hipError_t hipFuncSetAttribute(const void* func, hipFuncAttribute attr, int value);
1415 hipError_t hipFuncSetCacheConfig(const void* func, hipFuncCache_t config);
1428 hipError_t hipFuncSetSharedMemConfig(const void* func, hipSharedMemConfig config);
1429 //doxygen end execution
1451 hipError_t hipGetLastError(void);
1462 hipError_t hipPeekAtLastError(void);
1471 const char* hipGetErrorName(hipError_t hip_error);
1482 const char* hipGetErrorString(hipError_t hipError);
1483 // end doxygen Error
1513 hipError_t hipStreamCreate(hipStream_t* stream);
1530 hipError_t hipStreamCreateWithFlags(hipStream_t* stream, unsigned int flags);
1548 hipError_t hipStreamCreateWithPriority(hipStream_t* stream, unsigned int flags, int priority);
1562 hipError_t hipDeviceGetStreamPriorityRange(int* leastPriority, int* greatestPriority);
1581 hipError_t hipStreamDestroy(hipStream_t stream);
1597 hipError_t hipStreamQuery(hipStream_t stream);
1617 hipError_t hipStreamSynchronize(hipStream_t stream);
1637 hipError_t hipStreamWaitEvent(hipStream_t stream, hipEvent_t event, unsigned int flags);
1651 hipError_t hipStreamGetFlags(hipStream_t stream, unsigned int* flags);
1665 hipError_t hipStreamGetPriority(hipStream_t stream, int* priority);
1685 hipError_t hipExtStreamCreateWithCUMask(hipStream_t* stream, uint32_t cuMaskSize, const uint32_t* cuMask);
1698 hipError_t hipExtStreamGetCUMask(hipStream_t stream, uint32_t cuMaskSize, uint32_t* cuMask);
1702 typedef void (*hipStreamCallback_t)(hipStream_t stream, hipError_t status, void* userData);
1718 hipError_t hipStreamAddCallback(hipStream_t stream, hipStreamCallback_t callback, void* userData,
1719 unsigned int flags);
1720 // end doxygen Stream
1763 hipError_t hipStreamWaitValue32(hipStream_t stream, void* ptr, uint32_t value, unsigned int flags,
1764 uint32_t mask __dparm(0xFFFFFFFF));
1797 hipError_t hipStreamWaitValue64(hipStream_t stream, void* ptr, uint64_t value, unsigned int flags,
1798 uint64_t mask __dparm(0xFFFFFFFFFFFFFFFF));
1818 hipError_t hipStreamWriteValue32(hipStream_t stream, void* ptr, uint32_t value, unsigned int flags);
1838 hipError_t hipStreamWriteValue64(hipStream_t stream, void* ptr, uint64_t value, unsigned int flags);
1839 // end doxygen Stream Memory Operations
1872 hipError_t hipEventCreateWithFlags(hipEvent_t* event, unsigned flags);
1884 hipError_t hipEventCreate(hipEvent_t* event);
1912 #ifdef __cplusplus
1913 hipError_t hipEventRecord(hipEvent_t event, hipStream_t stream = NULL);
1914 #else
1915 hipError_t hipEventRecord(hipEvent_t event, hipStream_t stream);
1916 #endif
1917
1933 hipError_t hipEventDestroy(hipEvent_t event);
1951 hipError_t hipEventSynchronize(hipEvent_t event);
1987 hipError_t hipEventElapsedTime(float* ms, hipEvent_t start, hipEvent_t stop);
2003 hipError_t hipEventQuery(hipEvent_t event);
2004 // end doxygen Events
2031 hipError_t hipPointerGetAttributes(hipPointerAttribute_t* attributes, const void* ptr);
2046 hipError_t hipPointerGetAttribute(void* data, hipPointer_attribute attribute,
2047 hipDeviceptr_t ptr);
2064 hipError_t hipDrvPointerGetAttributes(unsigned int numAttributes, hipPointer_attribute* attributes,
2065 void** data, hipDeviceptr_t ptr);
2076 hipError_t hipImportExternalSemaphore(hipExternalSemaphore_t* extSem_out,
2077 const hipExternalSemaphoreHandleDesc* semHandleDesc);
2090 hipError_t hipSignalExternalSemaphoresAsync(const hipExternalSemaphore_t* extSemArray,
2091 const hipExternalSemaphoreSignalParams* paramsArray,
2092 unsigned int numExtSems, hipStream_t stream);
2105 hipError_t hipWaitExternalSemaphoresAsync(const hipExternalSemaphore_t* extSemArray,
2106 const hipExternalSemaphoreWaitParams* paramsArray,
2107 unsigned int numExtSems, hipStream_t stream);
2117 hipError_t hipDestroyExternalSemaphore(hipExternalSemaphore_t extSem);
2118
2129 hipError_t hipImportExternalMemory(hipExternalMemory_t* extMem_out, const hipExternalMemoryHandleDesc* memHandleDesc);
2141 hipError_t hipExternalMemoryGetMappedBuffer(void **devPtr, hipExternalMemory_t extMem, const hipExternalMemoryBufferDesc *bufferDesc);
2151 hipError_t hipDestroyExternalMemory(hipExternalMemory_t extMem);
2165 hipError_t hipMalloc(void** ptr, size_t size);
2180 hipError_t hipExtMallocWithFlags(void** ptr, size_t sizeBytes, unsigned int flags);
2193 DEPRECATED("use hipHostMalloc instead")
2194 hipError_t hipMallocHost(void** ptr, size_t size);
2207 DEPRECATED("use hipHostMalloc instead")
2208 hipError_t hipMemAllocHost(void** ptr, size_t size);
2222 hipError_t hipHostMalloc(void** ptr, size_t size, unsigned int flags);
2242 hipError_t hipMallocManaged(void** dev_ptr,
2243 size_t size,
2244 unsigned int flags __dparm(hipMemAttachGlobal));
2255 hipError_t hipMemPrefetchAsync(const void* dev_ptr,
2256 size_t count,
2257 int device,
2258 hipStream_t stream __dparm(0));
2269 hipError_t hipMemAdvise(const void* dev_ptr,
2270 size_t count,
2271 hipMemoryAdvise advice,
2272 int device);
2285 hipError_t hipMemRangeGetAttribute(void* data,
2286 size_t data_size,
2287 hipMemRangeAttribute attribute,
2288 const void* dev_ptr,
2289 size_t count);
2304 hipError_t hipMemRangeGetAttributes(void** data,
2305 size_t* data_sizes,
2306 hipMemRangeAttribute* attributes,
2307 size_t num_attributes,
2308 const void* dev_ptr,
2309 size_t count);
2322 hipError_t hipStreamAttachMemAsync(hipStream_t stream,
2323 void* dev_ptr,
2324 size_t length __dparm(0),
2325 unsigned int flags __dparm(hipMemAttachSingle));
2326 // end doxygen Managed Memory
2343 DEPRECATED("use hipHostMalloc instead")
2344 hipError_t hipHostAlloc(void** ptr, size_t size, unsigned int flags);
2356 hipError_t hipHostGetDevicePointer(void** devPtr, void* hstPtr, unsigned int flags);
2366 hipError_t hipHostGetFlags(unsigned int* flagsPtr, void* hostPtr);
2403 hipError_t hipHostRegister(void* hostPtr, size_t sizeBytes, unsigned int flags);
2412 hipError_t hipHostUnregister(void* hostPtr);
2431 hipError_t hipMallocPitch(void** ptr, size_t* pitch, size_t width, size_t height);
2453 hipError_t hipMemAllocPitch(hipDeviceptr_t* dptr, size_t* pitch, size_t widthInBytes, size_t height, unsigned int elementSizeBytes);
2467 hipError_t hipFree(void* ptr);
2477 DEPRECATED("use hipHostFree instead")
2478 hipError_t hipFreeHost(void* ptr);
2492 hipError_t hipHostFree(void* ptr);
2522 hipError_t hipMemcpy(void* dst, const void* src, size_t sizeBytes, hipMemcpyKind kind);
2523 // TODO: Add description
2524 hipError_t hipMemcpyWithStream(void* dst, const void* src, size_t sizeBytes,
2525 hipMemcpyKind kind, hipStream_t stream);
2543 hipError_t hipMemcpyHtoD(hipDeviceptr_t dst, void* src, size_t sizeBytes);
2561 hipError_t hipMemcpyDtoH(void* dst, hipDeviceptr_t src, size_t sizeBytes);
2579 hipError_t hipMemcpyDtoD(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes);
2597 hipError_t hipMemcpyHtoDAsync(hipDeviceptr_t dst, void* src, size_t sizeBytes, hipStream_t stream);
2615 hipError_t hipMemcpyDtoHAsync(void* dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream);
2633 hipError_t hipMemcpyDtoDAsync(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes,
2634 hipStream_t stream);
2635
2650 hipError_t hipModuleGetGlobal(hipDeviceptr_t* dptr, size_t* bytes,
2651 hipModule_t hmod, const char* name);
2652 hipError_t hipGetSymbolAddress(void** devPtr, const void* symbol);
2653 hipError_t hipGetSymbolSize(size_t* size, const void* symbol);
2654 hipError_t hipMemcpyToSymbol(const void* symbol, const void* src,
2655 size_t sizeBytes, size_t offset __dparm(0),
2656 hipMemcpyKind kind __dparm(hipMemcpyHostToDevice));
2657 hipError_t hipMemcpyToSymbolAsync(const void* symbol, const void* src,
2658 size_t sizeBytes, size_t offset,
2659 hipMemcpyKind kind, hipStream_t stream __dparm(0));
2660 hipError_t hipMemcpyFromSymbol(void* dst, const void* symbol,
2661 size_t sizeBytes, size_t offset __dparm(0),
2662 hipMemcpyKind kind __dparm(hipMemcpyDeviceToHost));
2663 hipError_t hipMemcpyFromSymbolAsync(void* dst, const void* symbol,
2664 size_t sizeBytes, size_t offset,
2665 hipMemcpyKind kind,
2666 hipStream_t stream __dparm(0));
2695 hipError_t hipMemcpyAsync(void* dst, const void* src, size_t sizeBytes, hipMemcpyKind kind,
2696 hipStream_t stream __dparm(0));
2706 hipError_t hipMemset(void* dst, int value, size_t sizeBytes);
2716 hipError_t hipMemsetD8(hipDeviceptr_t dest, unsigned char value, size_t count);
2732 hipError_t hipMemsetD8Async(hipDeviceptr_t dest, unsigned char value, size_t count, hipStream_t stream __dparm(0));
2742 hipError_t hipMemsetD16(hipDeviceptr_t dest, unsigned short value, size_t count);
2758 hipError_t hipMemsetD16Async(hipDeviceptr_t dest, unsigned short value, size_t count, hipStream_t stream __dparm(0));
2768 hipError_t hipMemsetD32(hipDeviceptr_t dest, int value, size_t count);
2784 hipError_t hipMemsetAsync(void* dst, int value, size_t sizeBytes, hipStream_t stream __dparm(0));
2800 hipError_t hipMemsetD32Async(hipDeviceptr_t dst, int value, size_t count,
2801 hipStream_t stream __dparm(0));
2812 hipError_t hipMemset2D(void* dst, size_t pitch, int value, size_t width, size_t height);
2824 hipError_t hipMemset2DAsync(void* dst, size_t pitch, int value, size_t width, size_t height,hipStream_t stream __dparm(0));
2833 hipError_t hipMemset3D(hipPitchedPtr pitchedDevPtr, int value, hipExtent extent );
2843 hipError_t hipMemset3DAsync(hipPitchedPtr pitchedDevPtr, int value, hipExtent extent ,hipStream_t stream __dparm(0));
2853 hipError_t hipMemGetInfo(size_t* free, size_t* total);
2854 hipError_t hipMemPtrGetInfo(void* ptr, size_t* size);
2867 hipError_t hipMallocArray(hipArray** array, const hipChannelFormatDesc* desc, size_t width,
2868 size_t height __dparm(0), unsigned int flags __dparm(hipArrayDefault));
2869 hipError_t hipArrayCreate(hipArray** pHandle, const HIP_ARRAY_DESCRIPTOR* pAllocateArray);
2870 hipError_t hipArrayDestroy(hipArray* array);
2871 hipError_t hipArray3DCreate(hipArray** array, const HIP_ARRAY3D_DESCRIPTOR* pAllocateArray);
2872 hipError_t hipMalloc3D(hipPitchedPtr* pitchedDevPtr, hipExtent extent);
2881 hipError_t hipFreeArray(hipArray* array);
2889 hipError_t hipFreeMipmappedArray(hipMipmappedArray_t mipmappedArray);
2901 hipError_t hipMalloc3DArray(hipArray** array, const struct hipChannelFormatDesc* desc,
2902 struct hipExtent extent, unsigned int flags);
2914 hipError_t hipMallocMipmappedArray(
2915 hipMipmappedArray_t *mipmappedArray,
2916 const struct hipChannelFormatDesc* desc,
2917 struct hipExtent extent,
2918 unsigned int numLevels,
2919 unsigned int flags __dparm(0));
2929 hipError_t hipGetMipmappedArrayLevel(
2930 hipArray_t *levelArray,
2931 hipMipmappedArray_const_t mipmappedArray,
2932 unsigned int level);
2949 hipError_t hipMemcpy2D(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width,
2950 size_t height, hipMemcpyKind kind);
2960 hipError_t hipMemcpyParam2D(const hip_Memcpy2D* pCopy);
2971 hipError_t hipMemcpyParam2DAsync(const hip_Memcpy2D* pCopy, hipStream_t stream __dparm(0));
2989 hipError_t hipMemcpy2DAsync(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width,
2990 size_t height, hipMemcpyKind kind, hipStream_t stream __dparm(0));
3008 hipError_t hipMemcpy2DToArray(hipArray* dst, size_t wOffset, size_t hOffset, const void* src,
3009 size_t spitch, size_t width, size_t height, hipMemcpyKind kind);
3028 hipError_t hipMemcpy2DToArrayAsync(hipArray* dst, size_t wOffset, size_t hOffset, const void* src,
3029 size_t spitch, size_t width, size_t height, hipMemcpyKind kind,
3030 hipStream_t stream __dparm(0));
3046 DEPRECATED(DEPRECATED_MSG)
3047 hipError_t hipMemcpyToArray(hipArray* dst, size_t wOffset, size_t hOffset, const void* src,
3048 size_t count, hipMemcpyKind kind);
3064 DEPRECATED(DEPRECATED_MSG)
3065 hipError_t hipMemcpyFromArray(void* dst, hipArray_const_t srcArray, size_t wOffset, size_t hOffset,
3066 size_t count, hipMemcpyKind kind);
3084 hipError_t hipMemcpy2DFromArray( void* dst, size_t dpitch, hipArray_const_t src, size_t wOffset, size_t hOffset, size_t width, size_t height, hipMemcpyKind kind);
3103 hipError_t hipMemcpy2DFromArrayAsync( void* dst, size_t dpitch, hipArray_const_t src, size_t wOffset, size_t hOffset, size_t width, size_t height, hipMemcpyKind kind, hipStream_t stream __dparm(0));
3117 hipError_t hipMemcpyAtoH(void* dst, hipArray* srcArray, size_t srcOffset, size_t count);
3131 hipError_t hipMemcpyHtoA(hipArray* dstArray, size_t dstOffset, const void* srcHost, size_t count);
3142 hipError_t hipMemcpy3D(const struct hipMemcpy3DParms* p);
3154 hipError_t hipMemcpy3DAsync(const struct hipMemcpy3DParms* p, hipStream_t stream __dparm(0));
3165 hipError_t hipDrvMemcpy3D(const HIP_MEMCPY3D* pCopy);
3177 hipError_t hipDrvMemcpy3DAsync(const HIP_MEMCPY3D* pCopy, hipStream_t stream);
3178 // doxygen end Memory
3206 hipError_t hipDeviceCanAccessPeer(int* canAccessPeer, int deviceId, int peerDeviceId);
3223 hipError_t hipDeviceEnablePeerAccess(int peerDeviceId, unsigned int flags);
3235 hipError_t hipDeviceDisablePeerAccess(int peerDeviceId);
3248 hipError_t hipMemGetAddressRange(hipDeviceptr_t* pbase, size_t* psize, hipDeviceptr_t dptr);
3249 #ifndef USE_PEER_NON_UNIFIED
3250 #define USE_PEER_NON_UNIFIED 1
3251 #endif
3252 #if USE_PEER_NON_UNIFIED == 1
3253
3264 hipError_t hipMemcpyPeer(void* dst, int dstDeviceId, const void* src, int srcDeviceId,
3265 size_t sizeBytes);
3278 hipError_t hipMemcpyPeerAsync(void* dst, int dstDeviceId, const void* src, int srcDevice,
3279 size_t sizeBytes, hipStream_t stream __dparm(0));
3280 #endif
3281 // doxygen end PeerToPeer
3311 DEPRECATED(DEPRECATED_MSG)
3312 hipError_t hipCtxCreate(hipCtx_t* ctx, unsigned int flags, hipDevice_t device);
3323 DEPRECATED(DEPRECATED_MSG)
3324 hipError_t hipCtxDestroy(hipCtx_t ctx);
3335 DEPRECATED(DEPRECATED_MSG)
3336 hipError_t hipCtxPopCurrent(hipCtx_t* ctx);
3347 DEPRECATED(DEPRECATED_MSG)
3348 hipError_t hipCtxPushCurrent(hipCtx_t ctx);
3359 DEPRECATED(DEPRECATED_MSG)
3360 hipError_t hipCtxSetCurrent(hipCtx_t ctx);
3371 DEPRECATED(DEPRECATED_MSG)
3372 hipError_t hipCtxGetCurrent(hipCtx_t* ctx);
3383 DEPRECATED(DEPRECATED_MSG)
3384 hipError_t hipCtxGetDevice(hipDevice_t* device);
3402 DEPRECATED(DEPRECATED_MSG)
3403 hipError_t hipCtxGetApiVersion(hipCtx_t ctx, int* apiVersion);
3417 DEPRECATED(DEPRECATED_MSG)
3418 hipError_t hipCtxGetCacheConfig(hipFuncCache_t* cacheConfig);
3432 DEPRECATED(DEPRECATED_MSG)
3433 hipError_t hipCtxSetCacheConfig(hipFuncCache_t cacheConfig);
3447 DEPRECATED(DEPRECATED_MSG)
3448 hipError_t hipCtxSetSharedMemConfig(hipSharedMemConfig config);
3462 DEPRECATED(DEPRECATED_MSG)
3463 hipError_t hipCtxGetSharedMemConfig(hipSharedMemConfig* pConfig);
3475 DEPRECATED(DEPRECATED_MSG)
3476 hipError_t hipCtxSynchronize(void);
3487 DEPRECATED(DEPRECATED_MSG)
3488 hipError_t hipCtxGetFlags(unsigned int* flags);
3508 DEPRECATED(DEPRECATED_MSG)
3509 hipError_t hipCtxEnablePeerAccess(hipCtx_t peerCtx, unsigned int flags);
3526 DEPRECATED(DEPRECATED_MSG)
3527 hipError_t hipCtxDisablePeerAccess(hipCtx_t peerCtx);
3528 // doxygen end Context deprecated
3544 hipError_t hipDevicePrimaryCtxGetState(hipDevice_t dev, unsigned int* flags, int* active);
3557 hipError_t hipDevicePrimaryCtxRelease(hipDevice_t dev);
3569 hipError_t hipDevicePrimaryCtxRetain(hipCtx_t* pctx, hipDevice_t dev);
3580 hipError_t hipDevicePrimaryCtxReset(hipDevice_t dev);
3592 hipError_t hipDevicePrimaryCtxSetFlags(hipDevice_t dev, unsigned int flags);
3593 // doxygen end Context Management
3615 hipError_t hipModuleLoad(hipModule_t* module, const char* fname);
3625 hipError_t hipModuleUnload(hipModule_t module);
3636 hipError_t hipModuleGetFunction(hipFunction_t* function, hipModule_t module, const char* kname);
3645 hipError_t hipFuncGetAttributes(struct hipFuncAttributes* attr, const void* func);
3655 hipError_t hipFuncGetAttribute(int* value, hipFunction_attribute attrib, hipFunction_t hfunc);
3665 hipError_t hipModuleGetTexRef(textureReference** texRef, hipModule_t hmod, const char* name);
3675 hipError_t hipModuleLoadData(hipModule_t* module, const void* image);
3688 hipError_t hipModuleLoadDataEx(hipModule_t* module, const void* image, unsigned int numOptions,
3689 hipJitOption* options, void** optionValues);
3714 hipError_t hipModuleLaunchKernel(hipFunction_t f, unsigned int gridDimX, unsigned int gridDimY,
3715 unsigned int gridDimZ, unsigned int blockDimX,
3716 unsigned int blockDimY, unsigned int blockDimZ,
3717 unsigned int sharedMemBytes, hipStream_t stream,
3718 void** kernelParams, void** extra);
3734 hipError_t hipLaunchCooperativeKernel(const void* f, dim3 gridDim, dim3 blockDimX,
3735 void** kernelParams, unsigned int sharedMemBytes,
3736 hipStream_t stream);
3747 hipError_t hipLaunchCooperativeKernelMultiDevice(hipLaunchParams* launchParamsList,
3748 int numDevices, unsigned int flags);
3760 hipError_t hipExtLaunchMultiKernelMultiDevice(hipLaunchParams* launchParamsList,
3761 int numDevices, unsigned int flags);
3762 // doxygen end Module
3784 //TODO - Match CUoccupancyB2DSize
3785 hipError_t hipModuleOccupancyMaxPotentialBlockSize(int* gridSize, int* blockSize,
3786 hipFunction_t f, size_t dynSharedMemPerBlk,
3787 int blockSizeLimit);
3800 //TODO - Match CUoccupancyB2DSize
3801 hipError_t hipModuleOccupancyMaxPotentialBlockSizeWithFlags(int* gridSize, int* blockSize,
3802 hipFunction_t f, size_t dynSharedMemPerBlk,
3803 int blockSizeLimit, unsigned int flags);
3812 hipError_t hipModuleOccupancyMaxActiveBlocksPerMultiprocessor(
3813 int* numBlocks, hipFunction_t f, int blockSize, size_t dynSharedMemPerBlk);
3823 hipError_t hipModuleOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(
3824 int* numBlocks, hipFunction_t f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags);
3833 hipError_t hipOccupancyMaxActiveBlocksPerMultiprocessor(
3834 int* numBlocks, const void* f, int blockSize, size_t dynSharedMemPerBlk);
3844 hipError_t hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(
3845 int* numBlocks, const void* f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags __dparm(hipOccupancyDefault));
3857 hipError_t hipOccupancyMaxPotentialBlockSize(int* gridSize, int* blockSize,
3858 const void* f, size_t dynSharedMemPerBlk,
3859 int blockSizeLimit);
3860 // doxygen end Occupancy
3874 // TODO - expand descriptions:
3880 DEPRECATED("use roctracer/rocTX instead")
3881 hipError_t hipProfilerStart();
3887 DEPRECATED("use roctracer/rocTX instead")
3888 hipError_t hipProfilerStop();
3889 // doxygen end profiler
3913 hipError_t hipConfigureCall(dim3 gridDim, dim3 blockDim, size_t sharedMem __dparm(0), hipStream_t stream __dparm(0));
3924 hipError_t hipSetupArgument(const void* arg, size_t size, size_t offset);
3933 hipError_t hipLaunchByPtr(const void* func);
3947 hipError_t __hipPushCallConfiguration(dim3 gridDim,
3948 dim3 blockDim,
3949 size_t sharedMem __dparm(0),
3950 hipStream_t stream __dparm(0));
3964 hipError_t __hipPopCallConfiguration(dim3 *gridDim,
3965 dim3 *blockDim,
3966 size_t *sharedMem,
3967 hipStream_t *stream);
3983 hipError_t hipLaunchKernel(const void* function_address,
3984 dim3 numBlocks,
3985 dim3 dimBlocks,
3986 void** args,
3987 size_t sharedMemBytes __dparm(0),
3988 hipStream_t stream __dparm(0));
3996 hipError_t hipDrvMemcpy2DUnaligned(const hip_Memcpy2D* pCopy);
3997 //TODO: Move this to hip_ext.h
4018 hipError_t hipExtLaunchKernel(const void* function_address, dim3 numBlocks, dim3 dimBlocks,
4019 void** args, size_t sharedMemBytes, hipStream_t stream,
4020 hipEvent_t startEvent, hipEvent_t stopEvent, int flags);
4021 // doxygen end Clang launch
4039 DEPRECATED(DEPRECATED_MSG)
4040 hipError_t hipBindTexture(
4041 size_t* offset,
4042 const textureReference* tex,
4043 const void* devPtr,
4044 const hipChannelFormatDesc* desc,
4045 size_t size __dparm(UINT_MAX));
4046 DEPRECATED(DEPRECATED_MSG)
4047 hipError_t hipBindTexture2D(
4048 size_t* offset,
4049 const textureReference* tex,
4050 const void* devPtr,
4051 const hipChannelFormatDesc* desc,
4052 size_t width,
4053 size_t height,
4054 size_t pitch);
4055 DEPRECATED(DEPRECATED_MSG)
4056 hipError_t hipBindTextureToArray(
4057 const textureReference* tex,
4058 hipArray_const_t array,
4059 const hipChannelFormatDesc* desc);
4060 DEPRECATED(DEPRECATED_MSG)
4061 hipError_t hipGetTextureAlignmentOffset(
4062 size_t* offset,
4063 const textureReference* texref);
4064 DEPRECATED(DEPRECATED_MSG)
4065 hipError_t hipUnbindTexture(const textureReference* tex);
4066 DEPRECATED(DEPRECATED_MSG)
4067 hipError_t hipTexRefGetAddress(
4068 hipDeviceptr_t* dev_ptr,
4069 const textureReference* texRef);
4070 DEPRECATED(DEPRECATED_MSG)
4071 hipError_t hipTexRefGetAddressMode(
4072 enum hipTextureAddressMode* pam,
4073 const textureReference* texRef,
4074 int dim);
4075 DEPRECATED(DEPRECATED_MSG)
4076 hipError_t hipTexRefGetFilterMode(
4077 enum hipTextureFilterMode* pfm,
4078 const textureReference* texRef);
4079 DEPRECATED(DEPRECATED_MSG)
4080 hipError_t hipTexRefGetFlags(
4081 unsigned int* pFlags,
4082 const textureReference* texRef);
4083 DEPRECATED(DEPRECATED_MSG)
4084 hipError_t hipTexRefGetFormat(
4085 hipArray_Format* pFormat,
4086 int* pNumChannels,
4087 const textureReference* texRef);
4088 DEPRECATED(DEPRECATED_MSG)
4089 hipError_t hipTexRefGetMaxAnisotropy(
4090 int* pmaxAnsio,
4091 const textureReference* texRef);
4092 DEPRECATED(DEPRECATED_MSG)
4093 hipError_t hipTexRefGetMipmapFilterMode(
4094 enum hipTextureFilterMode* pfm,
4095 const textureReference* texRef);
4096 DEPRECATED(DEPRECATED_MSG)
4097 hipError_t hipTexRefGetMipmapLevelBias(
4098 float* pbias,
4099 const textureReference* texRef);
4100 DEPRECATED(DEPRECATED_MSG)
4101 hipError_t hipTexRefGetMipmapLevelClamp(
4102 float* pminMipmapLevelClamp,
4103 float* pmaxMipmapLevelClamp,
4104 const textureReference* texRef);
4105 DEPRECATED(DEPRECATED_MSG)
4106 hipError_t hipTexRefGetMipMappedArray(
4107 hipMipmappedArray_t* pArray,
4108 const textureReference* texRef);
4109 DEPRECATED(DEPRECATED_MSG)
4110 hipError_t hipTexRefSetAddress(
4111 size_t* ByteOffset,
4112 textureReference* texRef,
4113 hipDeviceptr_t dptr,
4114 size_t bytes);
4115 DEPRECATED(DEPRECATED_MSG)
4116 hipError_t hipTexRefSetAddress2D(
4117 textureReference* texRef,
4118 const HIP_ARRAY_DESCRIPTOR* desc,
4119 hipDeviceptr_t dptr,
4120 size_t Pitch);
4121 DEPRECATED(DEPRECATED_MSG)
4122 hipError_t hipTexRefSetMaxAnisotropy(
4123 textureReference* texRef,
4124 unsigned int maxAniso);
4125 // doxygen end deprecated texture management
4129 hipError_t hipBindTextureToMipmappedArray(
4130 const textureReference* tex,
4131 hipMipmappedArray_const_t mipmappedArray,
4132 const hipChannelFormatDesc* desc);
4133 hipError_t hipGetTextureReference(
4134 const textureReference** texref,
4135 const void* symbol);
4136 hipError_t hipCreateTextureObject(
4137 hipTextureObject_t* pTexObject,
4138 const hipResourceDesc* pResDesc,
4139 const hipTextureDesc* pTexDesc,
4140 const struct hipResourceViewDesc* pResViewDesc);
4141 hipError_t hipDestroyTextureObject(hipTextureObject_t textureObject);
4142 hipError_t hipGetChannelDesc(
4143 hipChannelFormatDesc* desc,
4144 hipArray_const_t array);
4145 hipError_t hipGetTextureObjectResourceDesc(
4146 hipResourceDesc* pResDesc,
4147 hipTextureObject_t textureObject);
4148 hipError_t hipGetTextureObjectResourceViewDesc(
4149 struct hipResourceViewDesc* pResViewDesc,
4150 hipTextureObject_t textureObject);
4151 hipError_t hipGetTextureObjectTextureDesc(
4152 hipTextureDesc* pTexDesc,
4153 hipTextureObject_t textureObject);
4154
4155 hipError_t hipTexRefSetAddressMode(
4156 textureReference* texRef,
4157 int dim,
4158 enum hipTextureAddressMode am);
4159 hipError_t hipTexRefSetArray(
4160 textureReference* tex,
4161 hipArray_const_t array,
4162 unsigned int flags);
4163 hipError_t hipTexRefSetFilterMode(
4164 textureReference* texRef,
4165 enum hipTextureFilterMode fm);
4166 hipError_t hipTexRefSetFlags(
4167 textureReference* texRef,
4168 unsigned int Flags);
4169 hipError_t hipTexRefSetFormat(
4170 textureReference* texRef,
4171 hipArray_Format fmt,
4172 int NumPackedComponents);
4173 hipError_t hipTexObjectCreate(
4174 hipTextureObject_t* pTexObject,
4175 const HIP_RESOURCE_DESC* pResDesc,
4176 const HIP_TEXTURE_DESC* pTexDesc,
4177 const HIP_RESOURCE_VIEW_DESC* pResViewDesc);
4178 hipError_t hipTexObjectDestroy(
4179 hipTextureObject_t texObject);
4180 hipError_t hipTexObjectGetResourceDesc(
4181 HIP_RESOURCE_DESC* pResDesc,
4182 hipTextureObject_t texObject);
4183 hipError_t hipTexObjectGetResourceViewDesc(
4184 HIP_RESOURCE_VIEW_DESC* pResViewDesc,
4185 hipTextureObject_t texObject);
4186 hipError_t hipTexObjectGetTextureDesc(
4187 HIP_TEXTURE_DESC* pTexDesc,
4188 hipTextureObject_t texObject);
4189 // doxygen end Texture management
4197 // The following are not supported.
4205 DEPRECATED(DEPRECATED_MSG)
4206 hipError_t hipTexRefSetBorderColor(
4207 textureReference* texRef,
4208 float* pBorderColor);
4209 hipError_t hipTexRefSetMipmapFilterMode(
4210 textureReference* texRef,
4211 enum hipTextureFilterMode fm);
4212 hipError_t hipTexRefSetMipmapLevelBias(
4213 textureReference* texRef,
4214 float bias);
4215 hipError_t hipTexRefSetMipmapLevelClamp(
4216 textureReference* texRef,
4217 float minMipMapLevelClamp,
4218 float maxMipMapLevelClamp);
4219 hipError_t hipTexRefSetMipmappedArray(
4220 textureReference* texRef,
4221 struct hipMipmappedArray* mipmappedArray,
4222 unsigned int Flags);
4223 hipError_t hipMipmappedArrayCreate(
4224 hipMipmappedArray_t* pHandle,
4225 HIP_ARRAY3D_DESCRIPTOR* pMipmappedArrayDesc,
4226 unsigned int numMipmapLevels);
4227 hipError_t hipMipmappedArrayDestroy(
4228 hipMipmappedArray_t hMipmappedArray);
4229 hipError_t hipMipmappedArrayGetLevel(
4230 hipArray_t* pLevelArray,
4231 hipMipmappedArray_t hMipMappedArray,
4232 unsigned int level);
4233 // doxygen end unsuppported texture management
4237 // doxygen end Texture management
4249 // This group is for HIPrtc
4250
4251 // doxygen end Runtime
4262 hipError_t hipRegisterApiCallback(uint32_t id, void* fun, void* arg);
4263 hipError_t hipRemoveApiCallback(uint32_t id);
4264 hipError_t hipRegisterActivityCallback(uint32_t id, void* fun, void* arg);
4265 hipError_t hipRemoveActivityCallback(uint32_t id);
4266 const char* hipApiName(uint32_t id);
4267 const char* hipKernelNameRef(const hipFunction_t f);
4268 const char* hipKernelNameRefByPtr(const void* hostFunction, hipStream_t stream);
4269 int hipGetStreamDeviceId(hipStream_t stream);
4270
4271 // doxygen end Callback
4286 typedef struct ihipGraph* hipGraph_t;
4290 typedef struct hipGraphNode* hipGraphNode_t;
4294 typedef struct hipGraphExec* hipGraphExec_t;
4295
4301 typedef enum hipGraphNodeType {
4302 hipGraphNodeTypeKernel = 1,
4303 hipGraphNodeTypeMemcpy = 2,
4304 hipGraphNodeTypeMemset = 3,
4305 hipGraphNodeTypeHost = 4,
4306 hipGraphNodeTypeGraph = 5,
4307 hipGraphNodeTypeEmpty = 6,
4308 hipGraphNodeTypeWaitEvent = 7,
4309 hipGraphNodeTypeEventRecord = 8,
4310 hipGraphNodeTypeMemcpy1D = 9,
4311 hipGraphNodeTypeMemcpyFromSymbol = 10,
4312 hipGraphNodeTypeMemcpyToSymbol = 11,
4313 hipGraphNodeTypeCount
4314 } hipGraphNodeType;
4315
4316 typedef void (*hipHostFn_t)(void* userData);
4317 typedef struct hipHostNodeParams {
4318 hipHostFn_t fn;
4319 void* userData;
4320 } hipHostNodeParams;
4321 typedef struct hipKernelNodeParams {
4322 dim3 blockDim;
4323 void** extra;
4324 void* func;
4325 dim3 gridDim;
4326 void** kernelParams;
4327 unsigned int sharedMemBytes;
4328 } hipKernelNodeParams;
4329 typedef struct hipMemsetParams {
4330 void* dst;
4331 unsigned int elementSize;
4332 size_t height;
4333 size_t pitch;
4334 unsigned int value;
4335 size_t width;
4336 } hipMemsetParams;
4337
4343 typedef enum hipGraphExecUpdateResult {
4344 hipGraphExecUpdateSuccess = 0x0,
4345 hipGraphExecUpdateError = 0x1,
4346 hipGraphExecUpdateErrorTopologyChanged = 0x2,
4348 hipGraphExecUpdateErrorNodeTypeChanged = 0x3,
4349 hipGraphExecUpdateErrorFunctionChanged =
4350 0x4,
4351 hipGraphExecUpdateErrorParametersChanged =
4352 0x5,
4353 hipGraphExecUpdateErrorNotSupported =
4354 0x6,
4355 hipGraphExecUpdateErrorUnsupportedFunctionChange = 0x7
4356 } hipGraphExecUpdateResult;
4357
4358 typedef enum hipStreamCaptureMode {
4359 hipStreamCaptureModeGlobal = 0,
4360 hipStreamCaptureModeThreadLocal,
4361 hipStreamCaptureModeRelaxed
4362 } hipStreamCaptureMode;
4363 typedef enum hipStreamCaptureStatus {
4364 hipStreamCaptureStatusNone = 0,
4365 hipStreamCaptureStatusActive,
4366 hipStreamCaptureStatusInvalidated
4367 } hipStreamCaptureStatus;
4369
4370 typedef enum hipStreamUpdateCaptureDependenciesFlags {
4371 hipStreamAddCaptureDependencies = 0,
4372 hipStreamSetCaptureDependencies,
4373 } hipStreamUpdateCaptureDependenciesFlags;
4374
4388 hipError_t hipStreamBeginCapture(hipStream_t stream, hipStreamCaptureMode mode);
4389
4402 hipError_t hipStreamEndCapture(hipStream_t stream, hipGraph_t* pGraph);
4403
4417 hipError_t hipStreamGetCaptureInfo(hipStream_t stream, hipStreamCaptureStatus* pCaptureStatus,
4418 unsigned long long* pId);
4419
4436 hipError_t hipStreamGetCaptureInfo_v2(hipStream_t stream, hipStreamCaptureStatus* captureStatus_out,
4437 unsigned long long* id_out __dparm(0),
4438 hipGraph_t* graph_out __dparm(0),
4439 const hipGraphNode_t** dependencies_out __dparm(0),
4440 size_t* numDependencies_out __dparm(0));
4441
4454 hipError_t hipStreamIsCapturing(hipStream_t stream, hipStreamCaptureStatus* pCaptureStatus);
4455
4468 hipError_t hipStreamUpdateCaptureDependencies(hipStream_t stream, hipGraphNode_t* dependencies,
4469 size_t numDependencies,
4470 unsigned int flags __dparm(0));
4471
4484 hipError_t hipGraphCreate(hipGraph_t* pGraph, unsigned int flags);
4485
4497 hipError_t hipGraphDestroy(hipGraph_t graph);
4498
4512 hipError_t hipGraphAddDependencies(hipGraph_t graph, const hipGraphNode_t* from,
4513 const hipGraphNode_t* to, size_t numDependencies);
4514
4528 hipError_t hipGraphRemoveDependencies(hipGraph_t graph, const hipGraphNode_t* from,
4529 const hipGraphNode_t* to, size_t numDependencies);
4530
4548 hipError_t hipGraphGetEdges(hipGraph_t graph, hipGraphNode_t* from, hipGraphNode_t* to,
4549 size_t* numEdges);
4550
4567 hipError_t hipGraphGetNodes(hipGraph_t graph, hipGraphNode_t* nodes, size_t* numNodes);
4568
4585 hipError_t hipGraphGetRootNodes(hipGraph_t graph, hipGraphNode_t* pRootNodes,
4586 size_t* pNumRootNodes);
4587
4604 hipError_t hipGraphNodeGetDependencies(hipGraphNode_t node, hipGraphNode_t* pDependencies,
4605 size_t* pNumDependencies);
4606
4624 hipError_t hipGraphNodeGetDependentNodes(hipGraphNode_t node, hipGraphNode_t* pDependentNodes,
4625 size_t* pNumDependentNodes);
4626
4638 hipError_t hipGraphNodeGetType(hipGraphNode_t node, hipGraphNodeType* pType);
4639
4650 hipError_t hipGraphDestroyNode(hipGraphNode_t node);
4651
4663 hipError_t hipGraphClone(hipGraph_t* pGraphClone, hipGraph_t originalGraph);
4664
4677 hipError_t hipGraphNodeFindInClone(hipGraphNode_t* pNode, hipGraphNode_t originalNode,
4678 hipGraph_t clonedGraph);
4679
4696 hipError_t hipGraphInstantiate(hipGraphExec_t* pGraphExec, hipGraph_t graph,
4697 hipGraphNode_t* pErrorNode, char* pLogBuffer, size_t bufferSize);
4698
4711 hipError_t hipGraphInstantiateWithFlags(hipGraphExec_t* pGraphExec, hipGraph_t graph,
4712 unsigned long long flags);
4713
4724 hipError_t hipGraphLaunch(hipGraphExec_t graphExec, hipStream_t stream);
4725
4736 hipError_t hipGraphExecDestroy(hipGraphExec_t graphExec);
4737
4738 // Check whether an executable graph can be updated with a graph and perform the update if possible.
4752 hipError_t hipGraphExecUpdate(hipGraphExec_t hGraphExec, hipGraph_t hGraph,
4753 hipGraphNode_t* hErrorNode_out,
4754 hipGraphExecUpdateResult* updateResult_out);
4755
4768 hipError_t hipGraphAddKernelNode(hipGraphNode_t* pGraphNode, hipGraph_t graph,
4769 const hipGraphNode_t* pDependencies, size_t numDependencies,
4770 const hipKernelNodeParams* pNodeParams);
4771
4781 hipError_t hipGraphKernelNodeGetParams(hipGraphNode_t node, hipKernelNodeParams* pNodeParams);
4782
4792 hipError_t hipGraphKernelNodeSetParams(hipGraphNode_t node, const hipKernelNodeParams* pNodeParams);
4793
4804 hipError_t hipGraphExecKernelNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node,
4805 const hipKernelNodeParams* pNodeParams);
4806
4819 hipError_t hipGraphAddMemcpyNode(hipGraphNode_t* pGraphNode, hipGraph_t graph,
4820 const hipGraphNode_t* pDependencies, size_t numDependencies,
4821 const hipMemcpy3DParms* pCopyParams);
4831 hipError_t hipGraphMemcpyNodeGetParams(hipGraphNode_t node, hipMemcpy3DParms* pNodeParams);
4832
4842 hipError_t hipGraphMemcpyNodeSetParams(hipGraphNode_t node, const hipMemcpy3DParms* pNodeParams);
4843
4854 hipError_t hipGraphExecMemcpyNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node,
4855 hipMemcpy3DParms* pNodeParams);
4856
4872 hipError_t hipGraphAddMemcpyNode1D(hipGraphNode_t* pGraphNode, hipGraph_t graph,
4873 const hipGraphNode_t* pDependencies, size_t numDependencies,
4874 void* dst, const void* src, size_t count, hipMemcpyKind kind);
4875
4888 hipError_t hipGraphMemcpyNodeSetParams1D(hipGraphNode_t node, void* dst, const void* src,
4889 size_t count, hipMemcpyKind kind);
4890
4905 hipError_t hipGraphExecMemcpyNodeSetParams1D(hipGraphExec_t hGraphExec, hipGraphNode_t node,
4906 void* dst, const void* src, size_t count,
4907 hipMemcpyKind kind);
4908
4925 hipError_t hipGraphAddMemcpyNodeFromSymbol(hipGraphNode_t* pGraphNode, hipGraph_t graph,
4926 const hipGraphNode_t* pDependencies,
4927 size_t numDependencies, void* dst, const void* symbol,
4928 size_t count, size_t offset, hipMemcpyKind kind);
4929
4943 hipError_t hipGraphMemcpyNodeSetParamsFromSymbol(hipGraphNode_t node, void* dst, const void* symbol,
4944 size_t count, size_t offset, hipMemcpyKind kind);
4945
4961 hipError_t hipGraphExecMemcpyNodeSetParamsFromSymbol(hipGraphExec_t hGraphExec, hipGraphNode_t node,
4962 void* dst, const void* symbol, size_t count,
4963 size_t offset, hipMemcpyKind kind);
4964
4981 hipError_t hipGraphAddMemcpyNodeToSymbol(hipGraphNode_t* pGraphNode, hipGraph_t graph,
4982 const hipGraphNode_t* pDependencies,
4983 size_t numDependencies, const void* symbol,
4984 const void* src, size_t count, size_t offset,
4985 hipMemcpyKind kind);
4986
5000 hipError_t hipGraphMemcpyNodeSetParamsToSymbol(hipGraphNode_t node, const void* symbol,
5001 const void* src, size_t count, size_t offset,
5002 hipMemcpyKind kind);
5003
5004
5019 hipError_t hipGraphExecMemcpyNodeSetParamsToSymbol(hipGraphExec_t hGraphExec, hipGraphNode_t node,
5020 const void* symbol, const void* src,
5021 size_t count, size_t offset, hipMemcpyKind kind);
5022
5035 hipError_t hipGraphAddMemsetNode(hipGraphNode_t* pGraphNode, hipGraph_t graph,
5036 const hipGraphNode_t* pDependencies, size_t numDependencies,
5037 const hipMemsetParams* pMemsetParams);
5038
5048 hipError_t hipGraphMemsetNodeGetParams(hipGraphNode_t node, hipMemsetParams* pNodeParams);
5049
5059 hipError_t hipGraphMemsetNodeSetParams(hipGraphNode_t node, const hipMemsetParams* pNodeParams);
5060
5071 hipError_t hipGraphExecMemsetNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node,
5072 const hipMemsetParams* pNodeParams);
5073
5086 hipError_t hipGraphAddHostNode(hipGraphNode_t* pGraphNode, hipGraph_t graph,
5087 const hipGraphNode_t* pDependencies, size_t numDependencies,
5088 const hipHostNodeParams* pNodeParams);
5089
5099 hipError_t hipGraphHostNodeGetParams(hipGraphNode_t node, hipHostNodeParams* pNodeParams);
5100
5110 hipError_t hipGraphHostNodeSetParams(hipGraphNode_t node, const hipHostNodeParams* pNodeParams);
5111
5122 hipError_t hipGraphExecHostNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node,
5123 const hipHostNodeParams* pNodeParams);
5124
5137 hipError_t hipGraphAddChildGraphNode(hipGraphNode_t* pGraphNode, hipGraph_t graph,
5138 const hipGraphNode_t* pDependencies, size_t numDependencies,
5139 hipGraph_t childGraph);
5140
5150 hipError_t hipGraphChildGraphNodeGetGraph(hipGraphNode_t node, hipGraph_t* pGraph);
5151
5162 hipError_t hipGraphExecChildGraphNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node,
5163 hipGraph_t childGraph);
5164
5176 hipError_t hipGraphAddEmptyNode(hipGraphNode_t* pGraphNode, hipGraph_t graph,
5177 const hipGraphNode_t* pDependencies, size_t numDependencies);
5178
5179
5192 hipError_t hipGraphAddEventRecordNode(hipGraphNode_t* pGraphNode, hipGraph_t graph,
5193 const hipGraphNode_t* pDependencies, size_t numDependencies,
5194 hipEvent_t event);
5195
5205 hipError_t hipGraphEventRecordNodeGetEvent(hipGraphNode_t node, hipEvent_t* event_out);
5206
5216 hipError_t hipGraphEventRecordNodeSetEvent(hipGraphNode_t node, hipEvent_t event);
5217
5228 hipError_t hipGraphExecEventRecordNodeSetEvent(hipGraphExec_t hGraphExec, hipGraphNode_t hNode,
5229 hipEvent_t event);
5230
5243 hipError_t hipGraphAddEventWaitNode(hipGraphNode_t* pGraphNode, hipGraph_t graph,
5244 const hipGraphNode_t* pDependencies, size_t numDependencies,
5245 hipEvent_t event);
5246
5247
5257 hipError_t hipGraphEventWaitNodeGetEvent(hipGraphNode_t node, hipEvent_t* event_out);
5258
5268 hipError_t hipGraphEventWaitNodeSetEvent(hipGraphNode_t node, hipEvent_t event);
5269
5280 hipError_t hipGraphExecEventWaitNodeSetEvent(hipGraphExec_t hGraphExec, hipGraphNode_t hNode,
5281 hipEvent_t event);
5282
5283 // doxygen end graph API
5288 #ifdef __cplusplus
5289 } /* extern "c" */
5290 #endif
5291 #ifdef __cplusplus
5292 #if defined(__clang__) && defined(__HIP__)
5293 template <typename T>
5294 static hipError_t __host__ inline hipOccupancyMaxPotentialBlockSize(int* gridSize, int* blockSize,
5295 T f, size_t dynSharedMemPerBlk = 0, int blockSizeLimit = 0) {
5296 return hipOccupancyMaxPotentialBlockSize(gridSize, blockSize, reinterpret_cast<const void*>(f),dynSharedMemPerBlk,blockSizeLimit);
5297 }
5298 template <typename T>
5299 static hipError_t __host__ inline hipOccupancyMaxPotentialBlockSizeWithFlags(int* gridSize, int* blockSize,
5300 T f, size_t dynSharedMemPerBlk = 0, int blockSizeLimit = 0, unsigned int flags = 0 ) {
5301 return hipOccupancyMaxPotentialBlockSize(gridSize, blockSize, reinterpret_cast<const void*>(f),dynSharedMemPerBlk,blockSizeLimit);
5302 }
5303 #endif // defined(__clang__) && defined(__HIP__)
5304 template <typename T>
5305 hipError_t hipGetSymbolAddress(void** devPtr, const T &symbol) {
5306 return ::hipGetSymbolAddress(devPtr, (const void *)&symbol);
5307 }
5308 template <typename T>
5309 hipError_t hipGetSymbolSize(size_t* size, const T &symbol) {
5310 return ::hipGetSymbolSize(size, (const void *)&symbol);
5311 }
5312 template <typename T>
5313 hipError_t hipMemcpyToSymbol(const T& symbol, const void* src, size_t sizeBytes,
5314 size_t offset __dparm(0),
5315 hipMemcpyKind kind __dparm(hipMemcpyHostToDevice)) {
5316 return ::hipMemcpyToSymbol((const void*)&symbol, src, sizeBytes, offset, kind);
5317 }
5318 template <typename T>
5319 hipError_t hipMemcpyToSymbolAsync(const T& symbol, const void* src, size_t sizeBytes, size_t offset,
5320 hipMemcpyKind kind, hipStream_t stream __dparm(0)) {
5321 return ::hipMemcpyToSymbolAsync((const void*)&symbol, src, sizeBytes, offset, kind, stream);
5322 }
5323 template <typename T>
5324 hipError_t hipMemcpyFromSymbol(void* dst, const T &symbol,
5325 size_t sizeBytes, size_t offset __dparm(0),
5326 hipMemcpyKind kind __dparm(hipMemcpyDeviceToHost)) {
5327 return ::hipMemcpyFromSymbol(dst, (const void*)&symbol, sizeBytes, offset, kind);
5328 }
5329 template <typename T>
5330 hipError_t hipMemcpyFromSymbolAsync(void* dst, const T& symbol, size_t sizeBytes, size_t offset,
5331 hipMemcpyKind kind, hipStream_t stream __dparm(0)) {
5332 return ::hipMemcpyFromSymbolAsync(dst, (const void*)&symbol, sizeBytes, offset, kind, stream);
5333 }
5334 template <class T>
5335 inline hipError_t hipOccupancyMaxActiveBlocksPerMultiprocessor(
5336 int* numBlocks, T f, int blockSize, size_t dynSharedMemPerBlk) {
5337 return hipOccupancyMaxActiveBlocksPerMultiprocessor(
5338 numBlocks, reinterpret_cast<const void*>(f), blockSize, dynSharedMemPerBlk);
5339 }
5340 template <class T>
5341 inline hipError_t hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(
5342 int* numBlocks, T f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags) {
5343 return hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(
5344 numBlocks, reinterpret_cast<const void*>(f), blockSize, dynSharedMemPerBlk, flags);
5345 }
5346 template <typename F>
5347 inline hipError_t hipOccupancyMaxPotentialBlockSize(int* gridSize, int* blockSize,
5348 F kernel, size_t dynSharedMemPerBlk, uint32_t blockSizeLimit) {
5349 return hipOccupancyMaxPotentialBlockSize(gridSize, blockSize,(hipFunction_t)kernel, dynSharedMemPerBlk, blockSizeLimit);
5350 }
5351 template <class T>
5352 inline hipError_t hipLaunchCooperativeKernel(T f, dim3 gridDim, dim3 blockDim,
5353 void** kernelParams, unsigned int sharedMemBytes, hipStream_t stream) {
5354 return hipLaunchCooperativeKernel(reinterpret_cast<const void*>(f), gridDim,
5355 blockDim, kernelParams, sharedMemBytes, stream);
5356 }
5357 template <class T>
5358 inline hipError_t hipLaunchCooperativeKernelMultiDevice(hipLaunchParams* launchParamsList,
5359 unsigned int numDevices, unsigned int flags = 0) {
5360 return hipLaunchCooperativeKernelMultiDevice(launchParamsList, numDevices, flags);
5361 }
5362 template <class T>
5363 inline hipError_t hipExtLaunchMultiKernelMultiDevice(hipLaunchParams* launchParamsList,
5364 unsigned int numDevices, unsigned int flags = 0) {
5365 return hipExtLaunchMultiKernelMultiDevice(launchParamsList, numDevices, flags);
5366 }
5367 hipError_t hipCreateSurfaceObject(hipSurfaceObject_t* pSurfObject, const hipResourceDesc* pResDesc);
5368 hipError_t hipDestroySurfaceObject(hipSurfaceObject_t surfaceObject);
5369 template <class T, int dim, enum hipTextureReadMode readMode>
5370 DEPRECATED(DEPRECATED_MSG)
5371 static inline hipError_t hipBindTexture(size_t* offset, const struct texture<T, dim, readMode>& tex,
5372 const void* devPtr, size_t size = UINT_MAX) {
5373 return hipBindTexture(offset, &tex, devPtr, &tex.channelDesc, size);
5374 }
5375 template <class T, int dim, enum hipTextureReadMode readMode>
5376 DEPRECATED(DEPRECATED_MSG)
5377 static inline hipError_t
5378 hipBindTexture(size_t* offset, const struct texture<T, dim, readMode>& tex, const void* devPtr,
5379 const struct hipChannelFormatDesc& desc, size_t size = UINT_MAX) {
5380 return hipBindTexture(offset, &tex, devPtr, &desc, size);
5381 }
5382 template<class T, int dim, enum hipTextureReadMode readMode>
5383 DEPRECATED(DEPRECATED_MSG)
5384 static inline hipError_t hipBindTexture2D(
5385 size_t *offset,
5386 const struct texture<T, dim, readMode> &tex,
5387 const void *devPtr,
5388 size_t width,
5389 size_t height,
5390 size_t pitch)
5391 {
5392 return hipBindTexture2D(offset, &tex, devPtr, &tex.channelDesc, width, height, pitch);
5393 }
5394 template<class T, int dim, enum hipTextureReadMode readMode>
5395 DEPRECATED(DEPRECATED_MSG)
5396 static inline hipError_t hipBindTexture2D(
5397 size_t *offset,
5398 const struct texture<T, dim, readMode> &tex,
5399 const void *devPtr,
5400 const struct hipChannelFormatDesc &desc,
5401 size_t width,
5402 size_t height,
5403 size_t pitch)
5404 {
5405 return hipBindTexture2D(offset, &tex, devPtr, &desc, width, height, pitch);
5406 }
5407 template<class T, int dim, enum hipTextureReadMode readMode>
5408 DEPRECATED(DEPRECATED_MSG)
5409 static inline hipError_t hipBindTextureToArray(
5410 const struct texture<T, dim, readMode> &tex,
5411 hipArray_const_t array)
5412 {
5413 struct hipChannelFormatDesc desc;
5414 hipError_t err = hipGetChannelDesc(&desc, array);
5415 return (err == hipSuccess) ? hipBindTextureToArray(&tex, array, &desc) : err;
5416 }
5417 template<class T, int dim, enum hipTextureReadMode readMode>
5418 DEPRECATED(DEPRECATED_MSG)
5419 static inline hipError_t hipBindTextureToArray(
5420 const struct texture<T, dim, readMode> &tex,
5421 hipArray_const_t array,
5422 const struct hipChannelFormatDesc &desc)
5423 {
5424 return hipBindTextureToArray(&tex, array, &desc);
5425 }
5426 template<class T, int dim, enum hipTextureReadMode readMode>
5427 static inline hipError_t hipBindTextureToMipmappedArray(
5428 const struct texture<T, dim, readMode> &tex,
5429 hipMipmappedArray_const_t mipmappedArray)
5430 {
5431 struct hipChannelFormatDesc desc;
5432 hipArray_t levelArray;
5433 hipError_t err = hipGetMipmappedArrayLevel(&levelArray, mipmappedArray, 0);
5434 if (err != hipSuccess) {
5435 return err;
5436 }
5437 err = hipGetChannelDesc(&desc, levelArray);
5438 return (err == hipSuccess) ? hipBindTextureToMipmappedArray(&tex, mipmappedArray, &desc) : err;
5439 }
5440 template<class T, int dim, enum hipTextureReadMode readMode>
5441 static inline hipError_t hipBindTextureToMipmappedArray(
5442 const struct texture<T, dim, readMode> &tex,
5443 hipMipmappedArray_const_t mipmappedArray,
5444 const struct hipChannelFormatDesc &desc)
5445 {
5446 return hipBindTextureToMipmappedArray(&tex, mipmappedArray, &desc);
5447 }
5448 template<class T, int dim, enum hipTextureReadMode readMode>
5449 DEPRECATED(DEPRECATED_MSG)
5450 static inline hipError_t hipUnbindTexture(
5451 const struct texture<T, dim, readMode> &tex)
5452 {
5453 return hipUnbindTexture(&tex);
5454 }
5455
5456
5457 #endif // __cplusplus
5458
5466 typedef unsigned int GLuint;
5467
5468 // Queries devices associated with GL Context.
5469 hipError_t hipGLGetDevices(unsigned int* pHipDeviceCount, int* pHipDevices,
5470 unsigned int hipDeviceCount, hipGLDeviceList deviceList);
5471 // Registers a GL Buffer for interop and returns corresponding graphics resource.
5472 hipError_t hipGraphicsGLRegisterBuffer(hipGraphicsResource** resource, GLuint buffer,
5473 unsigned int flags);
5474 // Maps a graphics resource for hip access.
5475 hipError_t hipGraphicsMapResources(int count, hipGraphicsResource_t* resources,
5476 hipStream_t stream __dparm(0) );
5477 // Gets device accessible address of a graphics resource.
5478 hipError_t hipGraphicsResourceGetMappedPointer(void** devPtr, size_t* size,
5479 hipGraphicsResource_t resource);
5480 // Unmaps a graphics resource for hip access.
5481 hipError_t hipGraphicsUnmapResources(int count, hipGraphicsResource_t* resources,
5482 hipStream_t stream __dparm(0));
5483 // Unregisters a graphics resource.
5484 hipError_t hipGraphicsUnregisterResource(hipGraphicsResource_t resource);
5485 // doxygen end GL Interop
5490 #ifdef __GNUC__
5491 #pragma GCC visibility pop
5492 #endif
5493 // doxygen end HIP API
5498 #elif !(defined(__HIP_PLATFORM_HCC__) || defined(__HIP_PLATFORM_AMD__)) && (defined(__HIP_PLATFORM_NVCC__) || defined(__HIP_PLATFORM_NVIDIA__))
5499 #include "hip/nvidia_detail/nvidia_hip_runtime_api.h"
5500 #else
5501 #error("Must define exactly one of __HIP_PLATFORM_AMD__ or __HIP_PLATFORM_NVIDIA__");
5502 #endif
5503
5504
5516 #if defined(__cplusplus) && !defined(__HIP_DISABLE_CPP_FUNCTIONS__)
5517 template <class T>
5518 static inline hipError_t hipMalloc(T** devPtr, size_t size) {
5519 return hipMalloc((void**)devPtr, size);
5520 }
5521
5522 // Provide an override to automatically typecast the pointer type from void**, and also provide a
5523 // default for the flags.
5524 template <class T>
5525 static inline hipError_t hipHostMalloc(T** ptr, size_t size,
5526 unsigned int flags = hipHostMallocDefault) {
5527 return hipHostMalloc((void**)ptr, size, flags);
5528 }
5529
5530 template <class T>
5531 static inline hipError_t hipMallocManaged(T** devPtr, size_t size,
5532 unsigned int flags = hipMemAttachGlobal) {
5533 return hipMallocManaged((void**)devPtr, size, flags);
5534 }
5535 #endif
5536 #endif
5537
5538 #if USE_PROF_API
5539 #include <hip/amd_detail/hip_prof_str.h>
5540 #endif
hipGraphExecMemcpyNodeSetParams
hipError_t hipGraphExecMemcpyNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, hipMemcpy3DParms *pNodeParams)
Sets the parameters for a memcpy node in the given graphExec.
hipSuccess
hipSuccess
Successful completion.
Definition: hip_runtime_api.h:204
hipFuncAttributes
Definition: hip_runtime_api.h:524
hipLaunchParams_t::gridDim
dim3 gridDim
Grid dimentions.
Definition: hip_runtime_api.h:787
hipExternalMemoryBufferDesc_st
Definition: hip_runtime_api.h:814
hipDeviceProp_t::gcnArchName
char gcnArchName[256]
AMD GCN Arch Name.
Definition: hip_runtime_api.h:118
hipPointerGetAttributes
hipError_t hipPointerGetAttributes(hipPointerAttribute_t *attributes, const void *ptr)
Return attributes for the specified pointer.
hipDeviceArch_t::hasSurfaceFuncs
unsigned hasSurfaceFuncs
Surface functions.
Definition: hip_runtime_api.h:71
hipGraphExecUpdateErrorFunctionChanged
@ hipGraphExecUpdateErrorFunctionChanged
The update failed because the function of a kernel node changed.
Definition: hip_runtime_api.h:4349
hipDeviceAttributeMaxPitch
@ hipDeviceAttributeMaxPitch
Maximum pitch in bytes allowed by memory copies.
Definition: hip_runtime_api.h:391
hipMemset3DAsync
hipError_t hipMemset3DAsync(hipPitchedPtr pitchedDevPtr, int value, hipExtent extent, hipStream_t stream __dparm(0))
Fills asynchronously the memory area pointed to by pitchedDevPtr with the constant value.
hipDeviceProp_t::isLargeBar
int isLargeBar
1: if it is a large PCI bar device, else 0
Definition: hip_runtime_api.h:142
hipDeviceAttributeAsyncEngineCount
@ hipDeviceAttributeAsyncEngineCount
Cuda only. Asynchronous engines number.
Definition: hip_runtime_api.h:331
hipGraphExecUpdateErrorTopologyChanged
@ hipGraphExecUpdateErrorTopologyChanged
The update failed because the topology changed.
Definition: hip_runtime_api.h:4347
hipMemcpy3D
hipError_t hipMemcpy3D(const struct hipMemcpy3DParms *p)
Copies data between host and device.
hipDeviceProp_t::memoryClockRate
int memoryClockRate
Max global memory clock frequency in khz.
Definition: hip_runtime_api.h:94
hipErrorInvalidKernelFile
hipErrorInvalidKernelFile
In CUDA DRV, it is CUDA_ERROR_INVALID_PTX.
Definition: hip_runtime_api.h:247
hipIpcOpenMemHandle
hipError_t hipIpcOpenMemHandle(void **devPtr, hipIpcMemHandle_t handle, unsigned int flags)
Opens an interprocess memory handle exported from another process and returns a device pointer usable...
hipDeviceProp_t::maxSharedMemoryPerMultiProcessor
size_t maxSharedMemoryPerMultiProcessor
Maximum Shared Memory Per Multiprocessor.
Definition: hip_runtime_api.h:114
hipCtxEnablePeerAccess
hipError_t hipCtxEnablePeerAccess(hipCtx_t peerCtx, unsigned int flags)
Enables direct access to memory allocations in a peer context.
hipGraphicsRegisterFlags
hipGraphicsRegisterFlags
Definition: hip_runtime_api.h:896
hipErrorLaunchOutOfResources
hipErrorLaunchOutOfResources
Out of resources error.
Definition: hip_runtime_api.h:264
hipMallocPitch
hipError_t hipMallocPitch(void **ptr, size_t *pitch, size_t width, size_t height)
hipSetDevice
hipError_t hipSetDevice(int deviceId)
Set default device to be used for subsequent hip API calls from this thread.
hipDeviceAttributeManagedMemory
@ hipDeviceAttributeManagedMemory
Device supports allocating managed memory on this system.
Definition: hip_runtime_api.h:356
hipDeviceProp_t::maxTexture1DLinear
int maxTexture1DLinear
Maximum size for 1D textures bound to linear memory.
Definition: hip_runtime_api.h:122
hipDeviceGetP2PAttribute
hipError_t hipDeviceGetP2PAttribute(int *value, hipDeviceP2PAttr attr, int srcDevice, int dstDevice)
Returns a value for attr of link between two devices.
hipMemsetD16Async
hipError_t hipMemsetD16Async(hipDeviceptr_t dest, unsigned short value, size_t count, hipStream_t stream __dparm(0))
Fills the first sizeBytes bytes of the memory area pointed to by dest with the constant short value v...
hipDeviceProp_t::managedMemory
int managedMemory
Device supports allocating managed memory on this system.
Definition: hip_runtime_api.h:144
hipMemcpy2DFromArrayAsync
hipError_t hipMemcpy2DFromArrayAsync(void *dst, size_t dpitch, hipArray_const_t src, size_t wOffset, size_t hOffset, size_t width, size_t height, hipMemcpyKind kind, hipStream_t stream __dparm(0))
Copies data between host and device asynchronously.
hipDeviceAttributeMemoryBusWidth
@ hipDeviceAttributeMemoryBusWidth
Global memory bus width in bits.
Definition: hip_runtime_api.h:392
hipDeviceAttributePageableMemoryAccessUsesHostPageTables
@ hipDeviceAttributePageableMemoryAccessUsesHostPageTables
Device accesses pageable memory via the host's page tables.
Definition: hip_runtime_api.h:400
hipDestroyExternalMemory
hipError_t hipDestroyExternalMemory(hipExternalMemory_t extMem)
Destroys an external memory object.
hipGraphRemoveDependencies
hipError_t hipGraphRemoveDependencies(hipGraph_t graph, const hipGraphNode_t *from, const hipGraphNode_t *to, size_t numDependencies)
Removes dependency edges from a graph.
hipDeviceAttributeSingleToDoublePrecisionPerfRatio
@ hipDeviceAttributeSingleToDoublePrecisionPerfRatio
Cuda only. Performance ratio of single precision to double precision.
Definition: hip_runtime_api.h:412
hipGraphNode_t
struct hipGraphNode * hipGraphNode_t
Definition: hip_runtime_api.h:4290
hipErrorPeerAccessAlreadyEnabled
hipErrorPeerAccessAlreadyEnabled
Peer access was already enabled from the current device.
Definition: hip_runtime_api.h:266
hipGetErrorString
const char * hipGetErrorString(hipError_t hipError)
Return handy text string message to explain the error which occurred.
hipGraphLaunch
hipError_t hipGraphLaunch(hipGraphExec_t graphExec, hipStream_t stream)
launches an executable graph in a stream
hipGetDeviceFlags
hipError_t hipGetDeviceFlags(unsigned int *flags)
Gets the flags set for current device.
hipErrorMapBufferObjectFailed
hipErrorMapBufferObjectFailed
Produced when the IPC memory attach failed from ROCr.
Definition: hip_runtime_api.h:234
hipDeviceGetByPCIBusId
hipError_t hipDeviceGetByPCIBusId(int *device, const char *pciBusId)
Returns a handle to a compute device.
hipDeviceProp_t::canMapHostMemory
int canMapHostMemory
Check whether HIP can map host memory.
Definition: hip_runtime_api.h:116
hipMalloc3DArray
hipError_t hipMalloc3DArray(hipArray **array, const struct hipChannelFormatDesc *desc, struct hipExtent extent, unsigned int flags)
Allocate an array on the device.
hipDeviceAttributeSharedMemPerMultiprocessor
@ hipDeviceAttributeSharedMemPerMultiprocessor
Cuda only. Shared memory available per multiprocessor.
Definition: hip_runtime_api.h:411
hipDeviceAttributeMaxBlockDimX
@ hipDeviceAttributeMaxBlockDimX
Max block size in width.
Definition: hip_runtime_api.h:358
hipChooseDevice
hipError_t hipChooseDevice(int *device, const hipDeviceProp_t *prop)
Device which matches hipDeviceProp_t is returned.
hipDeviceProp_t::totalConstMem
size_t totalConstMem
Size of shared memory region (in bytes).
Definition: hip_runtime_api.h:96
hipDeviceArch_t::hasGlobalInt64Atomics
unsigned hasGlobalInt64Atomics
64-bit integer atomics for global memory.
Definition: hip_runtime_api.h:54
hipGraphGetRootNodes
hipError_t hipGraphGetRootNodes(hipGraph_t graph, hipGraphNode_t *pRootNodes, size_t *pNumRootNodes)
Returns graph's root nodes.
hipGraphClone
hipError_t hipGraphClone(hipGraph_t *pGraphClone, hipGraph_t originalGraph)
Clones a graph.
hipMemRangeGetAttribute
hipError_t hipMemRangeGetAttribute(void *data, size_t data_size, hipMemRangeAttribute attribute, const void *dev_ptr, size_t count)
Query an attribute of a given memory range in HIP.
hipDeviceArch_t::hasDynamicParallelism
unsigned hasDynamicParallelism
Dynamic parallelism.
Definition: hip_runtime_api.h:73
hipStreamBeginCapture
hipError_t hipStreamBeginCapture(hipStream_t stream, hipStreamCaptureMode mode)
Begins graph capture on a stream.
hipMemcpy2DAsync
hipError_t hipMemcpy2DAsync(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind, hipStream_t stream __dparm(0))
Copies data between host and device.
hipLaunchKernel
hipError_t hipLaunchKernel(const void *function_address, dim3 numBlocks, dim3 dimBlocks, void **args, size_t sharedMemBytes __dparm(0), hipStream_t stream __dparm(0))
C compliant kernel launch API.
hipMemsetD32
hipError_t hipMemsetD32(hipDeviceptr_t dest, int value, size_t count)
Fills the memory area pointed to by dest with the constant integer value for specified number of time...
hipGLDeviceList
hipGLDeviceList
Definition: hip_runtime_api.h:883
hipErrorStreamCaptureWrongThread
hipErrorStreamCaptureWrongThread
Definition: hip_runtime_api.h:302
hipGraphCreate
hipError_t hipGraphCreate(hipGraph_t *pGraph, unsigned int flags)
Creates a graph.
hipDeviceAttributeMaxGridDimX
@ hipDeviceAttributeMaxGridDimX
Max grid size in width.
Definition: hip_runtime_api.h:361
hipLaunchParams_t::func
void * func
Device function symbol.
Definition: hip_runtime_api.h:786
hipGraphExecHostNodeSetParams
hipError_t hipGraphExecHostNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, const hipHostNodeParams *pNodeParams)
Sets the parameters for a host node in the given graphExec.
hipDeviceProp_t::memPitch
size_t memPitch
Maximum pitch in bytes allowed by memory copies.
Definition: hip_runtime_api.h:128
hipStreamCreate
hipError_t hipStreamCreate(hipStream_t *stream)
Create an asynchronous stream.
hipGraphNodeTypeGraph
@ hipGraphNodeTypeGraph
Node which executes an embedded graph.
Definition: hip_runtime_api.h:4306
hipGraphAddMemcpyNode1D
hipError_t hipGraphAddMemcpyNode1D(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, void *dst, const void *src, size_t count, hipMemcpyKind kind)
Creates a 1D memcpy node and adds it to a graph.
hipDeviceGetStreamPriorityRange
hipError_t hipDeviceGetStreamPriorityRange(int *leastPriority, int *greatestPriority)
Returns numerical values that correspond to the least and greatest stream priority.
hipGraphAddKernelNode
hipError_t hipGraphAddKernelNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, const hipKernelNodeParams *pNodeParams)
Creates a kernel execution node and adds it to a graph.
hipWaitExternalSemaphoresAsync
hipError_t hipWaitExternalSemaphoresAsync(const hipExternalSemaphore_t *extSemArray, const hipExternalSemaphoreWaitParams *paramsArray, unsigned int numExtSems, hipStream_t stream)
Waits on a set of external semaphore objects.
hipGraphHostNodeGetParams
hipError_t hipGraphHostNodeGetParams(hipGraphNode_t node, hipHostNodeParams *pNodeParams)
Returns a host node's parameters.
hipDeviceAttributeMaxThreadsDim
@ hipDeviceAttributeMaxThreadsDim
Maximum dimension of a block.
Definition: hip_runtime_api.h:388
hipIpcEventHandle_st
Definition: hip_runtime_api.h:519
hipStreamGetCaptureInfo
hipError_t hipStreamGetCaptureInfo(hipStream_t stream, hipStreamCaptureStatus *pCaptureStatus, unsigned long long *pId)
Get capture status of a stream.
hipDeviceAttributeImageSupport
@ hipDeviceAttributeImageSupport
'1' if Device supports image, '0' otherwise.
Definition: hip_runtime_api.h:446
hipDeviceAttributeLuid
@ hipDeviceAttributeLuid
Cuda only. 8-byte locally unique identifier in 8 bytes. Undefined on TCC and non-Windows platforms.
Definition: hip_runtime_api.h:353
hipMemAdviseSetPreferredLocation
@ hipMemAdviseSetPreferredLocation
Definition: hip_runtime_api.h:677
hipErrorStreamCaptureIsolation
hipErrorStreamCaptureIsolation
Definition: hip_runtime_api.h:293
hipGraphNodeGetDependencies
hipError_t hipGraphNodeGetDependencies(hipGraphNode_t node, hipGraphNode_t *pDependencies, size_t *pNumDependencies)
Returns a node's dependencies.
hipErrorInvalidDevicePointer
hipErrorInvalidDevicePointer
Invalid Device Pointer.
Definition: hip_runtime_api.h:221
hipStreamCreateWithPriority
hipError_t hipStreamCreateWithPriority(hipStream_t *stream, unsigned int flags, int priority)
Create an asynchronous stream with the specified priority.
hipDeviceProp_t::tccDriver
int tccDriver
1:If device is Tesla device using TCC driver, else 0
Definition: hip_runtime_api.h:133
hipErrorCapturedEvent
hipErrorCapturedEvent
Definition: hip_runtime_api.h:300
hipMemRangeAttributeCoherencyMode
@ hipMemRangeAttributeCoherencyMode
Definition: hip_runtime_api.h:718
hipDeviceProp_t::pageableMemoryAccess
int pageableMemoryAccess
Definition: hip_runtime_api.h:147
hipFuncCache_t
hipFuncCache_t
Definition: hip_runtime_api.h:757
hipGraphAddDependencies
hipError_t hipGraphAddDependencies(hipGraph_t graph, const hipGraphNode_t *from, const hipGraphNode_t *to, size_t numDependencies)
Adds dependency edges to a graph.
hipPeekAtLastError
hipError_t hipPeekAtLastError(void)
Return last error returned by any HIP runtime API call.
hipGraph_t
struct ihipGraph * hipGraph_t
Definition: hip_runtime_api.h:4286
hipDeviceAttributeMaxSurfaceCubemapLayered
@ hipDeviceAttributeMaxSurfaceCubemapLayered
Cuda only. Maximum dimension of Cubemap layered surface.
Definition: hip_runtime_api.h:370
hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags
hipError_t hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags __dparm(hipOccupancyDefault))
Returns occupancy for a device function.
hipModuleGetTexRef
hipError_t hipModuleGetTexRef(textureReference **texRef, hipModule_t hmod, const char *name)
returns the handle of the texture reference with the name from the module.
hipMemcpy3DAsync
hipError_t hipMemcpy3DAsync(const struct hipMemcpy3DParms *p, hipStream_t stream __dparm(0))
Copies data between host and device asynchronously.
hipDeviceGetPCIBusId
hipError_t hipDeviceGetPCIBusId(char *pciBusId, int len, int device)
Returns a PCI Bus Id string for the device, overloaded to take int device ID.
hipGraphDestroy
hipError_t hipGraphDestroy(hipGraph_t graph)
Destroys a graph.
hipHostGetFlags
hipError_t hipHostGetFlags(unsigned int *flagsPtr, void *hostPtr)
Return flags associated with host pointer.
hipDeviceProp_t::gcnArch
int gcnArch
DEPRECATED: use gcnArchName instead.
Definition: hip_runtime_api.h:117
hipGraphNodeTypeKernel
@ hipGraphNodeTypeKernel
GPU kernel node.
Definition: hip_runtime_api.h:4302
hipDeviceAttributeClockRate
@ hipDeviceAttributeClockRate
Peak clock frequency in kilohertz.
Definition: hip_runtime_api.h:335
hipMemGetAddressRange
hipError_t hipMemGetAddressRange(hipDeviceptr_t *pbase, size_t *psize, hipDeviceptr_t dptr)
Get information on memory allocations.
hipDeviceAttributeDirectManagedMemAccessFromHost
@ hipDeviceAttributeDirectManagedMemAccessFromHost
Definition: hip_runtime_api.h:344
hipDeviceProp_t::pciBusID
int pciBusID
PCI Bus ID.
Definition: hip_runtime_api.h:112
hipGraphNodeTypeMemcpyFromSymbol
@ hipGraphNodeTypeMemcpyFromSymbol
MemcpyFromSymbol node.
Definition: hip_runtime_api.h:4311
hipDeviceProp_t::minor
int minor
Definition: hip_runtime_api.h:100
hipDestroyExternalSemaphore
hipError_t hipDestroyExternalSemaphore(hipExternalSemaphore_t extSem)
Destroys an external semaphore object and releases any references to the underlying resource....
hipErrorIllegalState
hipErrorIllegalState
Resource required is not in a valid state to perform operation.
Definition: hip_runtime_api.h:257
hipLaunchParams_t::blockDim
dim3 blockDim
Block dimentions.
Definition: hip_runtime_api.h:788
hipStreamWaitEvent
hipError_t hipStreamWaitEvent(hipStream_t stream, hipEvent_t event, unsigned int flags)
Make the specified compute stream wait for an event.
hipFuncCachePreferEqual
@ hipFuncCachePreferEqual
prefer equal size L1 cache and shared memory
Definition: hip_runtime_api.h:761
hipGraphInstantiate
hipError_t hipGraphInstantiate(hipGraphExec_t *pGraphExec, hipGraph_t graph, hipGraphNode_t *pErrorNode, char *pLogBuffer, size_t bufferSize)
Creates an executable graph from a graph.
hipDeviceAttributeMaxGridDimZ
@ hipDeviceAttributeMaxGridDimZ
Max grid size in depth.
Definition: hip_runtime_api.h:363
hipGetDevice
hipError_t hipGetDevice(int *deviceId)
Return the default device id for the calling host thread.
hipMallocArray
hipError_t hipMallocArray(hipArray **array, const hipChannelFormatDesc *desc, size_t width, size_t height __dparm(0), unsigned int flags __dparm(hipArrayDefault))
Allocate an array on the device.
hipGraphNodeTypeHost
@ hipGraphNodeTypeHost
Host (executable) node.
Definition: hip_runtime_api.h:4305
hipGraphExecKernelNodeSetParams
hipError_t hipGraphExecKernelNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, const hipKernelNodeParams *pNodeParams)
Sets the parameters for a kernel node in the given graphExec.
hipCtxSetCurrent
hipError_t hipCtxSetCurrent(hipCtx_t ctx)
Set the passed context as current/default.
hipGraphExecDestroy
hipError_t hipGraphExecDestroy(hipGraphExec_t graphExec)
Destroys an executable graph.
hipMemRangeCoherencyModeCoarseGrain
@ hipMemRangeCoherencyModeCoarseGrain
Definition: hip_runtime_api.h:699
hipMemcpyToArray
hipError_t hipMemcpyToArray(hipArray *dst, size_t wOffset, size_t hOffset, const void *src, size_t count, hipMemcpyKind kind)
Copies data between host and device.
HIP_MEMCPY3D
Definition: driver_types.h:379
hipDeviceArch_t::hasDoubles
unsigned hasDoubles
Double-precision floating point.
Definition: hip_runtime_api.h:58
hipDeviceArch_t::hasFloatAtomicAdd
unsigned hasFloatAtomicAdd
32-bit float atomic add in global and shared memory.
Definition: hip_runtime_api.h:51
hipDeviceAttributeMaxRegistersPerBlock
@ hipDeviceAttributeMaxRegistersPerBlock
Definition: hip_runtime_api.h:405
hipGraphExecChildGraphNodeSetParams
hipError_t hipGraphExecChildGraphNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, hipGraph_t childGraph)
Updates node parameters in the child graph node in the given graphExec.
hipDeviceProp_t::cooperativeLaunch
int cooperativeLaunch
HIP device supports cooperative launch.
Definition: hip_runtime_api.h:120
hipMemcpyDtoDAsync
hipError_t hipMemcpyDtoDAsync(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream)
Copy data from Device to Device asynchronously.
hipDeviceAttributeLocalL1CacheSupported
@ hipDeviceAttributeLocalL1CacheSupported
caching locals in L1 is supported
Definition: hip_runtime_api.h:352
hipDeviceAttributeComputeCapabilityMinor
@ hipDeviceAttributeComputeCapabilityMinor
Minor compute capability version number.
Definition: hip_runtime_api.h:394
hipGraphMemcpyNodeSetParams
hipError_t hipGraphMemcpyNodeSetParams(hipGraphNode_t node, const hipMemcpy3DParms *pNodeParams)
Sets a memcpy node's parameters.
hipDeviceAttributeAsicRevision
@ hipDeviceAttributeAsicRevision
Revision of the GPU in this device.
Definition: hip_runtime_api.h:443
hipDeviceProp_t::cooperativeMultiDeviceUnmatchedBlockDim
int cooperativeMultiDeviceUnmatchedBlockDim
Definition: hip_runtime_api.h:138
hipGraphEventWaitNodeGetEvent
hipError_t hipGraphEventWaitNodeGetEvent(hipGraphNode_t node, hipEvent_t *event_out)
Returns the event associated with an event wait node.
hipStreamCaptureStatus
hipStreamCaptureStatus
Definition: hip_runtime_api.h:4363
hipMemcpy2DFromArray
hipError_t hipMemcpy2DFromArray(void *dst, size_t dpitch, hipArray_const_t src, size_t wOffset, size_t hOffset, size_t width, size_t height, hipMemcpyKind kind)
Copies data between host and device.
hipGraphExecUpdateError
@ hipGraphExecUpdateError
Definition: hip_runtime_api.h:4345
hipModuleOccupancyMaxPotentialBlockSizeWithFlags
hipError_t hipModuleOccupancyMaxPotentialBlockSizeWithFlags(int *gridSize, int *blockSize, hipFunction_t f, size_t dynSharedMemPerBlk, int blockSizeLimit, unsigned int flags)
determine the grid and block sizes to achieves maximum occupancy for a kernel
hipDeviceProp_t::concurrentKernels
int concurrentKernels
Device can possibly execute multiple kernels concurrently.
Definition: hip_runtime_api.h:110
hipDevicePrimaryCtxRelease
hipError_t hipDevicePrimaryCtxRelease(hipDevice_t dev)
Release the primary context on the GPU.
hipDeviceProp_t::maxThreadsPerBlock
int maxThreadsPerBlock
Max work items per work group or workgroup max size.
Definition: hip_runtime_api.h:90
hipDeviceAttributeMaxTextureCubemap
@ hipDeviceAttributeMaxTextureCubemap
Cuda only. Maximum dimensions of Cubemap texture.
Definition: hip_runtime_api.h:386
hipHostMalloc
hipError_t hipHostMalloc(void **ptr, size_t size, unsigned int flags)
Allocate device accessible page locked host memory.
hipDeviceAttributeKernelExecTimeout
@ hipDeviceAttributeKernelExecTimeout
Run time limit for kernels executed on the device.
Definition: hip_runtime_api.h:350
hipDeviceAttributeL2CacheSize
@ hipDeviceAttributeL2CacheSize
Size of L2 cache in bytes. 0 if the device doesn't have L2 cache.
Definition: hip_runtime_api.h:351
hipDeviceAttributeCooperativeMultiDeviceUnmatchedGridDim
@ hipDeviceAttributeCooperativeMultiDeviceUnmatchedGridDim
Definition: hip_runtime_api.h:436
hipDeviceGetName
hipError_t hipDeviceGetName(char *name, int len, hipDevice_t device)
Returns an identifer string for the device.
hipDeviceAttributeMaxTexture3DWidth
@ hipDeviceAttributeMaxTexture3DWidth
Maximum dimension width of 3D texture.
Definition: hip_runtime_api.h:382
hipDeviceAttributeIntegrated
@ hipDeviceAttributeIntegrated
Device is integrated GPU.
Definition: hip_runtime_api.h:348
hipMemcpyParam2DAsync
hipError_t hipMemcpyParam2DAsync(const hip_Memcpy2D *pCopy, hipStream_t stream __dparm(0))
Copies memory for 2D arrays.
hipDeviceArch_t::hasSyncThreadsExt
unsigned hasSyncThreadsExt
__syncthreads_count, syncthreads_and, syncthreads_or.
Definition: hip_runtime_api.h:68
hipDeviceProp_t::cooperativeMultiDeviceUnmatchedFunc
int cooperativeMultiDeviceUnmatchedFunc
Definition: hip_runtime_api.h:134
hipDeviceAttributeMaxGridDimY
@ hipDeviceAttributeMaxGridDimY
Max grid size in height.
Definition: hip_runtime_api.h:362
hipDeviceArch_t::hasSharedInt64Atomics
unsigned hasSharedInt64Atomics
64-bit integer atomics for shared memory.
Definition: hip_runtime_api.h:55
hipDeviceAttributeUnifiedAddressing
@ hipDeviceAttributeUnifiedAddressing
Cuda only. An unified address space shared with the host.
Definition: hip_runtime_api.h:420
hipMemAdviseUnsetCoarseGrain
@ hipMemAdviseUnsetCoarseGrain
Restores cache coherency policy back to fine-grain.
Definition: hip_runtime_api.h:689
hipDeviceProp_t::maxGridSize
int maxGridSize[3]
Max grid dimensions (XYZ).
Definition: hip_runtime_api.h:92
hipDeviceAttributeSurfaceAlignment
@ hipDeviceAttributeSurfaceAlignment
Cuda only. Alignment requirement for surfaces.
Definition: hip_runtime_api.h:414
hipDeviceEnablePeerAccess
hipError_t hipDeviceEnablePeerAccess(int peerDeviceId, unsigned int flags)
Enable direct access from current device's virtual address space to memory allocations physically loc...
hipCtxSetCacheConfig
hipError_t hipCtxSetCacheConfig(hipFuncCache_t cacheConfig)
Set L1/Shared cache partition.
hipExternalMemoryGetMappedBuffer
hipError_t hipExternalMemoryGetMappedBuffer(void **devPtr, hipExternalMemory_t extMem, const hipExternalMemoryBufferDesc *bufferDesc)
Maps a buffer onto an imported memory object.
hipDeviceProp_t::multiProcessorCount
int multiProcessorCount
Number of multi-processors (compute units).
Definition: hip_runtime_api.h:103
hipGraphicsRegisterFlagsReadOnly
@ hipGraphicsRegisterFlagsReadOnly
HIP will not write to this registered resource.
Definition: hip_runtime_api.h:898
hipErrorRuntimeOther
hipErrorRuntimeOther
Definition: hip_runtime_api.h:314
hipMallocMipmappedArray
hipError_t hipMallocMipmappedArray(hipMipmappedArray_t *mipmappedArray, const struct hipChannelFormatDesc *desc, struct hipExtent extent, unsigned int numLevels, unsigned int flags __dparm(0))
Allocate a mipmapped array on the device.
hipExternalSemaphoreHandleDesc_st
Definition: hip_runtime_api.h:826
hipCtxPushCurrent
hipError_t hipCtxPushCurrent(hipCtx_t ctx)
Push the context to be set as current/ default context.
hipDeviceAttributeIsMultiGpuBoard
@ hipDeviceAttributeIsMultiGpuBoard
Multiple GPU devices.
Definition: hip_runtime_api.h:349
hipSharedMemConfig
hipSharedMemConfig
Definition: hip_runtime_api.h:766
hipGraphGetNodes
hipError_t hipGraphGetNodes(hipGraph_t graph, hipGraphNode_t *nodes, size_t *numNodes)
Returns graph nodes.
hipDeviceAttributeMaxSurfaceCubemap
@ hipDeviceAttributeMaxSurfaceCubemap
Cuda only. Maximum dimensions of Cubemap surface.
Definition: hip_runtime_api.h:369
hipDrvMemcpy3D
hipError_t hipDrvMemcpy3D(const HIP_MEMCPY3D *pCopy)
Copies data between host and device.
hipDeviceAttributeMaxTexture2DMipmap
@ hipDeviceAttributeMaxTexture2DMipmap
Cuda only. Maximum dimensions of 2D mipmapped texture.
Definition: hip_runtime_api.h:381
hipDeviceAttributeGcnArchName
@ hipDeviceAttributeGcnArchName
Device gcnArch name in 256 bytes.
Definition: hip_runtime_api.h:431
hipErrorMemoryAllocation
hipErrorMemoryAllocation
Memory allocation error.
Definition: hip_runtime_api.h:209
hipDeviceComputeCapability
hipError_t hipDeviceComputeCapability(int *major, int *minor, hipDevice_t device)
Returns the compute capability of the device.
hipStreamCallback_t
void(* hipStreamCallback_t)(hipStream_t stream, hipError_t status, void *userData)
Definition: hip_runtime_api.h:1702
hipDeviceAttributeComputePreemptionSupported
@ hipDeviceAttributeComputePreemptionSupported
Cuda only. Device supports Compute Preemption.
Definition: hip_runtime_api.h:337
hipGraphKernelNodeSetParams
hipError_t hipGraphKernelNodeSetParams(hipGraphNode_t node, const hipKernelNodeParams *pNodeParams)
Sets a kernel node's parameters.
hipGraphGetEdges
hipError_t hipGraphGetEdges(hipGraph_t graph, hipGraphNode_t *from, hipGraphNode_t *to, size_t *numEdges)
Returns a graph's dependency edges.
hipMemoryAdvise
hipMemoryAdvise
Definition: hip_runtime_api.h:673
hip_Memcpy2D
Definition: driver_types.h:95
hipGetMipmappedArrayLevel
hipError_t hipGetMipmappedArrayLevel(hipArray_t *levelArray, hipMipmappedArray_const_t mipmappedArray, unsigned int level)
Gets a mipmap level of a HIP mipmapped array.
hipDeviceProp_t::name
char name[256]
Device name.
Definition: hip_runtime_api.h:85
hipExternalSemaphoreWaitParams_st
Definition: hip_runtime_api.h:854
hipErrorHostMemoryAlreadyRegistered
hipErrorHostMemoryAlreadyRegistered
Produced when trying to lock a page-locked memory.
Definition: hip_runtime_api.h:273
hipDeviceProp_t::maxThreadsDim
int maxThreadsDim[3]
Max number of threads in each dimension (XYZ) of a block.
Definition: hip_runtime_api.h:91
hipModuleOccupancyMaxPotentialBlockSize
hipError_t hipModuleOccupancyMaxPotentialBlockSize(int *gridSize, int *blockSize, hipFunction_t f, size_t dynSharedMemPerBlk, int blockSizeLimit)
determine the grid and block sizes to achieves maximum occupancy for a kernel
hipDeviceAttributeMaxSurface2DLayered
@ hipDeviceAttributeMaxSurface2DLayered
Cuda only. Maximum dimensions of 2D layered surface.
Definition: hip_runtime_api.h:367
__hipPushCallConfiguration
hipError_t __hipPushCallConfiguration(dim3 gridDim, dim3 blockDim, size_t sharedMem __dparm(0), hipStream_t stream __dparm(0))
Push configuration of a kernel launch.
hipDeviceProp_t::pageableMemoryAccessUsesHostPageTables
int pageableMemoryAccessUsesHostPageTables
Device accesses pageable memory via the host's page tables.
Definition: hip_runtime_api.h:149
hipMemoryTypeUnified
@ hipMemoryTypeUnified
Not used currently.
Definition: hip_runtime_api.h:162
hipIpcCloseMemHandle
hipError_t hipIpcCloseMemHandle(void *devPtr)
Close memory mapped with hipIpcOpenMemHandle.
hipDeviceAttributeConcurrentManagedAccess
@ hipDeviceAttributeConcurrentManagedAccess
Device can coherently access managed memory concurrently with the CPU.
Definition: hip_runtime_api.h:339
hipGraphExecUpdateErrorParametersChanged
@ hipGraphExecUpdateErrorParametersChanged
The update failed because the parameters changed in a way that is not supported.
Definition: hip_runtime_api.h:4351
hipDevicePrimaryCtxGetState
hipError_t hipDevicePrimaryCtxGetState(hipDevice_t dev, unsigned int *flags, int *active)
Get the state of the primary context.
hipDeviceAttributeCooperativeMultiDeviceLaunch
@ hipDeviceAttributeCooperativeMultiDeviceLaunch
Support cooperative launch on multiple devices.
Definition: hip_runtime_api.h:341
hipLaunchCooperativeKernelMultiDevice
hipError_t hipLaunchCooperativeKernelMultiDevice(hipLaunchParams *launchParamsList, int numDevices, unsigned int flags)
Launches kernels on multiple devices where thread blocks can cooperate and synchronize as they execut...
hipDeviceSetCacheConfig
hipError_t hipDeviceSetCacheConfig(hipFuncCache_t cacheConfig)
Set L1/Shared cache partition.
hipDeviceAttributeMaxSurface2D
@ hipDeviceAttributeMaxSurface2D
Maximum dimension (width, height) of 2D surface.
Definition: hip_runtime_api.h:366
hipDeviceAttributeMaxSharedMemoryPerBlock
@ hipDeviceAttributeMaxSharedMemoryPerBlock
Maximum shared memory available per block in bytes.
Definition: hip_runtime_api.h:409
hipMemcpyAtoH
hipError_t hipMemcpyAtoH(void *dst, hipArray *srcArray, size_t srcOffset, size_t count)
Copies data between host and device.
hipGetDeviceCount
hipError_t hipGetDeviceCount(int *count)
Return number of compute-capable devices.
hipExtLaunchKernel
hipError_t hipExtLaunchKernel(const void *function_address, dim3 numBlocks, dim3 dimBlocks, void **args, size_t sharedMemBytes, hipStream_t stream, hipEvent_t startEvent, hipEvent_t stopEvent, int flags)
Launches kernel from the pointer address, with arguments and shared memory on stream.
hipExternalSemaphoreWaitParams
struct hipExternalSemaphoreWaitParams_st hipExternalSemaphoreWaitParams
hipModuleOccupancyMaxActiveBlocksPerMultiprocessorWithFlags
hipError_t hipModuleOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, hipFunction_t f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags)
Returns occupancy for a device function.
hipDeviceProp_t::textureAlignment
size_t textureAlignment
Alignment requirement for textures.
Definition: hip_runtime_api.h:129
hipSetupArgument
hipError_t hipSetupArgument(const void *arg, size_t size, size_t offset)
Set a kernel argument.
hipStreamAttachMemAsync
hipError_t hipStreamAttachMemAsync(hipStream_t stream, void *dev_ptr, size_t length __dparm(0), unsigned int flags __dparm(hipMemAttachSingle))
Attach memory to a stream asynchronously in HIP.
hipHostUnregister
hipError_t hipHostUnregister(void *hostPtr)
Un-register host pointer.
hipStreamWriteValue32
hipError_t hipStreamWriteValue32(hipStream_t stream, void *ptr, uint32_t value, unsigned int flags)
Enqueues a write command to the stream.[BETA].
hipDeviceAttributeMaxTexture3DAlt
@ hipDeviceAttributeMaxTexture3DAlt
Cuda only. Maximum dimensions of alternate 3D texture.
Definition: hip_runtime_api.h:385
hipStreamGetFlags
hipError_t hipStreamGetFlags(hipStream_t stream, unsigned int *flags)
Return flags associated with this stream.
hipMemsetD8Async
hipError_t hipMemsetD8Async(hipDeviceptr_t dest, unsigned char value, size_t count, hipStream_t stream __dparm(0))
Fills the first sizeBytes bytes of the memory area pointed to by dest with the constant byte value va...
hipDeviceAttributeMaxThreadsPerBlock
@ hipDeviceAttributeMaxThreadsPerBlock
Maximum number of threads per block.
Definition: hip_runtime_api.h:389
hipExtStreamCreateWithCUMask
hipError_t hipExtStreamCreateWithCUMask(hipStream_t *stream, uint32_t cuMaskSize, const uint32_t *cuMask)
Create an asynchronous stream with the specified CU mask.
hipDeviceArch_t::hasSharedInt32Atomics
unsigned hasSharedInt32Atomics
32-bit integer atomics for shared memory.
Definition: hip_runtime_api.h:49
hipGraphExecUpdateErrorNotSupported
@ hipGraphExecUpdateErrorNotSupported
The update failed because something about the node is not supported.
Definition: hip_runtime_api.h:4353
hipMemoryTypeHost
@ hipMemoryTypeHost
Memory is physically located on host.
Definition: hip_runtime_api.h:157
hipStreamSynchronize
hipError_t hipStreamSynchronize(hipStream_t stream)
Wait for all commands in stream to complete.
hipDeviceArch_t
Definition: hip_runtime_api.h:45
hipErrorStreamCaptureImplicit
hipErrorStreamCaptureImplicit
Definition: hip_runtime_api.h:297
hipGetErrorName
const char * hipGetErrorName(hipError_t hip_error)
Return name of the specified error code in text form.
hipDeviceProp_t::hdpRegFlushCntl
unsigned int * hdpRegFlushCntl
Addres of HDP_REG_COHERENCY_FLUSH_CNTL register.
Definition: hip_runtime_api.h:127
dim3
struct dim3 dim3
hipDeviceGet
hipError_t hipDeviceGet(hipDevice_t *device, int ordinal)
Returns a handle to a compute device.
hipDeviceArch_t::hasFunnelShift
unsigned hasFunnelShift
Funnel two words into one with shift&mask caps.
Definition: hip_runtime_api.h:64
hipStreamWaitValue64
hipError_t hipStreamWaitValue64(hipStream_t stream, void *ptr, uint64_t value, unsigned int flags, uint64_t mask __dparm(0xFFFFFFFFFFFFFFFF))
Enqueues a wait command to the stream.[BETA].
hipMemcpyDtoD
hipError_t hipMemcpyDtoD(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes)
Copy data from Device to Device.
hipSurfaceObject_t
unsigned long long hipSurfaceObject_t
Definition: surface_types.h:33
hipStreamWaitValue32
hipError_t hipStreamWaitValue32(hipStream_t stream, void *ptr, uint32_t value, unsigned int flags, uint32_t mask __dparm(0xFFFFFFFF))
Enqueues a wait command to the stream.[BETA].
hipDeviceProp_t::integrated
int integrated
APU vs dGPU.
Definition: hip_runtime_api.h:119
hipMemcpy3DParms
Definition: driver_types.h:369
hipDeviceAttributeMaxBlockDimZ
@ hipDeviceAttributeMaxBlockDimZ
Max block size in depth.
Definition: hip_runtime_api.h:360
hipStreamCaptureStatusInvalidated
@ hipStreamCaptureStatusInvalidated
Definition: hip_runtime_api.h:4366
hipErrorInvalidMemcpyDirection
hipErrorInvalidMemcpyDirection
Invalid memory copy direction.
Definition: hip_runtime_api.h:222
hipMallocManaged
hipError_t hipMallocManaged(void **dev_ptr, size_t size, unsigned int flags __dparm(hipMemAttachGlobal))
Allocates memory that will be automatically managed by HIP.
hipDeviceProp_t::texturePitchAlignment
size_t texturePitchAlignment
Pitch alignment requirement for texture references bound to pitched memory.
Definition: hip_runtime_api.h:130
hipIpcGetMemHandle
hipError_t hipIpcGetMemHandle(hipIpcMemHandle_t *handle, void *devPtr)
Gets an interprocess memory handle for an existing device memory allocation.
hipMemcpyHtoD
hipError_t hipMemcpyHtoD(hipDeviceptr_t dst, void *src, size_t sizeBytes)
Copy data from Host to Device.
hipDriverGetVersion
hipError_t hipDriverGetVersion(int *driverVersion)
Returns the approximate HIP driver version.
hipGraphMemcpyNodeGetParams
hipError_t hipGraphMemcpyNodeGetParams(hipGraphNode_t node, hipMemcpy3DParms *pNodeParams)
Gets a memcpy node's parameters.
hipCtxGetFlags
hipError_t hipCtxGetFlags(unsigned int *flags)
Return flags used for creating default context.
hipDeviceAttributeMaxTexture1DMipmap
@ hipDeviceAttributeMaxTexture1DMipmap
Cuda only. Maximum size of 1D mipmapped texture.
Definition: hip_runtime_api.h:375
hipDeviceAttributeMaxBlockDimY
@ hipDeviceAttributeMaxBlockDimY
Max block size in height.
Definition: hip_runtime_api.h:359
hipMemcpy2DToArray
hipError_t hipMemcpy2DToArray(hipArray *dst, size_t wOffset, size_t hOffset, const void *src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind)
Copies data between host and device.
hipMemAllocPitch
hipError_t hipMemAllocPitch(hipDeviceptr_t *dptr, size_t *pitch, size_t widthInBytes, size_t height, unsigned int elementSizeBytes)
hipDeviceProp_t
Definition: hip_runtime_api.h:84
hipDeviceAttributeCooperativeMultiDeviceUnmatchedBlockDim
@ hipDeviceAttributeCooperativeMultiDeviceUnmatchedBlockDim
Definition: hip_runtime_api.h:438
hipDeviceProp_t::cooperativeMultiDeviceUnmatchedGridDim
int cooperativeMultiDeviceUnmatchedGridDim
Definition: hip_runtime_api.h:136
hipDeviceAttributeMaxTexture2DHeight
@ hipDeviceAttributeMaxTexture2DHeight
Maximum dimension hight of 2D texture.
Definition: hip_runtime_api.h:377
hipDeviceAttributeMaxSurface1D
@ hipDeviceAttributeMaxSurface1D
Maximum size of 1D surface.
Definition: hip_runtime_api.h:364
hipDeviceProp_t::cooperativeMultiDeviceUnmatchedSharedMem
int cooperativeMultiDeviceUnmatchedSharedMem
Definition: hip_runtime_api.h:140
hipGraphExecMemcpyNodeSetParams1D
hipError_t hipGraphExecMemcpyNodeSetParams1D(hipGraphExec_t hGraphExec, hipGraphNode_t node, void *dst, const void *src, size_t count, hipMemcpyKind kind)
Sets the parameters for a memcpy node in the given graphExec to perform a 1-dimensional copy.
hipDeviceProp_t::maxTexture3D
int maxTexture3D[3]
Maximum dimensions (width, height, depth) of 3D images, in image elements.
Definition: hip_runtime_api.h:125
hipDeviceAttributeDeviceOverlap
@ hipDeviceAttributeDeviceOverlap
Definition: hip_runtime_api.h:342
hipMemsetD32Async
hipError_t hipMemsetD32Async(hipDeviceptr_t dst, int value, size_t count, hipStream_t stream __dparm(0))
Fills the memory area pointed to by dev with the constant integer value for specified number of times...
hipGraphNodeTypeMemcpy
@ hipGraphNodeTypeMemcpy
Memcpy 3D node.
Definition: hip_runtime_api.h:4303
hipErrorStreamCaptureInvalidated
hipErrorStreamCaptureInvalidated
Definition: hip_runtime_api.h:286
hipStreamEndCapture
hipError_t hipStreamEndCapture(hipStream_t stream, hipGraph_t *pGraph)
Ends capture on a stream, returning the captured graph.
hipMemRangeGetAttributes
hipError_t hipMemRangeGetAttributes(void **data, size_t *data_sizes, hipMemRangeAttribute *attributes, size_t num_attributes, const void *dev_ptr, size_t count)
Query attributes of a given memory range in HIP.
hipRuntimeGetVersion
hipError_t hipRuntimeGetVersion(int *runtimeVersion)
Returns the approximate HIP Runtime version.
hipDeviceAttributeComputeCapabilityMajor
@ hipDeviceAttributeComputeCapabilityMajor
Major compute capability version number.
Definition: hip_runtime_api.h:355
hipConfigureCall
hipError_t hipConfigureCall(dim3 gridDim, dim3 blockDim, size_t sharedMem __dparm(0), hipStream_t stream __dparm(0))
Configure a kernel launch.
hipLaunchCooperativeKernel
hipError_t hipLaunchCooperativeKernel(const void *f, dim3 gridDim, dim3 blockDimX, void **kernelParams, unsigned int sharedMemBytes, hipStream_t stream)
launches kernel f with launch parameters and shared memory on stream with arguments passed to kernelp...
hipEventQuery
hipError_t hipEventQuery(hipEvent_t event)
Query event status.
hipDeviceAttributeMaxTexture3DDepth
@ hipDeviceAttributeMaxTexture3DDepth
Maximum dimension depth of 3D texture.
Definition: hip_runtime_api.h:384
hipExtLaunchMultiKernelMultiDevice
hipError_t hipExtLaunchMultiKernelMultiDevice(hipLaunchParams *launchParamsList, int numDevices, unsigned int flags)
Launches kernels on multiple devices and guarantees all specified kernels are dispatched on respectiv...
hipGraphEventWaitNodeSetEvent
hipError_t hipGraphEventWaitNodeSetEvent(hipGraphNode_t node, hipEvent_t event)
Sets an event wait node's event.
hipDeviceAttributeMaxThreadsPerMultiProcessor
@ hipDeviceAttributeMaxThreadsPerMultiProcessor
Maximum resident threads per multiprocessor.
Definition: hip_runtime_api.h:390
hipGraphAddChildGraphNode
hipError_t hipGraphAddChildGraphNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, hipGraph_t childGraph)
Creates a child graph node and adds it to a graph.
hipDeviceArch_t::hasWarpVote
unsigned hasWarpVote
Warp vote instructions (__any, __all).
Definition: hip_runtime_api.h:61
hipStreamGetPriority
hipError_t hipStreamGetPriority(hipStream_t stream, int *priority)
Query the priority of a stream.
hipOccupancyMaxActiveBlocksPerMultiprocessor
hipError_t hipOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *f, int blockSize, size_t dynSharedMemPerBlk)
Returns occupancy for a device function.
hipCtxGetApiVersion
hipError_t hipCtxGetApiVersion(hipCtx_t ctx, int *apiVersion)
Returns the approximate HIP api version.
hipSharedMemBankSizeFourByte
@ hipSharedMemBankSizeFourByte
Definition: hip_runtime_api.h:768
hipEventSynchronize
hipError_t hipEventSynchronize(hipEvent_t event)
Wait for an event to complete.
hipFuncCachePreferNone
@ hipFuncCachePreferNone
no preference for shared memory or L1 (default)
Definition: hip_runtime_api.h:758
hipDeviceAttributeMaxTexture1DLayered
@ hipDeviceAttributeMaxTexture1DLayered
Cuda only. Maximum dimensions of 1D layered texture.
Definition: hip_runtime_api.h:372
hipCtxCreate
hipError_t hipCtxCreate(hipCtx_t *ctx, unsigned int flags, hipDevice_t device)
Create a context and set it as current/ default context.
hipDeviceAttributeHdpRegFlushCntl
@ hipDeviceAttributeHdpRegFlushCntl
Address of the HDP_REG_COHERENCY_FLUSH_CNTL register.
Definition: hip_runtime_api.h:433
hipDeviceArch_t::hasWarpBallot
unsigned hasWarpBallot
Warp ballot instructions (__ballot).
Definition: hip_runtime_api.h:62
hipMemRangeCoherencyModeFineGrain
@ hipMemRangeCoherencyModeFineGrain
Definition: hip_runtime_api.h:697
hipHostFree
hipError_t hipHostFree(void *ptr)
Free memory allocated by the hcc hip host memory allocation API This API performs an implicit hipDevi...
hipDeviceAttributePciBusId
@ hipDeviceAttributePciBusId
PCI Bus ID.
Definition: hip_runtime_api.h:401
hipMemsetD16
hipError_t hipMemsetD16(hipDeviceptr_t dest, unsigned short value, size_t count)
Fills the first sizeBytes bytes of the memory area pointed to by dest with the constant short value v...
hipMipmappedArray
Definition: driver_types.h:117
hipDeviceAttributePersistingL2CacheMaxSize
@ hipDeviceAttributePersistingL2CacheMaxSize
Cuda11 only. Maximum l2 persisting lines capacity in bytes.
Definition: hip_runtime_api.h:404
hipErrorStreamCaptureMerge
hipErrorStreamCaptureMerge
Definition: hip_runtime_api.h:288
hipMemRangeAttributeAccessedBy
@ hipMemRangeAttributeAccessedBy
Definition: hip_runtime_api.h:714
hipDeviceGetLimit
hipError_t hipDeviceGetLimit(size_t *pValue, enum hipLimit_t limit)
Get Resource limits of current device.
hipMalloc
hipError_t hipMalloc(void **ptr, size_t size)
Allocate memory on the default accelerator.
hipGraphExecUpdateErrorNodeTypeChanged
@ hipGraphExecUpdateErrorNodeTypeChanged
The update failed because a node type changed.
Definition: hip_runtime_api.h:4348
hipMemsetParams
Definition: hip_runtime_api.h:4329
hipDeviceAttributeMaxTexture1DLinear
@ hipDeviceAttributeMaxTexture1DLinear
Definition: hip_runtime_api.h:373
hipErrorNoDevice
hipErrorNoDevice
Call to hipGetDeviceCount returned 0 devices.
Definition: hip_runtime_api.h:227
hipIpcMemHandle_st
Definition: hip_runtime_api.h:516
hipDeviceProp_t::isMultiGpuBoard
int isMultiGpuBoard
1 if device is on a multi-GPU board, 0 if not.
Definition: hip_runtime_api.h:115
hipEventElapsedTime
hipError_t hipEventElapsedTime(float *ms, hipEvent_t start, hipEvent_t stop)
Return the elapsed time between two events.
hipGraphInstantiateWithFlags
hipError_t hipGraphInstantiateWithFlags(hipGraphExec_t *pGraphExec, hipGraph_t graph, unsigned long long flags)
Creates an executable graph from a graph.
hipGetLastError
hipError_t hipGetLastError(void)
Return last error returned by any HIP runtime API call and resets the stored error code to hipSuccess...
hipInit
hipError_t hipInit(unsigned int flags)
Explicitly initializes the HIP runtime.
hipGraphNodeTypeEmpty
@ hipGraphNodeTypeEmpty
Empty (no-op) node.
Definition: hip_runtime_api.h:4307
hipDeviceAttributeTexturePitchAlignment
@ hipDeviceAttributeTexturePitchAlignment
Pitch alignment requirement for 2D texture references bound to pitched memory;.
Definition: hip_runtime_api.h:417
hipDeviceAttributeWarpSize
@ hipDeviceAttributeWarpSize
Warp size in threads.
Definition: hip_runtime_api.h:422
HIP_TEXTURE_DESC_st
Definition: driver_types.h:165
hipErrorInvalidDevice
hipErrorInvalidDevice
DeviceID must be in range 0...#compute-devices.
Definition: hip_runtime_api.h:228
hipFuncSetCacheConfig
hipError_t hipFuncSetCacheConfig(const void *func, hipFuncCache_t config)
Set Cache configuration for a specific function.
hipErrorStreamCaptureUnsupported
hipErrorStreamCaptureUnsupported
Definition: hip_runtime_api.h:284
hipLaunchParams_t::args
void ** args
Arguments.
Definition: hip_runtime_api.h:789
hipGraphAddMemcpyNodeToSymbol
hipError_t hipGraphAddMemcpyNodeToSymbol(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, const void *symbol, const void *src, size_t count, size_t offset, hipMemcpyKind kind)
Creates a memcpy node to copy to a symbol on the device and adds it to a graph.
hipCtxPopCurrent
hipError_t hipCtxPopCurrent(hipCtx_t *ctx)
Pop the current/default context and return the popped context.
hipArray
Definition: driver_types.h:82
hipHostAlloc
hipError_t hipHostAlloc(void **ptr, size_t size, unsigned int flags)
Allocate device accessible page locked host memory [Deprecated].
hipDeviceProp_t::maxTexture1D
int maxTexture1D
Maximum number of elements in 1D images.
Definition: hip_runtime_api.h:123
hipErrorLaunchFailure
hipErrorLaunchFailure
An exception occurred on the device while executing a kernel.
Definition: hip_runtime_api.h:277
hipDeviceProp_t::computeMode
int computeMode
Compute mode.
Definition: hip_runtime_api.h:106
hipDeviceAttributeMaxTexture3DHeight
@ hipDeviceAttributeMaxTexture3DHeight
Maximum dimension height of 3D texture.
Definition: hip_runtime_api.h:383
hipDeviceAttributeLuidDeviceNodeMask
@ hipDeviceAttributeLuidDeviceNodeMask
Cuda only. Luid device node mask. Undefined on TCC and non-Windows platforms.
Definition: hip_runtime_api.h:354
hipErrorCooperativeLaunchTooLarge
hipErrorCooperativeLaunchTooLarge
Definition: hip_runtime_api.h:279
hipGraphExec_t
struct hipGraphExec * hipGraphExec_t
Definition: hip_runtime_api.h:4294
hipDeviceAttributeMemoryClockRate
@ hipDeviceAttributeMemoryClockRate
Peak memory clock frequency in kilohertz.
Definition: hip_runtime_api.h:393
hipGraphAddMemcpyNodeFromSymbol
hipError_t hipGraphAddMemcpyNodeFromSymbol(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, void *dst, const void *symbol, size_t count, size_t offset, hipMemcpyKind kind)
Creates a memcpy node to copy from a symbol on the device and adds it to a graph.
hipDeviceAttributeMaxTexture2DGather
@ hipDeviceAttributeMaxTexture2DGather
Cuda only. Maximum dimensions of 2D texture if gather operations performed.
Definition: hip_runtime_api.h:378
hipHostGetDevicePointer
hipError_t hipHostGetDevicePointer(void **devPtr, void *hstPtr, unsigned int flags)
Get Device pointer from Host Pointer allocated through hipHostMalloc.
hipMemoryTypeDevice
@ hipMemoryTypeDevice
Definition: hip_runtime_api.h:158
hipExternalSemaphoreSignalParams_st
Definition: hip_runtime_api.h:838
hipMemGetInfo
hipError_t hipMemGetInfo(size_t *free, size_t *total)
Query memory info. Return snapshot of free memory, and total allocatable memory on the device.
hipEventDestroy
hipError_t hipEventDestroy(hipEvent_t event)
Destroy the specified event.
hipDeviceAttributeTccDriver
@ hipDeviceAttributeTccDriver
Cuda only. Whether device is a Tesla device using TCC driver.
Definition: hip_runtime_api.h:415
hipMemAdviseSetCoarseGrain
@ hipMemAdviseSetCoarseGrain
Definition: hip_runtime_api.h:684
hipPointerAttribute_t
struct hipPointerAttribute_t hipPointerAttribute_t
hipDeviceSetSharedMemConfig
hipError_t hipDeviceSetSharedMemConfig(hipSharedMemConfig config)
The bank width of shared memory on current device is set.
hipDeviceAttributeUuid
@ hipDeviceAttributeUuid
Cuda only. Unique ID in 16 byte.
Definition: hip_runtime_api.h:421
hipDeviceReset
hipError_t hipDeviceReset(void)
The state of current device is discarded and updated to a fresh state.
hipDeviceAttributeComputeMode
@ hipDeviceAttributeComputeMode
Compute mode that device is currently in.
Definition: hip_runtime_api.h:336
hipDeviceAttributeName
@ hipDeviceAttributeName
Device name.
Definition: hip_runtime_api.h:397
hipSetDeviceFlags
hipError_t hipSetDeviceFlags(unsigned flags)
The current device behavior is changed according the flags passed.
hipCtxGetCurrent
hipError_t hipCtxGetCurrent(hipCtx_t *ctx)
Get the handle of the current/ default context.
hipGraphAddMemcpyNode
hipError_t hipGraphAddMemcpyNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, const hipMemcpy3DParms *pCopyParams)
Creates a memcpy node and adds it to a graph.
hipDeviceAttributePciDeviceId
@ hipDeviceAttributePciDeviceId
PCI Device ID.
Definition: hip_runtime_api.h:402
hipFuncGetAttributes
hipError_t hipFuncGetAttributes(struct hipFuncAttributes *attr, const void *func)
Find out attributes for a given function.
hipDeviceAttributeAccessPolicyMaxWindowSize
@ hipDeviceAttributeAccessPolicyMaxWindowSize
Cuda only. The maximum size of the window policy in bytes.
Definition: hip_runtime_api.h:330
hipKernelNodeParams
Definition: hip_runtime_api.h:4321
HIP_ARRAY3D_DESCRIPTOR
Definition: driver_types.h:74
hipFuncGetAttribute
hipError_t hipFuncGetAttribute(int *value, hipFunction_attribute attrib, hipFunction_t hfunc)
Find out a specific attribute for a given function.
hipMemAdviseUnsetReadMostly
@ hipMemAdviseUnsetReadMostly
Undo the effect of hipMemAdviseSetReadMostly.
Definition: hip_runtime_api.h:676
hipIpcOpenEventHandle
hipError_t hipIpcOpenEventHandle(hipEvent_t *event, hipIpcEventHandle_t handle)
Opens an interprocess event handles.
dim3
Definition: hip_runtime_api.h:777
hipStreamQuery
hipError_t hipStreamQuery(hipStream_t stream)
Return hipSuccess if all of the operations in the specified stream have completed,...
hipDeviceProp_t::arch
hipDeviceArch_t arch
Architectural feature flags. New for HIP.
Definition: hip_runtime_api.h:109
hipDeviceProp_t::memoryBusWidth
int memoryBusWidth
Global memory bus width in bits.
Definition: hip_runtime_api.h:95
hipLaunchByPtr
hipError_t hipLaunchByPtr(const void *func)
Launch a kernel.
hipStreamAddCaptureDependencies
@ hipStreamAddCaptureDependencies
Add new nodes to the dependency set.
Definition: hip_runtime_api.h:4371
hipExtStreamGetCUMask
hipError_t hipExtStreamGetCUMask(hipStream_t stream, uint32_t cuMaskSize, uint32_t *cuMask)
Get CU mask associated with an asynchronous stream.
hipExtMallocWithFlags
hipError_t hipExtMallocWithFlags(void **ptr, size_t sizeBytes, unsigned int flags)
Allocate memory on the default accelerator.
hipStreamUpdateCaptureDependencies
hipError_t hipStreamUpdateCaptureDependencies(hipStream_t stream, hipGraphNode_t *dependencies, size_t numDependencies, unsigned int flags __dparm(0))
Update the set of dependencies in a capturing stream.
hipMemcpy2DToArrayAsync
hipError_t hipMemcpy2DToArrayAsync(hipArray *dst, size_t wOffset, size_t hOffset, const void *src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind, hipStream_t stream __dparm(0))
Copies data between host and device.
hipDeviceProp_t::l2CacheSize
int l2CacheSize
L2 cache size.
Definition: hip_runtime_api.h:104
hipDevicePrimaryCtxSetFlags
hipError_t hipDevicePrimaryCtxSetFlags(hipDevice_t dev, unsigned int flags)
Set flags for the primary context.
hipPointerAttribute_t
Definition: hip_runtime_api.h:169
hipGraphNodeTypeWaitEvent
@ hipGraphNodeTypeWaitEvent
External event wait node.
Definition: hip_runtime_api.h:4308
hipDeviceAttributeTotalConstantMemory
@ hipDeviceAttributeTotalConstantMemory
Constant memory size in bytes.
Definition: hip_runtime_api.h:418
hipFree
hipError_t hipFree(void *ptr)
Free memory allocated by the hcc hip memory allocation API. This API performs an implicit hipDeviceSy...
hipGraphMemsetNodeSetParams
hipError_t hipGraphMemsetNodeSetParams(hipGraphNode_t node, const hipMemsetParams *pNodeParams)
Sets a memset node's parameters.
hipArrayDefault
#define hipArrayDefault
Definition: hip_runtime_api.h:647
hipGraphExecMemcpyNodeSetParamsToSymbol
hipError_t hipGraphExecMemcpyNodeSetParamsToSymbol(hipGraphExec_t hGraphExec, hipGraphNode_t node, const void *symbol, const void *src, size_t count, size_t offset, hipMemcpyKind kind)
Sets the parameters for a memcpy node in the given graphExec to copy to a symbol on the device.
hipDeviceAttributeGlobalL1CacheSupported
@ hipDeviceAttributeGlobalL1CacheSupported
Cuda only. Device supports caching globals in L1.
Definition: hip_runtime_api.h:346
hipDeviceAttributeTotalGlobalMem
@ hipDeviceAttributeTotalGlobalMem
Global memory available on devicice.
Definition: hip_runtime_api.h:419
hipDevicePrimaryCtxRetain
hipError_t hipDevicePrimaryCtxRetain(hipCtx_t *pctx, hipDevice_t dev)
Retain the primary context on the GPU.
hipGLDeviceListCurrentFrame
@ hipGLDeviceListCurrentFrame
frame
Definition: hip_runtime_api.h:885
hipGraphEventRecordNodeSetEvent
hipError_t hipGraphEventRecordNodeSetEvent(hipGraphNode_t node, hipEvent_t event)
Sets an event record node's event.
hipCtxSynchronize
hipError_t hipCtxSynchronize(void)
Blocks until the default context has completed all preceding requested tasks.
hipMemcpyHtoA
hipError_t hipMemcpyHtoA(hipArray *dstArray, size_t dstOffset, const void *srcHost, size_t count)
Copies data between host and device.
hipFreeHost
hipError_t hipFreeHost(void *ptr)
Free memory allocated by the hcc hip host memory allocation API. [Deprecated].
surface_types.h
Defines surface types for HIP runtime.
hipGraphExecUpdateSuccess
@ hipGraphExecUpdateSuccess
The update succeeded.
Definition: hip_runtime_api.h:4344
hipStreamAddCallback
hipError_t hipStreamAddCallback(hipStream_t stream, hipStreamCallback_t callback, void *userData, unsigned int flags)
Adds a callback to be called on the host after all currently enqueued items in the stream have comple...
hipErrorPeerAccessNotEnabled
hipErrorPeerAccessNotEnabled
Peer access was never enabled from the current device.
Definition: hip_runtime_api.h:268
hipErrorGraphExecUpdateFailure
hipErrorGraphExecUpdateFailure
Definition: hip_runtime_api.h:306
hipDeviceAttributeMaxRegistersPerMultiprocessor
@ hipDeviceAttributeMaxRegistersPerMultiprocessor
32-bit registers available per block.
Definition: hip_runtime_api.h:407
hipStreamSetCaptureDependencies
@ hipStreamSetCaptureDependencies
Replace the dependency set with the new nodes.
Definition: hip_runtime_api.h:4372
hipMemcpyDtoHAsync
hipError_t hipMemcpyDtoHAsync(void *dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream)
Copy data from Device to Host asynchronously.
hipMemRangeCoherencyMode
hipMemRangeCoherencyMode
Definition: hip_runtime_api.h:696
hipGraphNodeTypeEventRecord
@ hipGraphNodeTypeEventRecord
External event record node.
Definition: hip_runtime_api.h:4309
hipErrorInvalidContext
hipErrorInvalidContext
Produced when input context is invalid.
Definition: hip_runtime_api.h:230
hipMemRangeAttributeReadMostly
@ hipMemRangeAttributeReadMostly
Definition: hip_runtime_api.h:711
hipDeviceProp_t::pciDeviceID
int pciDeviceID
PCI Device ID.
Definition: hip_runtime_api.h:113
hipMemRangeAttributeLastPrefetchLocation
@ hipMemRangeAttributeLastPrefetchLocation
prefetched
Definition: hip_runtime_api.h:716
hipDeviceProp_t::pciDomainID
int pciDomainID
PCI Domain ID.
Definition: hip_runtime_api.h:111
hipDeviceAttributeTextureAlignment
@ hipDeviceAttributeTextureAlignment
Alignment requirement for textures.
Definition: hip_runtime_api.h:416
hipDeviceArch_t::hasSharedFloatAtomicExch
unsigned hasSharedFloatAtomicExch
32-bit float atomic exch for shared memory.
Definition: hip_runtime_api.h:50
hipDeviceProp_t::clockInstructionRate
int clockInstructionRate
Definition: hip_runtime_api.h:107
hipDrvMemcpy3DAsync
hipError_t hipDrvMemcpy3DAsync(const HIP_MEMCPY3D *pCopy, hipStream_t stream)
Copies data between host and device asynchronously.
hipEventRecord
hipError_t hipEventRecord(hipEvent_t event, hipStream_t stream)
Record an event in the specified stream.
hipExternalMemoryHandleDesc_st
Definition: hip_runtime_api.h:802
hipGraphNodeFindInClone
hipError_t hipGraphNodeFindInClone(hipGraphNode_t *pNode, hipGraphNode_t originalNode, hipGraph_t clonedGraph)
Finds a cloned version of a node.
hipDeviceProp_t::sharedMemPerBlock
size_t sharedMemPerBlock
Size of shared memory region (in bytes).
Definition: hip_runtime_api.h:87
hipDeviceProp_t::totalGlobalMem
size_t totalGlobalMem
Size of global memory region (in bytes).
Definition: hip_runtime_api.h:86
hipDeviceProp_t::regsPerBlock
int regsPerBlock
Registers per block.
Definition: hip_runtime_api.h:88
hipMemcpy2D
hipError_t hipMemcpy2D(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind)
Copies data between host and device.
hipExtent
Definition: driver_types.h:358
hipPitchedPtr
Definition: driver_types.h:352
hipHostMallocDefault
#define hipHostMallocDefault
Definition: hip_runtime_api.h:575
hipErrorRuntimeMemory
hipErrorRuntimeMemory
Definition: hip_runtime_api.h:312
hipSharedMemBankSizeDefault
@ hipSharedMemBankSizeDefault
The compiler selects a device-specific value for the banking.
Definition: hip_runtime_api.h:767
hipDeviceAttributeMaxTextureCubemapLayered
@ hipDeviceAttributeMaxTextureCubemapLayered
Cuda only. Maximum dimensions of Cubemap layered texture.
Definition: hip_runtime_api.h:387
hipMemset2D
hipError_t hipMemset2D(void *dst, size_t pitch, int value, size_t width, size_t height)
Fills the memory area pointed to by dst with the constant value.
hipMemset3D
hipError_t hipMemset3D(hipPitchedPtr pitchedDevPtr, int value, hipExtent extent)
Fills synchronously the memory area pointed to by pitchedDevPtr with the constant value.
hipLaunchParams_t::sharedMem
size_t sharedMem
Shared memory.
Definition: hip_runtime_api.h:790
hipStreamCreateWithFlags
hipError_t hipStreamCreateWithFlags(hipStream_t *stream, unsigned int flags)
Create an asynchronous stream.
hipDeviceAttributeMaxSurface3D
@ hipDeviceAttributeMaxSurface3D
Maximum dimension (width, height, depth) of 3D surface.
Definition: hip_runtime_api.h:368
hipDeviceGetAttribute
hipError_t hipDeviceGetAttribute(int *pi, hipDeviceAttribute_t attr, int deviceId)
Query for a specific device attribute.
hipDeviceProp_t::maxThreadsPerMultiProcessor
int maxThreadsPerMultiProcessor
Maximum resident threads per multi-processor.
Definition: hip_runtime_api.h:105
hipMemcpyFromArray
hipError_t hipMemcpyFromArray(void *dst, hipArray_const_t srcArray, size_t wOffset, size_t hOffset, size_t count, hipMemcpyKind kind)
Copies data between host and device.
hipDeviceAttributeCanMapHostMemory
@ hipDeviceAttributeCanMapHostMemory
Whether host memory can be mapped into device address space.
Definition: hip_runtime_api.h:332
hipGraphExecUpdate
hipError_t hipGraphExecUpdate(hipGraphExec_t hGraphExec, hipGraph_t hGraph, hipGraphNode_t *hErrorNode_out, hipGraphExecUpdateResult *updateResult_out)
Check whether an executable graph can be updated with a graph and perform the update if * possible.
hipGraphNodeTypeMemcpy1D
@ hipGraphNodeTypeMemcpy1D
Memcpy 1D node.
Definition: hip_runtime_api.h:4310
hipDeviceProp_t::warpSize
int warpSize
Warp size.
Definition: hip_runtime_api.h:89
hipMemcpyPeerAsync
hipError_t hipMemcpyPeerAsync(void *dst, int dstDeviceId, const void *src, int srcDevice, size_t sizeBytes, hipStream_t stream __dparm(0))
Copies memory from one device to memory on another device.
hipDeviceProp_t::directManagedMemAccessFromHost
int directManagedMemAccessFromHost
Host can directly access managed memory on the device without migration.
Definition: hip_runtime_api.h:145
hipDrvMemcpy2DUnaligned
hipError_t hipDrvMemcpy2DUnaligned(const hip_Memcpy2D *pCopy)
hipDeviceAttributePciDomainID
@ hipDeviceAttributePciDomainID
PCI Domain ID.
Definition: hip_runtime_api.h:403
hipMemcpyHtoDAsync
hipError_t hipMemcpyHtoDAsync(hipDeviceptr_t dst, void *src, size_t sizeBytes, hipStream_t stream)
Copy data from Host to Device asynchronously.
hipSignalExternalSemaphoresAsync
hipError_t hipSignalExternalSemaphoresAsync(const hipExternalSemaphore_t *extSemArray, const hipExternalSemaphoreSignalParams *paramsArray, unsigned int numExtSems, hipStream_t stream)
Signals a set of external semaphore objects.
hipMemcpyDtoH
hipError_t hipMemcpyDtoH(void *dst, hipDeviceptr_t src, size_t sizeBytes)
Copy data from Device to Host.
hipDeviceGetCacheConfig
hipError_t hipDeviceGetCacheConfig(hipFuncCache_t *cacheConfig)
Set Cache configuration for a specific function.
hipModuleGetGlobal
hipError_t hipModuleGetGlobal(hipDeviceptr_t *dptr, size_t *bytes, hipModule_t hmod, const char *name)
Returns a global pointer from a module. Returns in *dptr and *bytes the pointer and size of the globa...
hipGraphAddEventWaitNode
hipError_t hipGraphAddEventWaitNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, hipEvent_t event)
Creates an event wait node and adds it to a graph.
hipMemcpyPeer
hipError_t hipMemcpyPeer(void *dst, int dstDeviceId, const void *src, int srcDeviceId, size_t sizeBytes)
Copies memory from one device to memory on another device.
hipDeviceAttributeMaxTexture1DWidth
@ hipDeviceAttributeMaxTexture1DWidth
Maximum size of 1D texture.
Definition: hip_runtime_api.h:371
hipDeviceAttributeCooperativeLaunch
@ hipDeviceAttributeCooperativeLaunch
Support cooperative launch.
Definition: hip_runtime_api.h:340
hipImportExternalSemaphore
hipError_t hipImportExternalSemaphore(hipExternalSemaphore_t *extSem_out, const hipExternalSemaphoreHandleDesc *semHandleDesc)
Imports an external semaphore.
hipModuleLoadDataEx
hipError_t hipModuleLoadDataEx(hipModule_t *module, const void *image, unsigned int numOptions, hipJitOption *options, void **optionValues)
builds module from code object which resides in host memory. Image is pointer to that location....
hipFreeMipmappedArray
hipError_t hipFreeMipmappedArray(hipMipmappedArray_t mipmappedArray)
Frees a mipmapped array on the device.
hipGraphNodeGetDependentNodes
hipError_t hipGraphNodeGetDependentNodes(hipGraphNode_t node, hipGraphNode_t *pDependentNodes, size_t *pNumDependentNodes)
Returns a node's dependent nodes.
hipErrorInvalidValue
hipErrorInvalidValue
Definition: hip_runtime_api.h:205
hipGraphNodeType
hipGraphNodeType
Definition: hip_runtime_api.h:4301
hipDeviceAttributeMultiprocessorCount
@ hipDeviceAttributeMultiprocessorCount
Number of multiprocessors on the device.
Definition: hip_runtime_api.h:396
hipGraphEventRecordNodeGetEvent
hipError_t hipGraphEventRecordNodeGetEvent(hipGraphNode_t node, hipEvent_t *event_out)
Returns the event associated with an event record node.
hipGLDeviceListAll
@ hipGLDeviceListAll
All hip devices used by current OpenGL context.
Definition: hip_runtime_api.h:884
hipIpcGetEventHandle
hipError_t hipIpcGetEventHandle(hipIpcEventHandle_t *handle, hipEvent_t event)
Gets an opaque interprocess handle for an event.
hipErrorInvalidResourceHandle
hipErrorInvalidResourceHandle
Resource handle (hipEvent_t or hipStream_t) invalid.
Definition: hip_runtime_api.h:256
hipGetDeviceProperties
hipError_t hipGetDeviceProperties(hipDeviceProp_t *prop, int deviceId)
Returns device properties.
hipGraphAddEmptyNode
hipError_t hipGraphAddEmptyNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies)
Creates an empty node and adds it to a graph.
hipGraphAddHostNode
hipError_t hipGraphAddHostNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, const hipHostNodeParams *pNodeParams)
Creates a host execution node and adds it to a graph.
hipDeviceAttributeArch
@ hipDeviceAttributeArch
Device architecture.
Definition: hip_runtime_api.h:428
hipMemcpy
hipError_t hipMemcpy(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind)
Copy data from src to dst.
hipDeviceAttributeIsLargeBar
@ hipDeviceAttributeIsLargeBar
Whether it is LargeBar.
Definition: hip_runtime_api.h:442
hipDeviceProp_t::kernelExecTimeoutEnabled
int kernelExecTimeoutEnabled
Run time limit for kernels executed on the device.
Definition: hip_runtime_api.h:131
hipErrorStreamCaptureUnjoined
hipErrorStreamCaptureUnjoined
Definition: hip_runtime_api.h:291
hipDeviceArch_t::has3dGrid
unsigned has3dGrid
Grid and group dims are 3D (rather than 2D).
Definition: hip_runtime_api.h:72
hipEventCreateWithFlags
hipError_t hipEventCreateWithFlags(hipEvent_t *event, unsigned flags)
Create an event with the specified flags.
hipMemAdviseUnsetAccessedBy
@ hipMemAdviseUnsetAccessedBy
Definition: hip_runtime_api.h:682
hipGraphExecMemcpyNodeSetParamsFromSymbol
hipError_t hipGraphExecMemcpyNodeSetParamsFromSymbol(hipGraphExec_t hGraphExec, hipGraphNode_t node, void *dst, const void *symbol, size_t count, size_t offset, hipMemcpyKind kind)
Sets the parameters for a memcpy node in the given graphExec to copy from a symbol on the.
hipGraphNodeGetType
hipError_t hipGraphNodeGetType(hipGraphNode_t node, hipGraphNodeType *pType)
Returns a node's type.
hipDeviceTotalMem
hipError_t hipDeviceTotalMem(size_t *bytes, hipDevice_t device)
Returns the total amount of memory on the device.
dim3::y
uint32_t y
y
Definition: hip_runtime_api.h:779
hipDeviceAttributeReservedSharedMemPerBlock
@ hipDeviceAttributeReservedSharedMemPerBlock
Cuda11 only. Shared memory reserved by CUDA driver per block.
Definition: hip_runtime_api.h:408
hipFreeArray
hipError_t hipFreeArray(hipArray *array)
Frees an array on the device.
hipGraphHostNodeSetParams
hipError_t hipGraphHostNodeSetParams(hipGraphNode_t node, const hipHostNodeParams *pNodeParams)
Sets a host node's parameters.
textureReference
Definition: texture_types.h:88
hipErrorAssert
hipErrorAssert
Produced when the kernel calls assert.
Definition: hip_runtime_api.h:272
hipDeviceAttributeStreamPrioritiesSupported
@ hipDeviceAttributeStreamPrioritiesSupported
Cuda only. Whether to support stream priorities.
Definition: hip_runtime_api.h:413
hipCtxGetSharedMemConfig
hipError_t hipCtxGetSharedMemConfig(hipSharedMemConfig *pConfig)
Get Shared memory bank configuration.
hipDeviceCanAccessPeer
hipError_t hipDeviceCanAccessPeer(int *canAccessPeer, int deviceId, int peerDeviceId)
Determine if a device can access a peer's memory.
hipMemAdviseUnsetPreferredLocation
@ hipMemAdviseUnsetPreferredLocation
Clear the preferred location for the data.
Definition: hip_runtime_api.h:679
hipModuleGetFunction
hipError_t hipModuleGetFunction(hipFunction_t *function, hipModule_t module, const char *kname)
Function with kname will be extracted if present in module.
hipDeviceAttributeMultiGpuBoardGroupID
@ hipDeviceAttributeMultiGpuBoardGroupID
Cuda only. Unique ID of device group on the same multi-GPU board.
Definition: hip_runtime_api.h:395
hipDeviceArch_t::hasWarpShuffle
unsigned hasWarpShuffle
Warp shuffle operations. (__shfl_*).
Definition: hip_runtime_api.h:63
hipStreamIsCapturing
hipError_t hipStreamIsCapturing(hipStream_t stream, hipStreamCaptureStatus *pCaptureStatus)
Get stream's capture state.
hipErrorNotReady
hipErrorNotReady
Definition: hip_runtime_api.h:259
hipDeviceAttributeClockInstructionRate
@ hipDeviceAttributeClockInstructionRate
Frequency in khz of the timer used by the device-side "clock*".
Definition: hip_runtime_api.h:427
hipStreamGetCaptureInfo_v2
hipError_t hipStreamGetCaptureInfo_v2(hipStream_t stream, hipStreamCaptureStatus *captureStatus_out, unsigned long long *id_out __dparm(0), hipGraph_t *graph_out __dparm(0), const hipGraphNode_t **dependencies_out __dparm(0), size_t *numDependencies_out __dparm(0))
Get stream's capture state.
hipMemRangeCoherencyModeIndeterminate
@ hipMemRangeCoherencyModeIndeterminate
Definition: hip_runtime_api.h:701
hipGraphExecMemsetNodeSetParams
hipError_t hipGraphExecMemsetNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, const hipMemsetParams *pNodeParams)
Sets the parameters for a memset node in the given graphExec.
hipDeviceProp_t::concurrentManagedAccess
int concurrentManagedAccess
Device can coherently access managed memory concurrently with the CPU.
Definition: hip_runtime_api.h:146
hipGraphExecEventRecordNodeSetEvent
hipError_t hipGraphExecEventRecordNodeSetEvent(hipGraphExec_t hGraphExec, hipGraphNode_t hNode, hipEvent_t event)
Sets the event for an event record node in the given graphExec.
hipDeviceProp_t::maxTexture2D
int maxTexture2D[2]
Maximum dimensions (width, height) of 2D images, in image elements.
Definition: hip_runtime_api.h:124
hipCtxDisablePeerAccess
hipError_t hipCtxDisablePeerAccess(hipCtx_t peerCtx)
Disable direct access from current context's virtual address space to memory allocations physically l...
hipDeviceAttributeCooperativeMultiDeviceUnmatchedSharedMem
@ hipDeviceAttributeCooperativeMultiDeviceUnmatchedSharedMem
Definition: hip_runtime_api.h:440
HIP_RESOURCE_DESC_st
Definition: driver_types.h:282
hipTextureDesc
Definition: texture_types.h:109
dim3::x
uint32_t x
x
Definition: hip_runtime_api.h:778
hipResourceViewDesc
Definition: driver_types.h:314
hipMemoryTypeArray
@ hipMemoryTypeArray
Definition: hip_runtime_api.h:160
hipGraphDestroyNode
hipError_t hipGraphDestroyNode(hipGraphNode_t node)
Remove a node from the graph.
hipDeviceAttributeHostNativeAtomicSupported
@ hipDeviceAttributeHostNativeAtomicSupported
Cuda only. Link between the device and the host supports native atomic operations.
Definition: hip_runtime_api.h:347
hipErrorHostMemoryNotRegistered
hipErrorHostMemoryNotRegistered
Produced when trying to unlock a non-page-locked memory.
Definition: hip_runtime_api.h:275
hipCtxSetSharedMemConfig
hipError_t hipCtxSetSharedMemConfig(hipSharedMemConfig config)
Set Shared memory bank configuration.
hipGraphNodeTypeMemset
@ hipGraphNodeTypeMemset
Memset 1D node.
Definition: hip_runtime_api.h:4304
hipMemsetD8
hipError_t hipMemsetD8(hipDeviceptr_t dest, unsigned char value, size_t count)
Fills the first sizeBytes bytes of the memory area pointed to by dest with the constant byte value va...
dim3::z
uint32_t z
z
Definition: hip_runtime_api.h:780
hipMemset2DAsync
hipError_t hipMemset2DAsync(void *dst, size_t pitch, int value, size_t width, size_t height, hipStream_t stream __dparm(0))
Fills asynchronously the memory area pointed to by dst with the constant value.
hipHostNodeParams
Definition: hip_runtime_api.h:4317
HIP_ARRAY_DESCRIPTOR
Definition: driver_types.h:68
hipGraphMemcpyNodeSetParams1D
hipError_t hipGraphMemcpyNodeSetParams1D(hipGraphNode_t node, void *dst, const void *src, size_t count, hipMemcpyKind kind)
Sets a memcpy node's parameters to perform a 1-dimensional copy.
hipCtxGetDevice
hipError_t hipCtxGetDevice(hipDevice_t *device)
Get the handle of the device associated with current/default context.
hipDeviceAttributeCanUseStreamWaitValue
@ hipDeviceAttributeCanUseStreamWaitValue
Definition: hip_runtime_api.h:444
hipMemAllocHost
hipError_t hipMemAllocHost(void **ptr, size_t size)
Allocate pinned host memory [Deprecated].
hipDeviceAttributeCanUseHostPointerForRegisteredMem
@ hipDeviceAttributeCanUseHostPointerForRegisteredMem
Definition: hip_runtime_api.h:333
hipMemAttachGlobal
#define hipMemAttachGlobal
Definition: hip_runtime_api.h:599
hipLaunchParams_t
Definition: hip_runtime_api.h:785
hipFuncCachePreferShared
@ hipFuncCachePreferShared
prefer larger shared memory and smaller L1 cache
Definition: hip_runtime_api.h:759
hipStreamWriteValue64
hipError_t hipStreamWriteValue64(hipStream_t stream, void *ptr, uint64_t value, unsigned int flags)
Enqueues a write command to the stream.[BETA].
hipMemRangeAttributePreferredLocation
@ hipMemRangeAttributePreferredLocation
The preferred location of the range.
Definition: hip_runtime_api.h:713
hipDeviceAttributeMaxSurface1DLayered
@ hipDeviceAttributeMaxSurface1DLayered
Cuda only. Maximum dimensions of 1D layered surface.
Definition: hip_runtime_api.h:365
hipMemAdviseSetReadMostly
@ hipMemAdviseSetReadMostly
Definition: hip_runtime_api.h:674
hipFuncAttribute
hipFuncAttribute
Definition: hip_runtime_api.h:749
hipStreamCaptureStatusNone
@ hipStreamCaptureStatusNone
Stream is not capturing.
Definition: hip_runtime_api.h:4364
hipDeviceProp_t::clockRate
int clockRate
Max clock frequency of the multiProcessors in khz.
Definition: hip_runtime_api.h:93
hipDeviceProp_t::cooperativeMultiDeviceLaunch
int cooperativeMultiDeviceLaunch
HIP device supports cooperative launch on multiple devices.
Definition: hip_runtime_api.h:121
hipGraphMemsetNodeGetParams
hipError_t hipGraphMemsetNodeGetParams(hipGraphNode_t node, hipMemsetParams *pNodeParams)
Gets a memset node's parameters.
hipDeviceProp_t::ECCEnabled
int ECCEnabled
Device has ECC support enabled.
Definition: hip_runtime_api.h:132
hipDeviceArch_t::hasGlobalInt32Atomics
unsigned hasGlobalInt32Atomics
32-bit integer atomics for global memory.
Definition: hip_runtime_api.h:47
hipSharedMemBankSizeEightByte
@ hipSharedMemBankSizeEightByte
Definition: hip_runtime_api.h:770
hipDeviceAttribute_t
hipDeviceAttribute_t
Definition: hip_runtime_api.h:326
hipLaunchParams_t::stream
hipStream_t stream
Stream identifier.
Definition: hip_runtime_api.h:791
hipGraphChildGraphNodeGetGraph
hipError_t hipGraphChildGraphNodeGetGraph(hipGraphNode_t node, hipGraph_t *pGraph)
Gets a handle to the embedded graph of a child graph node.
hipFuncSetSharedMemConfig
hipError_t hipFuncSetSharedMemConfig(const void *func, hipSharedMemConfig config)
Set shared memory configuation for a specific function.
hipExtGetLinkTypeAndHopCount
hipError_t hipExtGetLinkTypeAndHopCount(int device1, int device2, uint32_t *linktype, uint32_t *hopcount)
Returns the link type and hop count between two devices.
hipMemAdviseSetAccessedBy
@ hipMemAdviseSetAccessedBy
Definition: hip_runtime_api.h:680
hipGraphicsRegisterFlagsWriteDiscard
@ hipGraphicsRegisterFlagsWriteDiscard
HIP will only write and will not read from this registered resource.
Definition: hip_runtime_api.h:899
hipDeviceArch_t::hasThreadFenceSystem
unsigned hasThreadFenceSystem
__threadfence_system.
Definition: hip_runtime_api.h:67
hipResourceDesc
Definition: driver_types.h:258
hipGraphicsRegisterFlagsSurfaceLoadStore
@ hipGraphicsRegisterFlagsSurfaceLoadStore
HIP will bind this resource to a surface.
Definition: hip_runtime_api.h:901
hipDeviceSynchronize
hipError_t hipDeviceSynchronize(void)
Waits on all active streams on current device.
hipCtxGetCacheConfig
hipError_t hipCtxGetCacheConfig(hipFuncCache_t *cacheConfig)
Set Cache configuration for a specific function.
hipErrorStreamCaptureUnmatched
hipErrorStreamCaptureUnmatched
The capture was not initiated in this stream.
Definition: hip_runtime_api.h:290
hipDeviceAttributeMaxBlocksPerMultiProcessor
@ hipDeviceAttributeMaxBlocksPerMultiProcessor
Cuda only. Max block size per multiprocessor.
Definition: hip_runtime_api.h:357
hipCtxDestroy
hipError_t hipCtxDestroy(hipCtx_t ctx)
Destroy a HIP context.
hipErrorNotSupported
hipErrorNotSupported
Produced when the hip API is not supported/implemented.
Definition: hip_runtime_api.h:283
hipDeviceAttributeGcnArch
@ hipDeviceAttributeGcnArch
Device gcn architecture.
Definition: hip_runtime_api.h:430
hipModuleLaunchKernel
hipError_t hipModuleLaunchKernel(hipFunction_t f, unsigned int gridDimX, unsigned int gridDimY, unsigned int gridDimZ, unsigned int blockDimX, unsigned int blockDimY, unsigned int blockDimZ, unsigned int sharedMemBytes, hipStream_t stream, void **kernelParams, void **extra)
launches kernel f with launch parameters and shared memory on stream with arguments passed to kernelp...
hipDeviceAttributeConcurrentKernels
@ hipDeviceAttributeConcurrentKernels
Device can possibly execute multiple kernels concurrently.
Definition: hip_runtime_api.h:338
hipGraphKernelNodeGetParams
hipError_t hipGraphKernelNodeGetParams(hipGraphNode_t node, hipKernelNodeParams *pNodeParams)
Gets kernel node's parameters.
hipDeviceAttributeMaxTexture2DLayered
@ hipDeviceAttributeMaxTexture2DLayered
Cuda only. Maximum dimensions of 2D layered texture.
Definition: hip_runtime_api.h:379
hipProfilerStart
hipError_t hipProfilerStart()
Start recording of profiling information When using this API, start the profiler with profiling disab...
hipDeviceGetSharedMemConfig
hipError_t hipDeviceGetSharedMemConfig(hipSharedMemConfig *pConfig)
Returns bank width of shared memory for current device.
hipMemcpyAsync
hipError_t hipMemcpyAsync(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream __dparm(0))
Copy data from src to dst asynchronously.
hipOccupancyMaxPotentialBlockSize
hipError_t hipOccupancyMaxPotentialBlockSize(int *gridSize, int *blockSize, const void *f, size_t dynSharedMemPerBlk, int blockSizeLimit)
determine the grid and block sizes to achieves maximum occupancy for a kernel
hipStreamDestroy
hipError_t hipStreamDestroy(hipStream_t stream)
Destroys the specified stream.
hipHostRegister
hipError_t hipHostRegister(void *hostPtr, size_t sizeBytes, unsigned int flags)
Register host memory so it can be accessed from the current device.
hipGraphMemcpyNodeSetParamsToSymbol
hipError_t hipGraphMemcpyNodeSetParamsToSymbol(hipGraphNode_t node, const void *symbol, const void *src, size_t count, size_t offset, hipMemcpyKind kind)
Sets a memcpy node's parameters to copy to a symbol on the device.
hipStreamCaptureStatusActive
@ hipStreamCaptureStatusActive
Stream is actively capturing.
Definition: hip_runtime_api.h:4365
hipModuleLoad
hipError_t hipModuleLoad(hipModule_t *module, const char *fname)
Loads code object from file into a hipModule_t.
hipProfilerStop
hipError_t hipProfilerStop()
Stop recording of profiling information. When using this API, start the profiler with profiling disab...
hipEventCreate
hipError_t hipEventCreate(hipEvent_t *event)
hipDeviceAttributePageableMemoryAccess
@ hipDeviceAttributePageableMemoryAccess
Definition: hip_runtime_api.h:398
hipGraphExecEventWaitNodeSetEvent
hipError_t hipGraphExecEventWaitNodeSetEvent(hipGraphExec_t hGraphExec, hipGraphNode_t hNode, hipEvent_t event)
Sets the event for an event record node in the given graphExec.
hipGraphAddMemsetNode
hipError_t hipGraphAddMemsetNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, const hipMemsetParams *pMemsetParams)
Creates a memset node and adds it to a graph.
HIP_RESOURCE_VIEW_DESC_st
Definition: driver_types.h:328
hipMemoryType
hipMemoryType
Definition: hip_runtime_api.h:156
hipDeviceAttributeSharedMemPerBlockOptin
@ hipDeviceAttributeSharedMemPerBlockOptin
Cuda only. Maximum shared memory per block usable by special opt in.
Definition: hip_runtime_api.h:410
hipGraphicsRegisterFlagsTextureGather
@ hipGraphicsRegisterFlagsTextureGather
HIP will perform texture gather operations on this registered resource.
Definition: hip_runtime_api.h:902
hipGLDeviceListNextFrame
@ hipGLDeviceListNextFrame
frame.
Definition: hip_runtime_api.h:887
hipMemsetAsync
hipError_t hipMemsetAsync(void *dst, int value, size_t sizeBytes, hipStream_t stream __dparm(0))
Fills the first sizeBytes bytes of the memory area pointed to by dev with the constant byte value val...
hipMallocHost
hipError_t hipMallocHost(void **ptr, size_t size)
Allocate pinned host memory [Deprecated].
hipDrvPointerGetAttributes
hipError_t hipDrvPointerGetAttributes(unsigned int numAttributes, hipPointer_attribute *attributes, void **data, hipDeviceptr_t ptr)
Returns information about the specified pointer.[BETA].
hipDeviceAttributeMaxTexture2DWidth
@ hipDeviceAttributeMaxTexture2DWidth
Maximum dimension width of 2D texture.
Definition: hip_runtime_api.h:376
hipDeviceAttributeCooperativeMultiDeviceUnmatchedFunc
@ hipDeviceAttributeCooperativeMultiDeviceUnmatchedFunc
Definition: hip_runtime_api.h:434
hipGraphMemcpyNodeSetParamsFromSymbol
hipError_t hipGraphMemcpyNodeSetParamsFromSymbol(hipGraphNode_t node, void *dst, const void *symbol, size_t count, size_t offset, hipMemcpyKind kind)
Sets a memcpy node's parameters to copy from a symbol on the device.
hipModuleLoadData
hipError_t hipModuleLoadData(hipModule_t *module, const void *image)
builds module from code object which resides in host memory. Image is pointer to that location.
hipFuncCachePreferL1
@ hipFuncCachePreferL1
prefer larger L1 cache and smaller shared memory
Definition: hip_runtime_api.h:760
hipMemAttachSingle
#define hipMemAttachSingle
Definition: hip_runtime_api.h:605
hipGraphNodeTypeMemcpyToSymbol
@ hipGraphNodeTypeMemcpyToSymbol
MemcpyToSymbol node.
Definition: hip_runtime_api.h:4312
hipMemcpyParam2D
hipError_t hipMemcpyParam2D(const hip_Memcpy2D *pCopy)
Copies memory for 2D arrays.
hipDeviceAttributeMaxTexture2DLinear
@ hipDeviceAttributeMaxTexture2DLinear
Cuda only. Maximum dimensions (width, height, pitch) of 2D textures bound to pitched memory.
Definition: hip_runtime_api.h:380
hipGraphAddEventRecordNode
hipError_t hipGraphAddEventRecordNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, hipEvent_t event)
Creates an event record node and adds it to a graph.
hipMemPrefetchAsync
hipError_t hipMemPrefetchAsync(const void *dev_ptr, size_t count, int device, hipStream_t stream __dparm(0))
Prefetches memory to the specified destination device using HIP.
hipGraphExecUpdateResult
hipGraphExecUpdateResult
Definition: hip_runtime_api.h:4343
hipDeviceProp_t::asicRevision
int asicRevision
Revision of the GPU in this device.
Definition: hip_runtime_api.h:143
hipDeviceAttributeHdpMemFlushCntl
@ hipDeviceAttributeHdpMemFlushCntl
Address of the HDP_MEM_COHERENCY_FLUSH_CNTL register.
Definition: hip_runtime_api.h:432
hipMemset
hipError_t hipMemset(void *dst, int value, size_t sizeBytes)
Fills the first sizeBytes bytes of the memory area pointed to by dest with the constant byte value va...
hipDeviceDisablePeerAccess
hipError_t hipDeviceDisablePeerAccess(int peerDeviceId)
Disable direct access from current device's virtual address space to memory allocations physically lo...
hipModuleOccupancyMaxActiveBlocksPerMultiprocessor
hipError_t hipModuleOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, hipFunction_t f, int blockSize, size_t dynSharedMemPerBlk)
Returns occupancy for a device function.
hipFuncSetAttribute
hipError_t hipFuncSetAttribute(const void *func, hipFuncAttribute attr, int value)
Set attribute for a specific function.
hipDeviceAttributeEccEnabled
@ hipDeviceAttributeEccEnabled
Whether ECC support is enabled.
Definition: hip_runtime_api.h:329
__hipPopCallConfiguration
hipError_t __hipPopCallConfiguration(dim3 *gridDim, dim3 *blockDim, size_t *sharedMem, hipStream_t *stream)
Pop configuration of a kernel launch.
hipDeviceProp_t::major
int major
Definition: hip_runtime_api.h:97
hipDeviceProp_t
struct hipDeviceProp_t hipDeviceProp_t
hipDeviceAttributeMaxSharedMemoryPerMultiprocessor
@ hipDeviceAttributeMaxSharedMemoryPerMultiprocessor
Maximum Shared Memory PerMultiprocessor.
Definition: hip_runtime_api.h:429
hipDevicePrimaryCtxReset
hipError_t hipDevicePrimaryCtxReset(hipDevice_t dev)
Resets the primary context on the GPU.
hipChannelFormatDesc
Definition: driver_types.h:47
hipModuleUnload
hipError_t hipModuleUnload(hipModule_t module)
Frees the module.
hipMemRangeAttribute
hipMemRangeAttribute
Definition: hip_runtime_api.h:710
hipMemAdvise
hipError_t hipMemAdvise(const void *dev_ptr, size_t count, hipMemoryAdvise advice, int device)
Advise about the usage of a given memory range to HIP.
hipDeviceArch_t::hasGlobalFloatAtomicExch
unsigned hasGlobalFloatAtomicExch
32-bit float atomic exch for global memory.
Definition: hip_runtime_api.h:48
hipDeviceProp_t::hdpMemFlushCntl
unsigned int * hdpMemFlushCntl
Addres of HDP_MEM_COHERENCY_FLUSH_CNTL register.
Definition: hip_runtime_api.h:126
hipPointerGetAttribute
hipError_t hipPointerGetAttribute(void *data, hipPointer_attribute attribute, hipDeviceptr_t ptr)
Returns information about the specified pointer.[BETA].
hipImportExternalMemory
hipError_t hipImportExternalMemory(hipExternalMemory_t *extMem_out, const hipExternalMemoryHandleDesc *memHandleDesc)
Imports an external memory object.
hipStreamUpdateCaptureDependenciesFlags
hipStreamUpdateCaptureDependenciesFlags
Definition: hip_runtime_api.h:4370