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

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| 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 异构组件。


#### 函数功能

与远端HIXL进行批量内存传输。


#### 函数原型

```
Status TransferSync(const AscendString &remote_engine,
                    TransferOp operation,
                    const std::vector<TransferOpDesc> &op_descs,
                    int32_t timeout_in_millis = 1000)
```


#### 参数说明

| 参数名称 | 输入/输出 | 取值说明 |
| --- | --- | --- |
| remote\_engine | 输入 | 远端HIXL的唯一标识。 |
| operation | 输入 | 将远端内存读到本地或者将本地内存写到远端。 |
| op\_descs | 输入 | 批量操作的本地以及远端地址。 |
| timeout\_in\_millis | 输入 | 传输的超时时间，单位：ms，默认值：1000。 |


#### 调用示例

单击Gitcode(https://gitcode.com/cann/hixl)，选择配套版本，从“examples/cpp”目录中获取样例。


#### 返回值

- SUCCESS：成功
- PARAM_INVALID：参数错误
- NOT_CONNECTED：没有与对端创建链接
- TIMEOUT：传输超时
- RESOURCE_EXHAUSTED：资源耗尽
- 其他：失败


#### 约束说明

- 调用该接口之前，需要先调用Connect接口完成与对端的建链或者在HIXL初始化时开启了链路池机制（通过配置options中的OPTION_GLOBAL_RESOURCE_CONFIG参数进行开启）。该约束支持的型号如下：

  - Atlas A2 训练系列产品 / Atlas A2 推理系列产品
  - Atlas A3 训练系列产品 / Atlas A3 推理系列产品
- 该接口需要和  Initialize
运行在同一个线程上，如需切换线程调用该接口，需要在  Initialize
所在线程调用“aclrtGetCurrentContext(https://www.hiascend.comdocument/detail/zh/canncommercial/900/API/runtimeapi/aclcppdevg_03_0062.html)”获取context，并在新线程调用“aclrtSetCurrentContext(https://www.hiascend.comdocument/detail/zh/canncommercial/900/API/runtimeapi/aclcppdevg_03_0061.html)”设置context。
- 系统默认开启中转内存池, 在开启中转内存池情况下，op_descs中本地内存和远端内存如有一个未注册就会判断为需要采用中转传输模式，且没有注册过的内存判断为Host内存，用户需保证地址合法。该约束支持的型号如下：

  - Atlas A2 训练系列产品 / Atlas A2 推理系列产品
  - Atlas A3 训练系列产品 / Atlas A3 推理系列产品
- 在中转传输模式下，所有op_descs的传输类型需要相同，举例：所有的op_descs都是本地Host内存往远端Host内存写。该约束支持的型号如下：

  - Atlas A2 训练系列产品 / Atlas A2 推理系列产品
  - Atlas A3 训练系列产品 / Atlas A3 推理系列产品
- 在Fabric Mem传输模式下, 所有op_descs的传输类型需要相同，系统会根据第一个op_desc的内存类型判定传输方向。该约束支持的型号如下：

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