[Openmp-commits] [PATCH] D47961: [OpenMP] Restructure loop code for hierarchical scheduling
Jonathan Peyton via Phabricator via Openmp-commits
openmp-commits at lists.llvm.org
Fri Jun 8 15:06:27 PDT 2018
jlpeyton created this revision.
jlpeyton added reviewers: tlwilmar, AndreyChurbanov.
jlpeyton added a project: OpenMP.
Herald added a subscriber: guansong.
This patch reorganizes the loop scheduling code in order to allow hierarchical scheduling to use it more effectively. In particular, the goal of this patch is to separate the algorithmic parts of the scheduling from the thread logistics code.
1. Moves declarations & structures to `kmp_dispatch.h` for easier access in other files.
2. Extracts the algorithmic part of `__kmp_dispatch_init()` and `__kmp_dispatch_next()` into `__kmp_dispatch_init_algorithm()` and `__kmp_dispatch_next_algorithm()`. The thread bookkeeping logic is still kept in `__kmp_dispatch_init()` and `__kmp_dispatch_next()`. This is done because the hierarchical scheduler needs to access the scheduling logic without the bookkeeping logic.
3. To prepare for new pointer in `dispatch_private_info_t`, a new flags variable is created which stores the `ordered` and `nomerge` flags instead of them being in two separate variables. This will keep the `dispatch_private_info_t` structure the same size.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 115819 bytes
Desc: not available
More information about the Openmp-commits