Function: stream_abort
Applicability
Product |
Supported |
|---|---|
Atlas 350 Accelerator Card |
√ |
√ |
|
√ |
|
x |
|
x |
|
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
1aclError aclrtStreamAbort(aclrtStream stream)
- Python Function
1ret = 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 |
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.