昇腾社区首页
中文
注册
开发者
下载

Initialize

产品支持情况

产品

是否支持

Atlas A3 训练系列产品 / Atlas A3 推理系列产品

Atlas 800I A2 推理产品 /A200I A2 Box 异构组件

Atlas A2 训练系列产品

x

Atlas 200I/500 A2 推理产品

x

Atlas 推理系列产品

x

Atlas 训练系列产品

x

函数功能

初始化AdxlEngine,在调用其他接口前需要先调用该接口。

函数原型

1
Status Initialize(const AscendString &local_engine, const std::map<AscendString, AscendString> &options)

参数说明

参数名

输入/输出

描述

local_engine

输入

AdxlEngine标识,在所有参与建链的范围内需要确保唯一。格式为host_ip:host_port或host_ip,不建议配置为回环IP,在多个AdxlEngine交互场景,回环IP容易冲突。

当设置host_port且host_port>0时代表当前AdxlEngine作为Server端,需要对配置端口进行侦听。如果没设置host_port或者host_port<=0代表是Client,不启动侦听。

options

输入

初始化参数值。具体请参考表1

表1 options

参数名

可选/必选

描述

OPTION_BUFFER_POOL

可选

字符串取值"adxl.BufferPool"。

在需要使用中转buffer进行传输的场景下:

1. 不支持使用HCCS协议进行Host To Host直传传输时;

2. RDMA注册Host内存大小受限时;

3. 多个小块内存传输(例如128K)需要使用中转传输提升性能时。

可使用此option配置中转内存池的大小,取值格式为"$BUFFER_NUM:$BUFFER_SIZE",系统默认会配置为"4:8(单位MB)",可以通过配置为"0:0"来关闭中转内存池,在有并发的场景下建议增大$BUFFER_NUM个数, 另外,所有使用的地方需要配置相同的值,中转传输模式的限制请参考TransferSync章节

OPTION_RDMA_TRAFFIC_CLASS

可选

字符串取值"adxl.RdmaTrafficClass"。

用于配置RDMA网卡的traffic class。和环境变量HCCL_RDMA_TC功能,如同时配置,当前option优先级更高;未同时配置,以配置的一方为准。

取值范围为[0,255],且需要配置为4的整数倍,默认值为132。

更多信息请参考环境变量参考

OPTION_RDMA_SERVICE_LEVEL

可选

字符串取值"adxl.RdmaServiceLevel"。

用于配置RDMA网卡的service level。和环境变量HCCL_RDMA_SL功能相同,如同时配置,当前option优先级更高;未同时配置,以配置的一方为准。

取值范围为[0, 7],默认值为4。

更多信息请参考环境变量参考

调用示例

请参考adxl_engine_sample

返回值

  • SUCCESS:成功
  • PARAM_INVALID:参数错误
  • 其他:失败

异常处理

约束说明

  1. 需要和Finalize配对使用,初始化成功后,任何退出前都需要先调用Finalize保证资源释放,否则会出现资源释放顺序不符合预期而导致问题。
  2. 初始化前需要先调用aclrtSetDevice