Function: stream_abort

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

x

Atlas inference product

x

Atlas 200I/500 A2 inference product

x

Description

Stops tasks that are being executed in a specified stream and discards tasks that have been delivered but not executed in the specified stream. During the execution of this API, new tasks delivered to the specified stream do not take effect.

Prototype

  • C Prototype
    1
    aclError aclrtStreamAbort(aclrtStream stream)
    
  • Python Function
    1
    ret = acl.rt.stream_abort(stream)
    

Parameters

Parameter

Description

stream

Int, stream with tasks to be cleared.

The support for the default stream (that is, this parameter is set to 0) varies according to product models.

Atlas 350 Accelerator Card: not supported

Atlas A3 training product/Atlas A3 inference product: supported

Atlas A2 training product/Atlas A2 inference product: supported

Return Value

Return Value

Description

ret

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

Restrictions

  • Streams created using the following method are not supported: Call the acl.rt.create_stream_with_config API and set flag to ACL_STREAM_DEVICE_USE_ONLY (indicating that the stream is called only on the device).
  • If other streams depend on the stream specified in this API (for example, two streams are synchronized by using the acl.rt.record_event and acl.rt.stream_wait_event APIs), the execution of other streams may be suspended. In this case, you need to explicitly call this API to clear tasks on other streams.
  • If you call this API to clear tasks on a specified stream and then call a synchronization API (such as acl.rt.synchronize_stream or acl.rt.synchronize_event), the synchronization API exits and returns ACL_ERROR_RT_STREAM_ABORT.