Habanero
Jump to navigation
Jump to search
Async, Finish
Async and finish make up the fundamental building blocks of task-level parallelism in Habanero.
async(body) creates a new child task that can run before, after, or in parallel with all remaining statements of the parent task.
finish(body) executes body and waits for all child tasks to complete.
These concepts are first covered in RiceX Topic 1.1.
Future
FinishAccumulator
Finish Accumulators provide a convenient way to keep track of a count (for example: the number of solutions in the n-queens problem) or perform a reduction in
finish(register(accumulators), body)
FinishAccumulators are covered in RiceX Topic 2.3.