---
title: Initialize
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/others/llmdatadistdev/llmcrv1_42_06.html
sourcePath: /source/zh/canncommercial/900/others/llmdatadistdev/llmcrv1_42_06.html
indexId: 669e5eb7f971ed336498bd26394068c9518c4d0baf8fcb6294998e5738e19d3f70
---
# Initialize

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas 350 加速卡 | x |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | x |
| Atlas 推理系列产品 | x |
| Atlas 训练系列产品 | x |


说明：针对 Atlas A2 训练系列产品 / Atlas A2 推理系列产品 ，仅支持Atlas 800I A2 推理服务器、A200I A2 Box 异构组件。


#### 函数功能

初始化LLM-DataDist。


#### 函数原型

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


#### 参数说明

| 参数名 | 输入/输出 | 描述 |
| --- | --- | --- |
| options | 输入 | 初始化参数值。具体请参考表1。 |


**表1 options**

| 参数名 | 可选/必选 | 描述 |
| --- | --- | --- |
| OPTION\_LISTEN\_IP\_INFO | Prompt必选 | 表示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保证资源释放，否则会出现资源释放顺序不符合预期而导致问题。
