%0 Journal Article %J Concurrency and Computation: Practice and Experience: Special Issue on Parallel and Distributed Algorithms %D 2018 %T Evaluation of Dataflow Programming Models for Electronic Structure Theory %A Heike Jagode %A Anthony Danalis %A Reazul Hoque %A Mathieu Faverge %A Jack Dongarra %K CCSD %K coupled cluster methods %K dataflow %K NWChem %K OpenMP %K parsec %K StarPU %K task-based runtime %X Dataflow programming models have been growing in popularity as a means to deliver a good balance between performance and portability in the post-petascale era. In this paper, we evaluate different dataflow programming models for electronic structure methods and compare them in terms of programmability, resource utilization, and scalability. In particular, we evaluate two programming paradigms for expressing scientific applications in a dataflow form: (1) explicit dataflow, where the dataflow is specified explicitly by the developer, and (2) implicit dataflow, where a task scheduling runtime derives the dataflow using per-task data-access information embedded in a serial program. We discuss our findings and present a thorough experimental analysis using methods from the NWChem quantum chemistry application as our case study, and OpenMP, StarPU, and PaRSEC as the task-based runtimes that enable the different forms of dataflow execution. Furthermore, we derive an abstract model to explore the limits of the different dataflow programming paradigms. %B Concurrency and Computation: Practice and Experience: Special Issue on Parallel and Distributed Algorithms %V 2018 %P 1–20 %8 2018-05 %G eng %N e4490 %R https://doi.org/10.1002/cpe.4490 %0 Conference Proceedings %B ScalA17 %D 2017 %T Dynamic Task Discovery in PaRSEC- A data-flow task-based Runtime %A Reazul Hoque %A Thomas Herault %A George Bosilca %A Jack Dongarra %K data-flow %K dynamic task-graph %K parsec %K task-based runtime %X Successfully exploiting distributed collections of heterogeneous many-cores architectures with complex memory hierarchy through a portable programming model is a challenge for application developers. The literature is not short of proposals addressing this problem, including many evolutionary solutions that seek to extend the capabilities of current message passing paradigms with intranode features (MPI+X). A different, more revolutionary, solution explores data-flow task-based runtime systems as a substitute to both local and distributed data dependencies management. The solution explored in this paper, PaRSEC, is based on such a programming paradigm, supported by a highly efficient task-based runtime. This paper compares two programming paradigms present in PaRSEC, Parameterized Task Graph (PTG) and Dynamic Task Discovery (DTD) in terms of capabilities, overhead and potential benefits. %B ScalA17 %I ACM %C Denver %8 2017-09 %@ 978-1-4503-5125-6 %G eng %U https://dl.acm.org/citation.cfm?doid=3148226.3148233 %R 10.1145/3148226.3148233