Function: stream_abort

Applicable Products

Product

Supported (√/x)

Ascend 950PR/Ascend 950DT

√

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

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. New tasks delivered to the specified stream do not take effect during the execution of this API.

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.

Return Values

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.