Function: process_report
Applicability
|
Product |
Supported (√/x) |
|---|---|
|
|
√ |
|
|
√ |
|
|
√ |
|
|
√ |
|
|
√ |
Function Usage
In asynchronous task scenarios, call this API to set the timeout interval and wait for the callback task delivered by acl.rt.launch_callback to be executed.
This API must be work with the following APIs to implement the callback function in asynchronous scenarios:
- 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.
- 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.
- Execute an asynchronous job (for example, an asynchronous inference job) on the specified stream.
- 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.
- Call acl.rt.unsubscribe_report to unsubscribe from threads and unbind threads from streams after all asynchronous tasks are executed.
Prototype
- C Prototype
1aclError aclrtProcessReport(int32_t timeout)
- Python Function
1ret = acl.rt.process_report(timeout)
Parameter Description
|
Parameter |
Description |
|---|---|
|
timeout |
timeout: int, timeout interval, in milliseconds. Value range:
|
Return Value Description
|
Return Value |
Description |
|---|---|
|
ret |
Int, error code: 0 on success; else, failure. |
Parent topic: Execution Control