The SDE: A General Computational Chemistry Software Framework

Presenter: Ryan Richard, Associate Scientist, Ames Laboratory

Date: March 27, 2019




NWChemEx is the successor to the widely used, open-source NWChem electronic structure package. The decision to rewrite NWChem resulted from the demands of exascale computing outstripping NWChem’s design. Consequentially, one of the design points of NWChemEx focused on how to avoid this from happening again. Our solution is a software framework we termed the simulation development environment, or SDE. The SDE operates similar to other plugin-based frameworks; however, it has been specifically designed with high-performance computing in mind. In the context of the SDE, developers encode algorithms within self-contained modules. The SDE is responsible for assembling these modules into a call graph and orchestrating data movement among them. Chief to the data movement efforts is the use of memoization which allows uniform APIs throughout the package, while allowing the framework to automatically checkpoint results and amortize costs. This webinar will explore the motivations behind the SDE in more detail, introduce the available infrastructure, and showcase the SDE’s initial application to the self-consistent field method in NWChemEx.

Target audience: The webinar is intended for researchers and developers who are interested in good techniques for developing reusable scientific software.
Prerequisites: No prerequisites.


Ryan received his B.S. degree in chemistry from Cleveland State University where he worked with Prof. David Ball on projects related to computational chemistry characterization of high-energy materials via high-accuracy model chemistries. He went on to earn a Ph.D. in chemistry from The Ohio State University under the advisement of Prof. John Herbert. His dissertation focused on ab initio electronic structure method development for large molecules. Afterwards Ryan postdoced with Prof. C. David Sherrill at Georgia Institute of Technology, where he continued to work on method development, but with a focus on high-performance computing. This led to a second postdoc, and his current position of associate scientist, at the U.S. Department of Energy’s Ames Laboratory. At Ames Lab, Ryan works with Prof. Theresa Windus on the open-source NWChemEx electronic structure package. Ryan is responsible for aiding in the development and implementation of NWChemEx’s software infrastructure as well as the ab initio methods within the package.