aclrtSynchronizeStreamWithTimeout

Applicable Products

Product

Supported

Ascend 950PR/Ascend 950DT

√

Atlas A3 training products/Atlas A3 inference products

√

Atlas A2 training products/Atlas A2 inference products

√

Atlas 200I/500 A2 inference products

√

Atlas inference products

√

Atlas training products

√

Function

Blocks the current thread on the host until all tasks in the specified stream are complete.

This API is enhanced based on aclrtSynchronizeStream and allows you to set the timeout interval. When an application is abnormal, the application automatically exits based on the configured timeout interval.

Prototype

1
aclError aclrtSynchronizeStreamWithTimeout(aclrtStream stream, int32_t timeout)

Parameters

Parameter

Input/Output

Description

stream

Input

Stream in which all tasks need to be completed. For details about the type definition, see aclrtStream.

timeout

Input

API timeout interval.

The value can be:

  • -1: permanent waiting
  • > 0: specific timeout interval, in milliseconds

Returns

0 on success; otherwise, failure. For details, see aclError.

Restrictions

Streams created by calling aclrtCreateStreamWithConfig with flag set to ACL_STREAM_PERSISTENT, ACL_STREAM_DEVICE_USE_ONLY, or ACL_STREAM_CPU_SCHEDULE do not trigger any logic execution. The API returns success immediately.