Memory Management
ACLSHMEM_MALLOC
-
ACLSHMEM_HOST_PREFIX void *aclshmem_malloc(size_t size, aclshmem_mem_type_t mem_type = DEVICE_SIDE)
申请一块aclshmem对称内存,该内存中数据未被初始化
- 参数:
size – [in] 内存申请大小(bytes)
mem_type – [in] 对称内存申请位置(Host/Device)
- 返回:
对称内存指针
ACLSHMEM_CALLOC
-
ACLSHMEM_HOST_PREFIX void *aclshmem_calloc(size_t count, size_t size, aclshmem_mem_type_t mem_type = DEVICE_SIDE)
申请一块shmem对称内存,并初始化内容为全
- 参数:
count – [in] 元素个数
size – [in] 每个元素所占字节数
mem_type – [in] 对称内存申请位置(Host/Device)
- 返回:
对称内存指针
ACLSHMEM_ALIGN
-
ACLSHMEM_HOST_PREFIX void *aclshmem_align(size_t alignment, size_t size, aclshmem_mem_type_t mem_type = DEVICE_SIDE)
申请一块shmem对称内存,并按指定长度对齐
- 参数:
alignment – [in] 对齐长度(bytes)
size – [in] 内存申请大小(bytes)
mem_type – [in] 对称内存申请位置(Host/Device)
- 返回:
对称内存指针
ACLSHMEM_FREE
-
ACLSHMEM_HOST_PREFIX void aclshmem_free(void *ptr, aclshmem_mem_type_t mem_type = DEVICE_SIDE)
释放申请的对称内存
- 参数:
ptr – [in] 需要释放的内存指针
mem_type – [in] 对称内存申请位置(Host/Device)