Function: set_memcpy_desc

Applicable Products

Product

Supported (√/x)

Ascend 950PR/Ascend 950DT

√

Atlas A3 training products/Atlas A3 inference products

√

Atlas A2 training products/Atlas A2 inference products

√

Atlas training products

x

Atlas inference products

x

Atlas 200I/500 A2 inference products

√

Description

Sets the memory copy descriptor. After this API is called, the source address, destination address, and memory copy length are recorded in the memory copy descriptor.

This API must be used together with other key APIs to implement memory copy. For details, see acl.rt.memcpy_async_with_desc.

Prototype

  • C Prototype
    1
    aclError aclrtSetMemcpyDesc(void *desc, aclrtMemcpyKind kind, void *srcAddr, void *dstAddr, size_t count, void *config)
    
  • Python Function
    1
    desc, ret = acl.rt.set_memcpy_desc(desc, kind, src_addr, dst_addr, count, config)
    

Parameters

Parameter

Description

desc

Int, pointer to the memory copy descriptor.

Call acl.rt.get_memcpy_desc_size to obtain the memory size required by the memory descriptor, allocate device memory (for example, by calling acl.rt.malloc), and pass the device memory address as an input.

kind

Int, memory copy type. Currently, only ACL_MEMCPY_INNER_DEVICE_TO_DEVICE is supported, indicating memory copy within a device.

src_addr

Int, pointer to the source memory address. The memory is allocated and managed by users.

dst_addr

Int, pointer to the destination memory address. The memory is allocated and managed by users.

count

Int, size in bytes to copy.

config

Int, reserved; fixed at 0.

Return Values

Return Value

Description

desc

Int, pointer to the memory copy descriptor.

ret

Int, error code. 0 on success; else, failure.