The Simulation Development Environment (SDE): A C++ Framework for Reusable Computational Chemistry Ryan M. Richard Windus Group Ames Laboratory, Ames, IA SIAM 2019, Spokane, WA February 25, 2019 RMR (Ames Lab) SDE 2-25-2019 1 / 8
Computational Chemistry Predict and explain chemistry 109.5° via numeric models Intensity LUMO LUMO HOMO HOMO Energy RMR (Ames Lab) SDE 2-25-2019 2 / 8
Computational Chemistry Predict and explain chemistry via numeric models High-accuracy, but at high-cost RMR (Ames Lab) SDE 2-25-2019 2 / 8
Computational Chemistry Predict and explain chemistry via numeric models High-accuracy, but at high-cost Approximations and/or HPC required for larger systems RMR (Ames Lab) SDE 2-25-2019 2 / 8
Computational Chemistry Predict and explain chemistry via numeric models High-accuracy, but at high-cost Approximations and/or HPC required for larger systems Plethora of packages/libraries RMR (Ames Lab) SDE 2-25-2019 2 / 8
Overview HF Geometry Optimizer Energy Method Easily refactorable Energy Method ◮ Novel hardware Deriv ◮ reuse ecosystem Study new properties Level of Theory MP2 Energy Method Energy Method Deriv Deriv QM/MM Energy Method QM Method Energy Method Deriv MM Method Energy Method Deriv v r i e D v r i D e RMR (Ames Lab) SDE 2-25-2019 3 / 8
Overview Easily refactorable ◮ Novel hardware ◮ reuse ecosystem Study new properties Contribute back to ecosystem RMR (Ames Lab) SDE 2-25-2019 3 / 8
Overview Easily refactorable ◮ Novel hardware HF MP2 ◮ reuse ecosystem Study new properties Contribute back to ecosystem SDE Rapid prototype RMR (Ames Lab) SDE 2-25-2019 3 / 8
Input Layer relies on C++17 Possible modules discovered at runtime Set a module’s parameters directly Coupling is to properties RMR (Ames Lab) SDE 2-25-2019 4 / 8
Writing a Module Inputs and results type-erased Automatic domain checking for inputs ”sandboxes” for developers Call other modules through ”property types” RMR (Ames Lab) SDE 2-25-2019 5 / 8
Cacheing and Checkpointing SDE records module calls Scientific record Checkpointing ◮ Module calls are memoized ◮ Repeated calls return cached result ◮ Includes rerunning of calculation RMR (Ames Lab) SDE 2-25-2019 6 / 8
Summary and Outlook SDE is the software framework of NWChemEx Leverage for interoperability Open source and available on GitHub (will be once licensing is worked out...) RMR (Ames Lab) SDE 2-25-2019 7 / 8
Acknowledgments NWChemEx team Windus group Funding Organizers You (the audience) RMR (Ames Lab) SDE 2-25-2019 8 / 8
Recommend
More recommend