Function: unsubscribe_report

C Prototype

aclError aclrtUnSubscribeReport(uint64_t threadId, aclrtStream stream)

Python Function

ret = acl.rt.unsubscribe_report(thread_id, stream)

Function Usage

In asynchronous task scenarios, call this API to unsubscribe from a thread. The callback function in the stream will be no longer processed by the thread.

This API must be work with the following APIs to implement the callback function in asynchronous scenarios:
  1. Create a thread. Once acl.rt.process_report in the thread function is called to set the timeout interval (cyclic calling is required), acl.rt.launch_callback will deliver a callback task after a period of time.
  2. Call acl.rt.subscribe_report to bind the thread created in Step 1 to the stream. The callback task delivered by the stream is executed in the bound thread.
  3. Execute an asynchronous task (for example, an asynchronous inference task) on the specified stream.
  4. Define and implement the callback function, call acl.rt.launch_callback to deliver a callback task in the task queue of the stream, and trigger the thread to process the callback function subscribed by acl.rt.subscribe_report. Each time acl.rt.launch_callback is called, a callback task is delivered.
  5. Call acl.rt.unsubscribe_report to unsubscribe from threads and unbind threads from streams after all asynchronous tasks are executed.

Input Description

thread_id: int, thread ID.

stream: int, pointer address of the stream to be processed.

Return Value

ret: int, error code.

Restrictions

None

Reference