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)