Function: memset_async
Applicability
Product |
Supported |
|---|---|
Atlas 350 Accelerator Card |
√ |
√ |
|
√ |
|
√ |
|
√ |
|
√ |
Description
Initializes the memory and sets the content in the memory to a specified value. This API is asynchronous.
The system determines whether the memory to be initialized is on the host or device based on the address. If the host memory is not allocated by calling an acl API (for example, acl.rt.malloc_host), undefined behavior will occur.
Prototype
- C Prototype
1aclError aclrtMemsetAsync(void *devPtr, size_t maxCount, int32_t value, size_t count, aclrtStream stream)
- Python Function
1ret = acl.rt.memset_async(dev_ptr, max_count, value, count, stream)
Parameters
Parameter |
Description |
|---|---|
dev_ptr |
Int, start address of the memory. |
max_count |
Int, maximum memory size, in bytes. |
value |
Int, value to be set. |
count |
Int, memory length to be set to a specified value, in bytes. |
stream |
Int, pointer address of the stream. |
Return Value
Return Value |
Description |
|---|---|
ret |
Int, error code. 0 on success; else, failure. |
Restrictions
This API is asynchronous. The API call delivers a task rather than executes a task. After this API is called, you must call a synchronization API (for example, acl.rt.synchronize_stream) to ensure that the memory initialization task is complete. Otherwise, unknown problems may occur, such as service exceptions (for example, training or inference exceptions) or device disconnection.