Function: memcpy_async_with_condition
Applicability
Product |
Supported (√/x) |
|---|---|
√ |
|
√ |
|
√ |
|
√ |
|
√ |
Function Usage
Copies memory.
This API extends the functionality of aclrtMemcpyAsync. If the input memory is not allocated by pyacl APIs, this API returns after the memory copy is complete. Otherwise, this API is asynchronous. A successful call means the task is successfully delivered, not yet executed. To ensure the copy is complete, call a synchronization API (for example, acl.rt.synchronize_stream) after calling this API.
Prototype
- C Prototype
1aclError aclrtMemcpyAsyncWithCondition(void *dst, size_t destMax, const void *src, size_t count, aclrtMemcpyKind kind, aclrtStream stream)
- Python Function
1ret = acl.rt.memcpy_async_with_condition(dst, dest_max, src, count, kind, stream)
Parameter Description
Parameter |
Description |
|---|---|
dst |
Int, pointer to the destination memory address. |
destMax |
Int, memory size in bytes in the destination address |
src |
Int, pointer to the source memory address. |
count |
Int, size in bytes to copy. |
kind |
Int, memory copy type.
|
stream |
Int, stream. |
Return Value Description
Return Value |
Description |
|---|---|
ret |
Int, error code: 0 on success; else, failure. |
Restrictions
Applicable to all models.
- The source address and destination address passed to this call must be 64-byte aligned.
Ascend EP : This API does not support asynchronous memory copy within the host. If the input kind is ACL_MEMCPY_HOST_TO_HOST, the API returns the error message "ACL_ERROR_RT_FEATURE_NOT_SUPPORT".
Ascend EP : This API does not support asynchronous memory copy within the host. If the input kind is ACL_MEMCPY_HOST_TO_HOST, the API returns the error message "ACL_ERROR_RT_FEATURE_NOT_SUPPORT".- Ascend RC: If the value of kind passed by this API is ACL_MEMCPY_HOST_TO_DEVICE, ACL_MEMCPY_DEVICE_TO_HOST, or ACL_MEMCPY_HOST_TO_HOST when the app is running on the board, the system uses ACL_MEMCPY_DEVICE_TO_DEVICE by default to copy memory on the device.
- This API does not support asynchronous memory copy within the host. If the input kind is ACL_MEMCPY_HOST_TO_HOST, the API returns the error message "ACL_ERROR_RT_FEATURE_NOT_SUPPORT".