Engineering Papers⌕ Search

Engineering topics

Williams-Young, David

Publications and source records attributed to Williams-Young, David.

PluginPlay: Enabling exascale scientific software one module at a time

For many computational chemistry packages, being able to efficiently and effectively scale across an exascale cluster is a heroic feat. Collective experience from the Department of Energy’s Exascale Computing Project suggests that achieving exascale performance requires far more planning, design, and optimization than scaling to petascale. In many cases, entire rewrites of software are necessary to address fundamental algorithmic bottlenecks. This in turn requires a tremendous amount of resources and development time, resources that cannot reasonably be afforded by every computational science project. It thus becomes imperative that computational science transition to a more sustainable paradigm. Key to such a paradigm is modular software. While the importance of modular software is widely recognized, what is perhaps not so widely appreciated is the effort still required to leverage modular software in a sustainable manner. The present manuscript introduces PluginPlay, https://github.com/NWChemEx-Project/PluginPlay, an inversion-of-control framework designed to facilitate developing, maintaining, and sustaining modular scientific software packages. Here this manuscript focuses on the design aspects of PluginPlay and how they specifically influence the performance of the resulting package. Although, PluginPlay serves as the framework for the NWChemEx package, PluginPlay is not tied to NWChemEx or even computational chemistry. We thus anticipate PluginPlay to prove to be a generally useful tool for a number of computational science packages looking to transition to the exascale.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

Many-Body Adaptive Configuration Interaction Suite (MACIS) v0.1.0

The Many-Body Adaptive Configuration Interaction Suite (MACIS) is a modern C++ software infrastructure for the development of selected-configuration interaction (sCI) methods for the fermionic many-body problem in quantum chemistry and materials science. MACIS provides a high-performance, parallel implementation of the Adaptive Sampling Configuration Interaction (ASCI) method as related solvers such as self-consistent orbital optimization and the evaluation of excited states and spectral functions. Unlike existing sCI software, MACIS is developed as a modular software infrastructure which allows it to exist both as a standalone sCI solver and as a library to integrate into existing many-body codes. This modularity allows MACIS to be quickly extensible, including its integration with other sCI methods and high-performance solvers.

Williams-Young, David↗