diff --git a/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/cpu-device/performance-hint-and-thread-scheduling.rst b/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/cpu-device/performance-hint-and-thread-scheduling.rst index 07d227834638ee..ff66f83ad9de40 100644 --- a/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/cpu-device/performance-hint-and-thread-scheduling.rst +++ b/docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/cpu-device/performance-hint-and-thread-scheduling.rst @@ -196,16 +196,16 @@ Composability of different threading runtimes OpenVINO is by default built with `oneTBB `__ threading library, oneTBB has a feature worker_wait like `OpenMP `__ `busy-wait `__ which makes OpenVINO inference threads wait actively for a while after task done. The intention is to avoid CPU inactive in the -tranaction time between tasks of inference. +transition time between tasks of inference. In the pipeline that runs OpenVINO inferences on CPU interleaved with some other application logic executed sequentially. If two parts use different threading runtimes, for example, OpenVINO inferences use oneTBB while other application logic uses OpenMP, both will occupy CPU cores for addtional time after task done. -This may introduce unecessary overhead. +This may introduce unnecessary overhead. -Recommend solutions +Recommended solutions - Most effective way is to use oneTBB for all computations made in pipeline. -- Rebuild OpenVINO with OpenMP and other application logic uses OpenMP as well. +- Rebuild OpenVINO with OpenMP in case other application logic uses OpenMP. - Limit number of threads of OpenVINO and other parts to let OS do better scheduling. -- Set environment variable `OMP_WAIT_POLICY `__ to PASSIVE which will disable OpenMP `busy-wait `__ +- In case other application logic uses OpenMP, set environment variable `OMP_WAIT_POLICY `__ to PASSIVE which will disable OpenMP `busy-wait `__