曦云系列通用计算GPU MXMACA运行时API参考
1. MXMACA运行时简介
1.1. 常规行为-流同步
1.1.1. 默认流
1.1.1.1. 遗留默认流
1.1.1.2. 每线程默认流
1.2. 常规行为-API同步
1.2.1. Memcpy
1.2.1.1. 同步
1.2.1.2. 异步
1.2.2. Memset
1.2.3. 核函数启动
2. MXMACA 运行时API模块
2.1. 初始化
2.1.1. 模块描述
2.1.2. 函数
2.1.3. 函数介绍
2.1.3.1. mcError_t mcInit (unsigned int
flags
)
2.2. 设备管理
2.2.1. 模块描述
2.2.2. 函数
2.2.3. 函数介绍
2.2.3.1. mcError_t mcChooseDevice (int *
deviceId
, const mcDeviceProp_t *
prop
)
2.2.3.2. mcError_t mcDeviceGet (mcDevice_t *
device
, int
ordinal
)
2.2.3.3. mcError_t mcDeviceGetAttribute (int *
value
, enum mcDeviceAttribute_t
attr
, int
deviceId
)
2.2.3.4. mcError_t mcDeviceGetDefaultMemPool (mcMemPool_t *
memPool
, mcDevice_t
deivce
)
2.2.3.5. mcError_t mcDeviceGetLimit (size_t *
pValue
, enum mcLimit_t
limit
)
2.2.3.6. mcError_t mcDeviceGetLuid (char *
luid
, unsigned int *
deviceNodeMask
, mcDevice_t
dev
)
2.2.3.7. mcError_t mcDeviceGetMemPool (mcMemPool_t *
memPool
, mcDevice_t
deivce
)
2.2.3.8. mcError_t mcDeviceGetName (char *
name
, int
len
, mcDevice_t
device
)
2.2.3.9. mcError_t mcDeviceGetP2PAttribute (int *
value
, enum mcDeviceP2PAttr
attr
, int
srcDevice
, int
dstDevice
)
2.2.3.10. mcError_t mcDeviceGetPCIBusId (char *
pciBusId
, int
len
, int
device
)
2.2.3.11. mcError_t mcDeviceGetSharedMemConfig (enum mcSharedMemConfig *
pConfig
)
2.2.3.12. mcError_t mcDeviceGetStreamPriorityRange (int *
leastPriority
, int *
greatestPriority
)
2.2.3.13. mcError_t mcDeviceGetUuid (mcUuid_t *
uuid
, mcDevice_t
device
)
2.2.3.14. mcError_t mcDeviceReset (void)
2.2.3.15. mcError_t mcDeviceSetCacheConfig (enum mcFuncCache_t
cacheConfig
)
2.2.3.16. mcError_t mcDeviceSetLimit (enum mcLimit_t
limit
, size_t
value
)
2.2.3.17. mcError_t mcDeviceSetMemPool (mcDevice_t
dev
, mcMemPool_t
pool
)
2.2.3.18. mcError_t mcDeviceSetSharedMemConfig (enum mcSharedMemConfig
config
)
2.2.3.19. mcError_t mcDeviceSynchronize (void)
2.2.3.20. mcError_t mcDeviceTotalMem (size_t *
totmem
, mcDevice_t
deivce
)
2.2.3.21. mcError_t mcGetDevice (int *
deviceId
)
2.2.3.22. mcError_t mcGetDeviceCount (int *
count
)
2.2.3.23. mcError_t mcGetDeviceFlags (unsigned int *
flags
)
2.2.3.24. mcError_t mcGetDeviceProperties (mcDeviceProp_t *
prop
, int
deviceId
)
2.2.3.25. mcError_t mcSetDevice (int
deviceId
)
2.2.3.26. mcError_t mcSetDeviceFlags (unsigned int
flag
)
2.2.3.27. mcError_t mcSetValidDevices (int *
deviceArray
, int
len
)
2.3. 流管理
2.3.1. 模块描述
2.3.2. 函数
2.3.3. 函数介绍
2.3.3.1. mcError_t mcStreamAddCallback (mcStream_t
stream
, mcStreamCallback_t
callback
, void *
userData
, unsigned int
flags
)
2.3.3.2. mcError_t mcStreamAttachMemAsync (mcStream_t
stream
, void *
devPtr
, size_t length
__dparm
0, unsigned int flags
__dparm
mcMemAttachSingle)
2.3.3.3. mcError_t mcStreamBeginCapture (mcStream_t
stream
, mcStreamCaptureMode
mode
)
2.3.3.4. mcError_t mcStreamCopyAttributes (mcStream_t
dst
, mcStream_t
src
)
2.3.3.5. mcError_t mcStreamCreate (mcStream_t *
stream
)
2.3.3.6. mcError_t mcStreamCreateWithFlags (mcStream_t *
pStream
, unsigned int
flags
)
2.3.3.7. mcError_t mcStreamCreateWithPriority (mcStream_t *
stream
, unsigned int
flags
, int
priority
)
2.3.3.8. mcError_t mcStreamDestroy (mcStream_t
stream
)
2.3.3.9. mcError_t mcStreamEndCapture (mcStream_t stream, mcGraph_t *
pGraph
)
2.3.3.10. mcError_t mcStreamGetAttribute (mcStream_t
hStream
, mcStreamAttrID
attr
, mcStreamAttrValue *
value_out
)
2.3.3.11. mcError_t mcStreamGetCaptureInfo (mcStream_t
stream
, mcStreamCaptureStatus *
captureStatus_out
, unsigned long long *id_out
__dparm
0, mcGraph_t *graph_out
__dparm
0, const mcGraphNode_t **dependencies_out
__dparm
0, size_t *numDependencies_out
__dparm
0)
2.3.3.12. mcError_t mcStreamGetCtx (mcStream_t
hStream
, mcCtx_t *
ctx
)
2.3.3.13. mcError_t mcStreamGetFlags (mcStream_t
hStream
, unsigned int *
flags
)
2.3.3.14. mcError_t mcStreamGetPriority (mcStream_t
hStream
, int *
priority
)
2.3.3.15. mcError_t mcStreamIsCapturing (mcStream_t
stream
, mcStreamCaptureStatus *
pCaptureStatus
)
2.3.3.16. mcError_t mcStreamQuery (mcStream_t
stream
)
2.3.3.17. mcError_t mcStreamSetAttribute (mcStream_t
hStream
, mcStreamAttrID
attr
, const mcStreamAttrValue *
value
)
2.3.3.18. mcError_t mcStreamSynchronize (mcStream_t
stream
)
2.3.3.19. mcError_t mcStreamUpdateCaptureDependencies (mcStream_t
stream
, mcGraphNode_t *
dependencies
, size_t
numDependencies
, unsigned int flags
__dparm
0)
2.3.3.20. mcError_t mcStreamWaitEvent (mcStream_t
stream
, mcEvent_t
event
, unsigned int flags
__dparm
0)
2.3.3.21. mcError_t mcThreadExchangeStreamCaptureMode (mcStreamCaptureMode *
mode
)
2.4. 执行控制
2.4.1. 模块描述
2.4.2. 函数
2.4.3. 函数介绍
2.4.3.1. mcError_t mcLaunchKernel (const void *
function_address
, dim3
numBlocks
, dim3
dimBlocks
, void **
args
, size_t sharedMemBytes
__dparm
0, mcStream_t stream
__dparm
0)
2.4.3.2. mcError_t mcModuleLaunchKernel (mcFunction_t
f
, unsigned int
gridDimX
, unsigned int
gridDimY
, unsigned int
gridDimZ
, unsigned int
blockDimX
, unsigned int
blockDimY
, unsigned int
blockDimZ
, unsigned int
sharedMemBytes
, mcStream_t
stream
, void **
kernelParams
, void **
extra
)
2.4.3.3. mcError_t mcLaunchHostFunc (mcStream_t
stream
, mcHostFn_t
fn
, void *
userData
)
2.4.3.4. mcError_t mcLaunchCooperativeKernel (const void *
f
, dim3
gridDim
, dim3
blockDim
, void **
kernelParams
, unsigned int
sharedMemBytes
, mcStream_t
stream
)
2.4.3.5. mcError_t mcLaunchCooperativeKernelMultiDevice (mcLaunchParams *
launchParamsList
, int
numDevices
, unsigned int
flags
)
2.4.3.6. mcError_t mcExtLaunchMultiKernelMultiDevice (mcLaunchParams *
launchParamsList
, int
numDevices
, unsigned int
flags
)
2.4.3.7. mcError_t mcFuncGetAttributes (struct mcFuncAttributes *
attr
, const void *
func
)
2.4.3.8. mcError_t mcFuncSetAttribute (const void *
func
, mcFuncAttribute
attr
, int
value
)
2.5. 事件管理
2.5.1. 模块描述
2.5.2. 函数
2.5.3. 函数介绍
2.5.3.1. mcError_t mcEventCreate (mcEvent_t *
event
)
2.5.3.2. mcError_t mcEventCreateWithFlags (mcEvent_t *
event
, unsigned int
flags
)
2.5.3.3. mcError_t mcEventDestroy (mcEvent_t
event
)
2.5.3.4. mcError_t mcEventElapsedTime (float *
ms
, mcEvent_t
start
, mcEvent_t
stop
)
2.5.3.5. mcError_t mcEventElapsedTimeWithFlags (float *
ms
, mcEvent_t
start
, mcEvent_t
stop
, unsigned int
flag
)
2.5.3.6. mcError_t mcEventQuery (mcEvent_t
event
)
2.5.3.7. mcError_t mcEventRecord (mcEvent_t
event
, mcStream_t stream
__dparm
nullptr)
2.5.3.8. mcError_t mcEventRecordWithFlags (mcEvent_t
event
, mcStream_t stream
__dparm
nullptr, unsigned int flags
__dparm
0)
2.5.3.9. mcError_t mcEventSynchronize (mcEvent_t
event
)
2.6. 占用(Occupancy)
2.6.1. 模块描述
2.6.2. 函数
2.6.3. 函数介绍
2.6.3.1. mcError_t mcModuleOccupancyMaxActiveBlocksPerMultiprocessor (int *
numBlocks
, mcFunction_t
f
, int
blockSize
, size_t
dynamicSMemSize
)
2.6.3.2. mcError_t mcOccupancyAvailableDynamicSMemPerBlock (size_t *
dynamicSmemSize
, const void *
f
, int
numBlocks
, int
blockSize
)
2.6.3.3. mcError_t mcOccupancyMaxActiveBlocksPerMultiprocessor (int *
numBlocks
, const void *
f
, int
blockSize
, size_t
dynamicSMemSize
)
2.6.3.4. mcError_t mcOccupancyMaxActiveBlocksPerMultiprocessorWithFlags (int *
numBlocks
, const void *
f
, int
blockSize
, size_t
dynamicSMemSize
, unsigned int
flags
)
2.6.3.5. mcError_t mcOccupancyMaxPotentialBlockSize (int *
gridSize
, int *
blockSize
, const void *
f
, size_t
dynSharedMemPerBlk
, int
blockSizeLimit
)
2.6.3.6. mcError_t mcOccupancyMaxPotentialBlockSizeWithFlags (int *
gridSize
, int *
blockSize
, const void *
f
, size_t
dynSharedMemPerBlk
, int
blockSizeLimit
, unsigned int
flags
)
2.7. 版本管理
2.7.1. 模块描述
2.7.2. 函数
2.7.3. 函数介绍
2.7.3.1. mcError_t mcDriverGetVersion (int *
version
)
2.7.3.2. mcError_t mcRuntimeGetVersion (int *
version
)
2.8. 错误处理
2.8.1. 模块描述
2.8.2. 函数
2.8.3. 函数介绍
2.8.3.1. const char * mcGetErrorName (mcError_t
mc_error
)
2.8.3.2. const char * mcGetErrorString (mcError_t
mc_error
)
2.8.3.3. mcError_t mcGetLastError (void)
2.8.3.4. mcError_t mcPeekAtLastError (void)
2.9. 内存分配(Memory Malloc)
2.9.1. 模块描述
2.9.2. 函数
2.9.3. 函数介绍
2.9.3.1. mcError_t mcExtMallocWithFlags (void **
ptr
, size_t
sizeBytes
, unsigned int
flags
)
2.9.3.2. mcError_t mcFree (void *
ptr
)
2.9.3.3. mcError_t mcFreeHost (void *
ptr
)
2.9.3.4. mcError_t mcHostGetDevicePointer (void **
devPtr
, void *
hostPtr
, unsigned int flags
__dparm
0)
2.9.3.5. mcError_t mcHostGetFlags (unsigned int *
flagsPtr
, void *
hostPtr
)
2.9.3.6. mcError_t mcHostRegister (void *
hostPtr
, size_t
sizeBytes
, unsigned int flags
__dparm
mcHostRegisterDefault)
2.9.3.7. mcError_t mcHostUnregister (void *
hostPtr
)
2.9.3.8. mcError_t mcMalloc (void **
ptr
, size_t
sizeBytes
)
2.9.3.9. mcError_t mcMalloc3D (struct mcPitchedPtr *
pitchedDevPtr
, struct mcExtent
extent
)
2.9.3.10. mcError_t mcMallocHost (void **
ptr
, size_t
size
, unsigned int flags
__dparm
mcMallocHostDefault)
2.9.3.11. mcError_t mcMallocPitch (void **
ptr
, size_t *
pitch
, size_t
width
, size_t
height
)
2.10. 内存复制
2.10.1. 模块描述
2.10.2. 函数
2.10.3. 函数介绍
2.10.3.1. mcError_t mcGetSymbolAddress (void **
devPtr
, const void *
symbol
)
2.10.3.2. mcError_t mcGetSymbolSize (size_t *
size
, const void *
symbol
)
2.10.3.3. mcError_t mcMemcpy (void *
dst
, const void *
src
, size_t
count
, mcMemcpyKind
kind
)
2.10.3.4. mcError_t mcMemcpy2D (void *
dst
, size_t
dpitch
, const void *
src
, size_t
spitch
, size_t
width
, size_t
height
, mcMemcpyKind
kind
)
2.10.3.5. mcError_t mcMemcpy2DAsync (void *
dst
, size_t
dpitch
, const void *
src
, size_t
spitch
, size_t
width
, size_t
height
, mcMemcpyKind
kind
, mcStream_t
stream
)
2.10.3.6. mcError_t mcMemcpy2DUnaligned (const mc_Memcpy2D *
pCopy
)
2.10.3.7. mcError_t mcMemcpy3D (const struct mcMemcpy3DParms *
pCopy
)
2.10.3.8. mcError_t mcMemcpy3DAsync (const struct mcMemcpy3DParms *
pCopy
, mcStream_t
hStream
)
2.10.3.9. mcError_t mcMemcpy3DPeer (const struct mcMemcpy3DParms *
pCopy
)
2.10.3.10. mcError_t mcMemcpy3DPeerAsync (const struct mcMemcpy3DParms *
pCopy
, mcStream_t
hStream
)
2.10.3.11. mcError_t mcMemcpyAsync (void *
dst
, const void *
src
, size_t
count
, mcMemcpyKind
kind
, mcStream_t stream
__dparm
0)
2.10.3.12. mcError_t mcMemcpyDtoD (mcDeviceptr_t
dstDevice
, mcDeviceptr_t
srcDevice
, size_t
ByteCount
)
2.10.3.13. mcError_t mcMemcpyDtoDAsync (mcDeviceptr_t
dstDevice
, mcDeviceptr_t
srcDevice
, size_t
ByteCount
, mcStream_t
hStream
)
2.10.3.14. mcError_t mcMemcpyDtoH (void *
dstHost
, mcDeviceptr_t
srcDevice
, size_t
ByteCount
)
2.10.3.15. mcError_t mcMemcpyDtoHAsync (void *
dstHost
, mcDeviceptr_t
srcDevice
, size_t
ByteCount
, mcStream_t
hStream
)
2.10.3.16. mcError_t mcMemcpyFromSymbol (void *
dst
, const void *
symbol
, size_t
sizeBytes
, size_t offset
__dparm
0, mcMemcpyKind kind
__dparm
mcMemcpyDefault)
2.10.3.17. mcError_t mcMemcpyFromSymbolAsync (void *
dst
, const void *
symbol
, size_t
sizeBytes
, size_t offset
__dparm
0, mcMemcpyKind kind
__dparm
mcMemcpyDefault, mcStream_t stream
__dparm
nullptr)
2.10.3.18. mcError_t mcMemcpyHtoD (mcDeviceptr_t
dstDevice
, const void *
srcHost
, size_t
ByteCount
)
2.10.3.19. mcError_t mcMemcpyHtoDAsync (mcDeviceptr_t
dstDevice
, const void *
srcHost
, size_t
ByteCount
, mcStream_t
hStream
)
2.10.3.20. mcError_t mcMemcpyParam2D (const mc_Memcpy2D *
pCopy
)
2.10.3.21. mcError_t mcMemcpyParam2DAsync (const mc_Memcpy2D *
pCopy
, mcStream_t stream
__dparm
0)
2.10.3.22. mcError_t mcMemcpyPeer (void *
dst
, int
dstDevice
, const void *
src
, int
srcDevice
, size_t
sizeBytes
)
2.10.3.23. mcError_t mcMemcpyPeerAsync (void *
dst
, int
dstDevice
, const void *
src
, int
srcDevice
, size_t
sizeBytes
, mcStream_t
stream
)
2.10.3.24. mcError_t mcMemcpyToSymbol (const void *
symbol
, const void *
src
, size_t
sizeBytes
, size_t offset
__dparm
0, mcMemcpyKind kind
__dparm
mcMemcpyDefault)
2.10.3.25. mcError_t mcMemcpyToSymbolAsync (const void *
symbol
, const void *
src
, size_t
sizeBytes
, size_t offset
__dparm
0, mcMemcpyKind kind
__dparm
mcMemcpyDefault, mcStream_t stream
__dparm
nullptr)
2.10.3.26. mcError_t mcMemcpyWithStream (void *
dst
, const void *
src
, size_t
sizeBytes
, mcMemcpyKind
kind
, mcStream_t
stream
)
2.11. 内存设置
2.11.1. 模块描述
2.11.2. 函数
2.11.3. 函数介绍
2.11.3.1. mcError_t mcMemset (void *
dst
, int
value
, size_t
sizeBytes
)
2.11.3.2. mcError_t mcMemset2D (void *
dst
, size_t
pitch
, int
value
, size_t
width
, size_t
height
)
2.11.3.3. mcError_t mcMemset2DAsync (void *
dst
, size_t
pitch
, int
value
, size_t
width
, size_t
height
, mcStream_t
stream
)
2.11.3.4. mcError_t mcMemset3D (struct mcPitchedPtr
pitchedDevPtr
, int
value
, struct mcExtent
extent
)
2.11.3.5. mcError_t mcMemset3DAsync (struct mcPitchedPtr
pitchedDevPtr
, int
value
, struct mcExtent
extent
, mcStream_t
stream
)
2.11.3.6. mcError_t mcMemsetAsync (void *
dst
, int
value
, size_t
sizeBytes
, mcStream_t
stream
)
2.11.3.7. mcError_t mcMemsetD16 (mcDeviceptr_t
dstDevice
, unsigned short
mValue
, size_t
mSize
)
2.11.3.8. mcError_t mcMemsetD16Async (mcDeviceptr_t
dstDevice
, unsigned short
mValue
, size_t
mSize
, mcStream_t
hStream
)
2.11.3.9. mcError_t mcMemsetD2D16 (mcDeviceptr_t
dstDevice
, size_t
dstPitch
, unsigned short
mValue
, size_t
mWidth
, size_t
mHeight
)
2.11.3.10. mcError_t mcMemsetD2D16Async (mcDeviceptr_t
dstDevice
, size_t
dstPitch
, unsigned short
mValue
, size_t
mWidth
, size_t
mHeight
, mcStream_t
hStream
)
2.11.3.11. mcError_t mcMemsetD2D32 (mcDeviceptr_t
dstDevice
, size_t
dstPitch
, unsigned int
mValue
, size_t
mWidth
, size_t
mHeight
)
2.11.3.12. mcError_t mcMemsetD2D32Async (mcDeviceptr_t
dstDevice
, size_t
dstPitch
, unsigned int
mValue
, size_t
mWidth
, size_t
mHeight
, mcStream_t
hStream
)
2.11.3.13. mcError_t mcMemsetD2D8 (mcDeviceptr_t
dstDevice
, size_t
dstPitch
, unsigned char
mValue
, size_t
mWidth
, size_t
mHeight
)
2.11.3.14. mcError_t mcMemsetD2D8Async (mcDeviceptr_t
dstDevice
, size_t
dstPitch
, unsigned char
mValue
, size_t
mWidth
, size_t
mHeight
, mcStream_t
hStream
)
2.11.3.15. mcError_t mcMemsetD32 (mcDeviceptr_t
dstDevice
, unsigned int
mValue
, size_t
mSize
)
2.11.3.16. mcError_t mcMemsetD32Async (mcDeviceptr_t
dstDevice
, unsigned int
mValue
, size_t
mSize
, mcStream_t
hStream
)
2.11.3.17. mcError_t mcMemsetD8 (mcDeviceptr_t
dstDevice
, unsigned char
mValue
, size_t
mSize
)
2.11.3.18. mcError_t mcMemsetD8Async (mcDeviceptr_t
dstDevice
, unsigned char
mValue
, size_t
mSize
, mcStream_t
hStream
)
2.12. 模块管理
2.12.1. 模块描述
2.12.2. 函数
2.12.3. 函数介绍
2.12.3.1. mcError_t mcFuncGetAttribute (int *
value
, mcFunction_attribute
attrib
, mcFunction_t
hfunc
)
2.12.3.2. mcError_t mcFuncGetModule
(mcModule_t * module, mcFunction_t f)
2.12.3.3. mcError_t mcGetFuncBySymbol (mcFunction_t *
functionPtr
, const void *
symbolPtr
)
2.12.3.4. mcError_t mcLinkAddData (mcLinkState_t
state
, mcJitInputType
type
, void *
data
, size_t
size
, const char *
name
, unsigned int
numOptions
, mcJitOption *
options
, void **
optionValues
)
2.12.3.5. mcError_t mcLinkAddFile (mcLinkState_t
state
, mcJitInputType
type
, const char *
path
, unsigned int
numOptions
, mcJitOption *
options
, void **
optionValues
)
2.12.3.6. mcError_t mcLinkComplete (mcLinkState_t
state
, void **
dataOut
, size_t *
sizeOut
)
2.12.3.7. mcError_t mcLinkCreate (unsigned int
numOptions
, mcJitOption *
options
, void **
optionValues
, mcLinkState_t *
stateOut
)
2.12.3.8. mcError_t mcLinkDestroy (mcLinkState_t
state
)
2.12.3.9. mcError_t mcModuleGetFunction (mcFunction_t *
function
, mcModule_t
module
, const char *
kname
)
2.12.3.10. mcError_t mcModuleGetGlobal (mcDeviceptr_t *
dptr
, size_t *
bytes
, mcModule_t
hmod
, const char *
name
)
2.12.3.11. mcError_t mcModuleLoad (mcModule_t *
module
, const char *
fname
)
2.12.3.12. mcError_t mcModuleLoadData (mcModule_t *
module
, const void *
image
)
2.12.3.13. mcError_t mcModuleLoadDataEx (mcModule_t *
module
, const void *
image
, unsigned int
numOptions
, mcJitOption *
options
, void **
optionValues
)
2.12.3.14. mcError_t mcModuleLoadFatBinary (mcModule_t *
module
, const void *
fatbin
)
2.12.3.15. mcError_t mcModuleUnload (mcModule_t
module
)
2.13. 虚拟内存管理
2.13.1. 模块描述
2.13.2. 函数
2.13.3. 函数介绍
2.13.3.1. mcError_t mcMemAddressFree (mcDeviceptr_t
ptr
, size_t
size
)
2.13.3.2. mcError_t mcMemAddressReserve (mcDeviceptr_t *
ptr
, size_t
size
, size_t
alignment
, mcDeviceptr_t
addr
, unsigned long long
flags
)
2.13.3.3. mcError_t mcMemCreate (mcMemGenericAllocationHandle *
handle
, size_t
size
, const mcMemAllocationProp *
prop
, unsigned long long
flags
)
2.13.3.4. mcError_t mcMemExportToShareableHandle (void *
shareableHandle
, mcMemGenericAllocationHandle
handle
, enum mcMemAllocationHandleType
handleType
, unsigned long long
flags
)
2.13.3.5. mcError_t mcMemGetAccess (unsigned long long *
flags
, const struct mcMemLocation *
location
, mcDeviceptr_t
ptr
)
2.13.3.6. mcError_t mcMemGetAllocationGranularity (size_t *
granularity
, const mcMemAllocationProp *
prop
, mcMemAllocationGranularity_flags
option
)
2.13.3.7. mcError_t mcMemGetAllocationPropertiesFromHandle (mcMemAllocationProp *
prop
, mcMemGenericAllocationHandle
handle
)
2.13.3.8. mcError_t mcMemImportFromShareableHandle (mcMemGenericAllocationHandle *
handle
, void *
shareableHandle
, enum mcMemAllocationHandleType
shHandleType
)
2.13.3.9. mcError_t mcMemMap (mcDeviceptr_t
ptr
, size_t
size
, size_t
offset
, mcMemGenericAllocationHandle
handle
, unsigned long long
flags
)
2.13.3.10. mcError_t mcMemRelease (mcMemGenericAllocationHandle
handle
)
2.13.3.11. mcError_t mcMemRetainAllocationHandle (mcMemGenericAllocationHandle *
handle
, void *
addr
)
2.13.3.12. mcError_t mcMemSetAccess (mcDeviceptr_t
ptr
, size_t
size
, const struct mcMemAccessDesc *
desc
, size_t
count
)
2.13.3.13. mcError_t mcMemUnmap (mcDeviceptr_t
ptr
, size_t
size
)
2.14. 流序内存分配器
2.14.1. 模块描述
2.14.2. 函数
2.14.3. 函数介绍
2.14.3.1. mcError_t mcFreeAsync (void *
devPtr
, mcStream_t
hStream
)
2.14.3.2. mcError_t mcMallocAsync (void **
devPtr
, size_t
size
, mcStream_t
hStream
)
2.14.3.3. mcError_t mcMallocFromPoolAsync (void **
ptr
, size_t
size
, mcMemPool_t
memPool
, mcStream_t
stream
)
2.14.3.4. mcError_t mcMemAllocAsync (mcDeviceptr_t *
dptr
, size_t
bytesize
, mcStream_t
hStream
)
2.14.3.5. mcError_t mcMemAllocFromPoolAsync (mcDeviceptr_t *
dptr
, size_t
bytesize
, mcMemPool_t
pool
, mcStream_t
hStream
)
2.14.3.6. mcError_t mcMemFreeAsync (mcDeviceptr_t
dptr
, mcStream_t
hStream
)
2.14.3.7. mcError_t mcMemPoolCreate (mcMemPool_t *
memPool
, const struct mcMemPoolProps *
poolProps
)
2.14.3.8. mcError_t mcMemPoolDestroy (mcMemPool_t
memPool
)
2.14.3.9. mcError_t mcMemPoolExportPointer (struct mcMemPoolPtrExportData *
exportData
, void *
ptr
)
2.14.3.10. mcError_t mcMemPoolExportToShareableHandle (void *
sharedHandle
, mcMemPool_t
memPool
, enum mcMemAllocationHandleType
handleType
, unsigned int
flags
)
2.14.3.11. mcError_t mcMemPoolGetAccess (enum mcMemAccessFlags *
flags
, mcMemPool_t
memPool
, struct mcMemLocation *
location
)
2.14.3.12. mcError_t mcMemPoolGetAttribute (mcMemPool_t
memPool
, enum mcMemPoolAttr
attr
, void *
value
)
2.14.3.13. mcError_t mcMemPoolImportFromShareableHandle (mcMemPool_t *
memPool
, void *
sharedHandle
, enum mcMemAllocationHandleType
handleType
, unsigned int
flags
)
2.14.3.14. mcError_t mcMemPoolImportPointer (void **
ptr
, mcMemPool_t
memPool
, struct mcMemPoolPtrExportData *
exportData
)
2.14.3.15. mcError_t mcMemPoolSetAccess (mcMemPool_t
memPool
, const struct mcMemAccessDesc *
descList
, size_t
count
)
2.14.3.16. mcError_t mcMemPoolSetAttribute (mcMemPool_t
memPool
, enum mcMemPoolAttr
attr
, void *
value
)
2.14.3.17. mcError_t mcMemPoolTrimTo (mcMemPool_t
memPool
, size_t
minBytesToKeep
)
2.15. 流内存操作
2.15.1. 模块描述
2.15.2. 函数
3. 数据结构和数据字段
4. 附录
4.1. 术语/缩略语
曦云系列通用计算GPU MXMACA运行时API参考
搜索
请启用 JavaScript 以便使用搜索功能