[all-commits] [llvm/llvm-project] 5dd4d0: [OpenMP] libomp: fix dynamic loop dispatcher
Andrey Churbanov via All-commits
all-commits at lists.llvm.org
Tue Jun 22 06:29:39 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 5dd4d0d46fb892975bbb3a086da5a3a9996ced4d
https://github.com/llvm/llvm-project/commit/5dd4d0d46fb892975bbb3a086da5a3a9996ced4d
Author: AndreyChurbanov <andrey.churbanov at intel.com>
Date: 2021-06-22 (Tue, 22 Jun 2021)
Changed paths:
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_dispatch.cpp
M openmp/runtime/src/kmp_dispatch.h
M openmp/runtime/src/kmp_dispatch_hier.h
M openmp/runtime/src/kmp_settings.cpp
M openmp/runtime/test/env/kmp_set_dispatch_buf.c
M openmp/runtime/test/worksharing/for/kmp_set_dispatch_buf.c
M openmp/runtime/test/worksharing/for/omp_for_schedule_runtime.c
A openmp/runtime/test/worksharing/for/omp_par_in_loop.c
Log Message:
-----------
[OpenMP] libomp: fix dynamic loop dispatcher
Restructured dynamic loop dispatcher code.
Fixed use of dispatch buffers for nonmonotonic dynamic (static_steal) schedule:
- eliminated possibility of stealing iterations of the wrong loop when victim
thread changed its buffer to work on another loop;
- fixed race when victim thread changed its buffer to work in nested parallel;
- eliminated "static" property of the schedule, that is now a single thread can
execute whole loop.
Differential Revision: https://reviews.llvm.org/D103648
More information about the All-commits
mailing list