HOST API

def

ACLSHMEM_HOST_API

用于标识host侧函数

enum aclshmem_error_code_t

错误码

Values:

enumerator ACLSHMEM_SUCCESS

任务执行成功

enumerator ACLSHMEM_INVALID_PARAM

参数无效

enumerator ACLSHMEM_INVALID_VALUE

参数值非法

enumerator ACLSHMEM_SMEM_ERROR

共享内存报错

enumerator ACLSHMEM_INNER_ERROR

内部报错

enumerator ACLSHMEM_NOT_INITED

尚未初始化

memory

Functions

ACLSHMEM_HOST_API int32_t aclshmem_get_rootinfo(root_info_t *root_info)

获取hccl集合通信需要传递的root_info

参数:

root_info – [in] 返回hccl生成的root info

返回:

错误码

ACLSHMEM_HOST_API int32_t aclshmem_init_attr(uint32_t flags, aclshmem_init_attr_t *attr)

初始化aclshmem

参数:
  • flags – [in] aclshmem控制面通信使用的方式

  • attr – [in] aclshmem相应的初始化信息

返回:

错误码

ACLSHMEM_HOST_API void *aclshmem_malloc(size_t size, aclshmem_mem_type_t mem_type = DEVICE_SIDE)

申请一块aclshmem对称内存,该内存中数据未被初始化

参数:
  • size – [in] 内存申请大小(bytes)

  • mem_type – [in] 对称内存申请位置(Host/Device)

返回:

对称内存指针

ACLSHMEM_HOST_API 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_HOST_API 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_HOST_API void aclshmem_free(void *ptr, aclshmem_mem_type_t mem_type = DEVICE_SIDE)

释放申请的对称内存

参数:
  • ptr – [in] 需要释放的内存指针

  • mem_type – [in] 对称内存申请位置(Host/Device)

ACLSHMEM_HOST_API void aclshmem_finalize()

释放所有aclshmem使用的资源

ACLSHMEM_HOST_API void aclshmem_barrier(aclshmem_team_t team)

全局同步接口,同一个team内都要等待所有pe完成

参数:

team – [in] team所在编号