DISPATCH
|
A simple task dispatcher, which handles a list of tasks that may be started as background OpenMP tasks. A task can be in any of 4 states: More...
Data Types | |
type | dispatcher2_t |
Variables | |
type(dispatcher2_t), public | dispatcher2 |
A simple task dispatcher, which handles a list of tasks that may be started as background OpenMP tasks. A task can be in any of 4 states:
1: ready for updating 2: undergoing updating by some thread 3: has been updated, but nbors not yet checked 4: finished
When starting, all tasks are normally in state 1, and the dispatcher starts a number (ompnthreads) of background tasks that update them, first changing the state to 2. When finished, the updating thread changes the state from 2 to 3. When the dispatcher finds a task in state 3, it runs a check on the nbor tasks
dispatcherexecute dispatcherupdate linkcheck_task dispatcheractivate linkcheck_mpi linkupdate