PluginPlay is an inversion-of-control (IoC) framework to facilitate wrtiting high-performance modular scientific software. More specifically, using PluginPlay scientific software is written as a series of disconnected modules. At runtime the modules are loaded into PluginPlay and then PluginPlay wires the modules together to form a call graph. A more detailed overview can be found here.
From the perspective of high-performance scientific software development, the main features enjoyed by a program built on top of PluginPlay are:
A full feature list can be found here.
PluginPlay ultimately uses CMake for configuring and building. This means that installation is usually achieved via a variation on:
git clone https://github.com/NWChemEx/PluginPlay
cd PluginPlay
cmake -H. -Bbuild -D...
cmake --build build --target install
More detailed install instructions can be found here.
This research was supported by the Exascale Computing Project (17-SC-20-SC), a collaborative effort of the U.S. Department of Energy Office of Science and the National Nuclear Security Administration.