|author||Georgios Pinitas <firstname.lastname@example.org>||2019-10-04 13:52:11 +0100|
|committer||Georgios Pinitas <email@example.com>||2019-10-04 15:05:03 +0000|
COMPMID-2687: Update doc for thread-safety
Change-Id: I734c018aaef4604d2a840e655ff6044353c96e8d Signed-off-by: Georgios Pinitas <firstname.lastname@example.org> Reviewed-on: https://review.mlplatform.org/c/2042 Reviewed-by: Pablo Marquez <email@example.com> Comments-Addressed: Arm Jenkins <firstname.lastname@example.org> Tested-by: Arm Jenkins <email@example.com>
1 files changed, 7 insertions, 1 deletions
diff --git a/docs/01_library.dox b/docs/01_library.dox
index 37ac397dd..cfb2ca961 100644
@@ -28,7 +28,7 @@ namespace arm_compute
-@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