Initialize
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 推理系列产品 | √ |
| Atlas A2 训练系列产品 | x |
函数功能
初始化LLM-DataDist。
函数原型
Status Initialize(const std::map<AscendString, AscendString> &options)
参数说明
| 参数名 | 输入/输出 | 描述 |
|---|---|---|
| options | 输入 | 初始化参数值。具体请参考表1。 |
表 1 options
| 参数名 | 可选/必选 | 描述 |
|---|---|---|
| OPTION_LISTEN_IP_INFO | Pormpt必选 | 表示Device侧的IP地址和端口。 配置示例:如"192.168.1.1:26000",单进程多卡场景,传入多个时使用英文分号分割。 |
| OPTION_DEVICE_ID | 必选 | 设置当前进程的Device ID,如"0",单进程多卡场景,传入多个时使用英文分号分割。 |
| OPTION_SYNC_CACHE_WAIT_TIME | 可选 | kv相关操作的超时时间,单位:ms。不配置默认为1000ms。相关接口如下。 - AllocateCache - DeallocateCache - PullKvCache - PullKvBlocks - CopyKvCache - CopyKvBlocks - PushKvCache - PushKvBlocks |
| OPTION_BUF_POOL_CFG | 可选 | 配置内存池大小与档位信息,提高内存申请性能和使用率。格式为json string,字段含义见表2,使用示例如下所示。 { "buf_cfg":[{"total_size":2097152,"blk_size":256,"max_buf_size":8192}], "buf_pool_size": 2147483648 } |
| OPTION_ENABLE_SET_ROLE | 可选 | 配置是否支持角色平滑切换。取值如下。 - 1:支持。 - 0:不支持,不配置默认为不支持。 相关接口:SetRole。 |
表 2 OPTION_BUF_POOL_CFG配置
| 配置项 | 可选/必选 | 描述 |
|---|---|---|
| buf_cfg | 可选 | 内存池档位配置,详见表3。 |
| buf_pool_size | 可选 | 内存池大小,单位为byte。 |
表 3 buf_cfg配置
| 配置项 | 可选/必选 | 描述 |
|---|---|---|
| total_size | 必选 | 当前档位内存池的大小,单位byte。 说明: total_size是2M的倍数,且total_size是blk_size的倍数,最大值不应超过0xFFFFFFFF。 |
| blk_size | 必选 | 当前档位一次可以申请的最小内存值,单位byte。 说明: 要求满足2^n,且在(0,2M]之间,小于或等于max_buf_size。 |
| max_buf_size | 必选 | 当前档位一次可以申请的最大内存值,单位byte。 说明: 小于total_size,max_buf_size必须保持严格递增。 |
返回值
- LLM_SUCCESS:成功
- LLM_PARAM_INVALID:参数错误
- 其他:失败
异常处理
无
约束说明
需要和Finalize配对使用,初始化成功后,任何退出前都需要调用Finalize保证资源释放,否则会出现资源释放顺序不符合预期而导致问题。