Introducing a modular framework for the future of scientific software
Modern software is expected to run on a wide range of devices with a wide range of capabilities. A software package might be implemented on a single laptop, a powerful supercomputer, or even exascale computers. This new landscape demands a fundamental shift in the way scientific software is constructed and maintained.
Richard et al. described an effort to develop a framework for next-generation scientific computing, called PluginPlay. Their framework will allow for flexible, modular software packages to be customized and implemented to suit nearly any need.
“We designed and wrote PluginPlay to provide plugin-based infrastructure to the scientific software community, particularly those communities focusing on high-performance computing,” said author Ryan Richard.
Through PluginPlay, software is implemented as plugins, which themselves are a collection of modules. Researchers can combine plugins and modules to suit their specific needs, and the framework ensures cohesive functioning.
This approach benefits developers, as well. Modules can be created and updated independently, reducing the burden of maintaining complex software packages. Developers can adapt their software to future changes in technology or unexpected scientific uses. Unrelated software packages can use each other’s modules instead of reinventing the same code.
Although the potential of PluginPlay is immense, the advantages of the framework rely on its wide adoption by developers.
“We are hoping the developer community will continue to grow, potentially paving the way for a scientific app store,” said Richard.
Source: “PluginPlay: Enabling exascale scientific software one module at a time,” by Ryan Matthew Richard, Kristopher Keipert, Jonathan Waldrop, Murat Keçeli, David Williams-Young, Raymond Bair, Jeffery Boschen, Zachery Crandall, Kevin Gasperich, Quazi Ishtiaque Mahmud, Ajay Panyala, Edward F Valeev, Hubertus JJ van Dam, Wibe Albert De Jong, and Theresa Windus, Journal of Chemical Physics (2023). The article can be accessed at https://doi.org/10.1063/5.0147903 .
This paper is part of the High Performance Computing in Chemical Physics Collection, learn more here .