Redundant computations in task-based parallelism with applications to communication-reducing algorithms
Résumé
Task-based runtime systems offer productive programming models to develop applications that can efficiently exploit modern supercomputers. Meanwhile, the high-level of hardware concurrency available on these machines led the community to develop new algorithms trading-off redundant computations with communications, often referred to as "communicationreducing" or "communication-avoiding" algorithms. Designing such algorithms on top of task-based runtime systems turns out to be challenging without specific support in the programming model. This article proposes an extension of the Sequential Task Flow (STF) programming model aiming at maintaining its elegance and productivity when dealing with redundant computation. The proposed extension is implemented in the StarPU runtime system. We assess our proposal with two widely used algorithms involving redundant computations arising from dense matrix factorization and stencil computation, respectively. We show that these complex algorithms can be written in a compact, data-and architecture-agnostic way while ensuring high-performance on up to 256 computational nodes.
| Origine | Fichiers produits par l'(les) auteur(s) |
|---|---|
| Licence |