mratsim / weave

A state-of-the-art multithreading runtime: message-passing based, fast, scalable, ultra-low overhead
Other
537 stars 22 forks source link

Scoped barriers #111

Closed mratsim closed 4 years ago

mratsim commented 4 years ago

This finally adds nestable barriers under the name syncScope that await a whole scope and all tasks and descendants created within.

It solves #31 and allows working around #97.

Concretely, this allows porting any OpenMP-based algorithm in a straightforward way and allow nested parallelism (unlike OpenMP). The gemm example had a nestable version. It can be called from a parallel batched matrix multiplication or batched convolutions.