Function: set_memcpy_desc

Applicability

Product

Supported (√/x)

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

Function Usage

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)
    

Parameter Description

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 Value Description

Return Value

Description

desc

Int, pointer to the memory copy descriptor.

ret

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