---
title: 函数：set_memcpy_desc
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/runtimeapi/aclpythondevg_01_1064.html
sourcePath: /source/zh/canncommercial/900/API/runtimeapi/aclpythondevg_01_1064.html
indexId: 4a95e82ea1e48f3ae0ac64884407eade67344346cc712232a1b4f4cd53cba45771
---
# 函数：set_memcpy_desc

#### 产品支持情况

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


#### 功能说明

设置内存复制描述符，此接口调用完成后，会将源地址，目的地址、内存复制长度记录到内存复制描述符中。

本接口需与其它关键接口配合使用，以便实现内存复制，详细描述请参见acl.rt.memcpy_async_with_desc。


#### 函数原型

- C函数原型
  1 aclError aclrtSetMemcpyDesc(void *desc, aclrtMemcpyKind kind, void *srcAddr, void *dstAddr, size_t count, void *config)

- python函数
  1 desc, ret = acl.rt.set_memcpy_desc(desc, kind, src_addr, dst_addr, count, config)


#### 参数说明

| 参数名 | 说明 |
| --- | --- |
| desc | int，内存复制描述符地址指针。 需先调用acl.rt.get\_memcpy\_desc\_size接口获取内存描述符所需的内存大小，再申请Device内存后（例如acl.rt.malloc接口），将Device内存地址作为入参传入此处。 |
| kind | int，内存复制的类型。当前仅支持ACL\_MEMCPY\_INNER\_DEVICE\_TO\_DEVICE，表示Device内的内存复制。 |
| src\_addr | int，源内存地址指针。由用户申请内存并管理内存。 |
| dst\_addr | int，目的内存地址指针。由用户申请内存并管理内存。 |
| count | int，内存复制的长度，单位Byte。 |
| config | int，预留参数，当前固定传0。 |


#### 返回值说明

| 返回值 | 说明 |
| --- | --- |
| desc | int，内存复制描述符地址指针。 |
| ret | int，错误码，返回0表示成功，返回其它值表示失败。 |
