This project focuses on solving two challenging and interdependent problems facing the ECP developer community: First, how we create an execution model that enables developers to express as much parallelism as possible in their applications, so that those applications effectively utilize the massive collection of heterogeneous devices that ECP machines will deploy. Second, how we ensure that the execution model is flexible and portable enough to actually increase the scientific productivity of those same application developers, not only for the ECP target environments but for the foreseeable future.
Building on their long experience with this pair of problems, the DTE team will transition the PaRSEC framework to exascale supercomputers, and extend it to further facilitate application programmability and increase scientific productivity.
Of particular relevance to the second problem are efforts to provide relevant Domain Specific Languages (DSLs) that enable varied application communities to be more productive. For example, the PARSEC runtime provides the support infrastructure for the DPLASMA linear algebra package, which is replacing the ScaLAPACK library under the ECP effort; 80% of all ECP target applications employ ScaLAPACK as one of the building blocks in higher level solvers. We also have separate funding to support the research and development necessary to integrate PARSEC into specific ECP-target applications, namely QUASIX and NWChem. Taken together, these collaborations guarantee that appropriate application community concerns will inform the design of the PARSEC DSL so that PARSEC can be effectively used by ECP-target applications to efficiently exploit the power of ECP systems.