Skip to content
/ sedacs Public

O4732 SEDACS Scalable Ecosystem, Driver, and Analyzer for Complex Chemistry Simulations

License

Notifications You must be signed in to change notification settings

lanl/sedacs

Repository files navigation

SEDACS

Scalable Ecosystem, Driver, and Analyzer for Complex Chemistry Simulations (SEDACS) enables massively parallel atomistic simulations that can seamlessly integrate with a diverse range of available and emerging quantum chemistry codes at different levels of theory.

Supporting ab initio, semiempirical quantum mechanics (SEQM),and coarse-grained flexible charge equilibration (ChEQ) models, this is a unified framework to simulate and analyze the MD of complex chemical systems and materials.

SEDACS also enables the anlysis of trajectories using novel graph-based ML schemes and quantum-response information to capture and visualize hidden, non-local quantum features that cannot be seen from the geometry alone.

Finally, SEDACS provides advanced mixed-precision electronic structure solver library that uses AI-hardware accelerators.

Our target customer is a Computational Chemist domain expert working on complex materials systems or developing new quantum capabilities that can easily be deployed at scale.

We hence provide transparent implementations that closely follow a "white-board" physics and mathematics presentation. The threshold to understand and work with this codebase for a domain expert is purposely kept low.


Installation

Setup SEDACS–LATTE Interface

For rapid deployment using lighter-weight Spack + pip setup:

Install Spack

git clone --depth=2 https://github.com/spack/spack.git
. ~/spack/share/spack/setup-env.sh # add this to your .bashrc to initialize Spack

Clone SEDACS

git clone https://github.com/lanl/sedacs.git

Setting up spack environment using spack.yaml provided in this repo

spack env create sedacs sedacs/envs/latte/spack.yaml
spack env activate -p sedacs
spack concretize -f
spack install

Install required python dependencies using pip from spack

pip install -r sedacs/envs/latte/requirements.txt
cd sedacs

Install SEDACS in editable mode

pip install -e .

Full Spack build:

Build and install the complete SEDACS–LATTE stack using Spack:

spack env create sedacs sedacs/envs/latte/spack_all.yaml
spack env activate -p sedacs
spack concretize -f
spack install

This approach enables platform-specific optimization and can improve the performance of the SEDACS–LATTE interface on tailored HPC systems. Note that minor modifications to spack_all.yaml may be required to resolve dependency or compiler issues on different architectures and platforms.


Folder structure

The current codebase has the following folder structure:

.
├── docs
├── driver
├── gpu
├── latte
├── mods
├── proxya
└── test

proxya

Proxya code as explained in the proposal. This proxy code should perform up to a full SCF optimization of the density matrix. It is written in three different languages: Python, Fortran, and C.

gpu

This is an implementation of the GPU/AI-solver library.

latte

This is a code that generates "Latte" Hamiltonians from input coordinates files (xyz or pdb) and constructs the density matrix.

mods

Auxiliary Python modules. These modules will be used as building blocks to develop SEDACS.

driver

Scripts to exercise the code.


License O# (O4732)

This program is open source under the BSD-3 License.

About

O4732 SEDACS Scalable Ecosystem, Driver, and Analyzer for Complex Chemistry Simulations

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published