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

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| 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 TransferAsync(const AscendString &remote_engine,
                     TransferOp operation,
                     const std::vector<TransferOpDesc> &op_descs,
                     const TransferArgs &optional_args,
                     TransferReq &req)
```


#### 参数说明

| 参数名称 | 输入/输出 | 取值说明 |
| --- | --- | --- |
| remote\_engine | 输入 | 远端HIXL的唯一标识。 |
| operation | 输入 | 将远端内存读到本地或者将本地内存写到远端。 |
| op\_descs | 输入 | 批量操作的本地以及远端地址。 |
| optional\_args | 输入 | 可选参数（预留）。 |
| req | 输出 | 请求的句柄，用于查询传输请求状态。 |


#### 调用示例

```
//初始化客户端和服务端engine，并完成链接
client_engine.TransferAsync(remote_engine, operation, op_descs, optional_args, req);
```


#### 返回值

- SUCCESS：成功
- NOT_CONNECTED：没有与对端创建链接
- 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。
- 当前异步传输只支持直传，暂不支持中转传输，默认直传。
- 在Fabric Mem传输模式下, 所有op_descs的传输类型需要相同，系统会根据第一个op_desc的内存类型判定传输方向。该约束支持的型号如下：

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