From cce2ea6194f3e781cc9eb86c6d2bd50be0c97b1e Mon Sep 17 00:00:00 2001 From: Georgios Pinitas Date: Fri, 4 Oct 2019 13:52:11 +0100 Subject: COMPMID-2687: Update doc for thread-safety Change-Id: I734c018aaef4604d2a840e655ff6044353c96e8d Signed-off-by: Georgios Pinitas Reviewed-on: https://review.mlplatform.org/c/2042 Reviewed-by: Pablo Marquez Comments-Addressed: Arm Jenkins Tested-by: Arm Jenkins --- docs/01_library.dox | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/01_library.dox b/docs/01_library.dox index 37ac397dd1..cfb2ca9616 100644 --- a/docs/01_library.dox +++ b/docs/01_library.dox @@ -28,7 +28,7 @@ namespace arm_compute @tableofcontents -@section S4_1 Core vs Runtime libraries +@section S4_1_1 Core vs Runtime libraries The Core library is a low level collection of algorithms implementations, it is designed to be embedded in existing projects and applications: @@ -43,6 +43,12 @@ The Runtime library is a very basic wrapper around the Core library which can be For maximum performance, it is expected that the users would re-implement an equivalent to the runtime library which suits better their needs (With a more clever multi-threading strategy, load-balancing between NEON and OpenCL, etc.) +@section S4_1_2 Thread-safety + +Although the library supports multi-threading during workload dispatch, thus parallelizing the execution of the workload at multiple threads, the current runtime module implementation is not thread-safe in the sense of executing different functions from separate threads. +This lies to the fact that the provided scheduling mechanism wasn't designed with thread-safety in mind. +As it is true with the rest of the runtime library a custom scheduling mechanism can be re-implemented to account for thread-safety if needed and be injected as the library's default scheduler. + @section S4_2_windows_kernels_mt_functions Windows, kernels, multi-threading and functions @subsection S4_2_1_windows Windows -- cgit v1.2.1