---
title: SetRole
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/hixlug/llmcrv2_42_09.html
sourcePath: /source/zh/canncommercial/900/API/hixlug/llmcrv2_42_09.html
indexId: f582946fa80edfe166bccd6b280c535a976679f0ada018e1353e0c4dc981d4ff59
---
# SetRole

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| 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 SetRole(LlmRole role, const std::map<AscendString, AscendString> &options = {})
```


#### 参数说明

| 参数名 | 输入/输出 | 描述 |
| --- | --- | --- |
| role | 输入 | 角色类型，类型为LlmRole。 |
| options | 输入 | 设置角色的参数，当前支持的参数请参见表1。 |


**表1 配置项**

| 配置项 | 可选/必选 | 描述 |
| --- | --- | --- |
| OPTION\_LISTEN\_IP\_INFO | 可选 | 当LLM\-DataDist初始化是Client时，如果需要切换为Server，则配置该option为侦听的Host的IP地址和端口，配置示例："192.168.1.1:26000"。否则不需要配置。 当LLM\-DataDist初始化是Server时，若不配置该option，则表示切换为Client。若配置了该option，则表示当前仍是Server，如果配置的端口号与初始化不一致，以当前配置为准。配置示例："192.168.1.1:26001"。 该配置项指定hixl传输后端时，不支持通过SetRole变更侦听端口。 |


#### 调用示例

单击Gitee(https://gitee.com/ascend/samples/tags)，根据“标签名”下载配套版本的sample包，从“cplusplus/level1_single_api/11_llm_data_dist”目录中获取样例。


#### 返回值

- LLM_SUCCESS：设置角色成功
- LLM_PARAM_INVALID：参数错误
- LLM_EXIST_LINK：存在残留链路资源
- 其他：失败


#### 异常处理

无


#### 约束说明

使用前需与当前DataDist的链路进行断链。
