Function: memset_async

Applicability

Product

Supported

Atlas 350 Accelerator Card

Atlas A3 training product/Atlas A3 inference product

Atlas A2 training product/Atlas A2 inference product

Atlas training product

Atlas inference product

Atlas 200I/500 A2 inference product

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
    1
    aclError aclrtMemsetAsync(void *devPtr, size_t maxCount, int32_t value, size_t count, aclrtStream stream)
    
  • Python Function
    1
    ret = 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.