NWChemEx / PluginPlay

An inversion-of-control framework for developing modular scientific software.
https://nwchemex.github.io/PluginPlay/
Apache License 2.0
10 stars 2 forks source link
high-performance-computing inversion-of-control scientific-software

alt text

Actions

Citation Badge

Documentation

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.

Features

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.

Install

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.

Contributing

Acknowledgments

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.