-
Notifications
You must be signed in to change notification settings - Fork 24
Add documentation to build GauXC #14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
There seems to be something wrong in the cartesian version: mol = gto.M(atom="He 0 0 0; Ne 0 0 2.0", basis="def2-qzvp", unit="Bohr", spin=0, cart=True) mol = gto.M(atom="He 0 0 0; Ne 0 0 2.0", basis="def2-qzvp", unit="Bohr", spin=0, cart=False) |
Co-authored-by: kjh-giesbertz <134593856+kjh-giesbertz@users.noreply.github.com>
Co-authored-by: kjh-giesbertz <134593856+kjh-giesbertz@users.noreply.github.com>
|
I have tried the use of cmake without installing gauxc first via the installation instructions and see how far cmake gets. I suppose this is how other programs aim to integrate skala via gauxc. I encountered some problems:
|
This is a good point, I will add it to the troubleshooting
That's a required dependency for us and I see no realistic way to build libtorch reliably on a user machine. I will also add this into the troubleshooting to highlight that it is important to provide libtorch and that it cannot be built on the fly like other dependencies. |
|
This looks very nice / thorough and clear. I was wondering what the best way to keep things like this in sync with the latest version: set(Skala_GauXC_URL "https://github.com/microsoft/skala/releases/download/v1.1.0/gauxc-skala.tar.gz")
set(Skala_GauXC_SHA256 "e0346c62453eef58ba3ee52c257370ee8abcbf00fbb1b4ea2e0bb879225e06be")Should we add something in the CI that alerts us when there is a mismatch? And shall we also add an integration test for running this build once + testing it? |
I already added a new examples workflow which tests the GauXC example.
I updated the workflow to test both GauXC from the repo and from the release tarball (to check the path and checksum) |
I will need to iterate on this in a later PR, might also need some upstream changes since I mainly tested D3 from C and not C++. See dftd3/simple-dftd3#159 |
I dived a bit into this and have managed the following:
|
I changed the way we are fetching the header in wavefunction91/GauXC@ba001d4, will update our released tarball with the patch to make it more robust. |
Maybe we can include this directly with our GauXC release, can you share the patch or directly make a PR against the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request adds comprehensive documentation and examples for integrating the Skala machine learning functional into electronic structure packages via the GauXC library. The PR includes installation instructions for building GauXC with different parallelization backends (OpenMP, MPI, CUDA), Python utilities for exporting data to GauXC-compatible HDF5 format, and a complete C++ example demonstrating library integration.
Changes:
- Added Python export functionality to convert PySCF calculations to GauXC HDF5 format
- Created comprehensive documentation covering GauXC installation, configuration, and usage
- Provided C++ integration example with CMake build system
- Enhanced type flexibility for SkalaRKS/SkalaUKS to accept string XC functionals
- Added GitHub workflow for testing C++ examples
Reviewed changes
Copilot reviewed 27 out of 28 changed files in this pull request and generated 13 comments.
Show a summary per file
| File | Description |
|---|---|
| src/skala/pyscf/init.py | Updated type hints to allow string XC functionals |
| src/skala/gauxc/export.py | New module for exporting PySCF data to GauXC HDF5 format |
| tests/test_gauxc_export.py | Test coverage for HDF5 export functionality |
| examples/cpp/gauxc_integration/app/main.cxx | Complete C++ driver demonstrating GauXC integration |
| examples/cpp/gauxc_integration/cmake/*.cmake | CMake modules for dependency management |
| examples/cpp/gauxc_integration/environment-*.yml | Conda environment specifications for different backends |
| docs/gauxc/*.rst | Comprehensive documentation for installation and usage |
| docs/_static/bib/gauxc.bib | Bibliography for referenced papers |
| pyproject.toml | Added sphinx-design and sphinxcontrib-bibtex dependencies |
| environment-*.yml | Added h5py dependency to environment files |
| .github/workflows/examples.yml | CI workflow for testing C++ examples |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
add instructions on using s-dftd3 library for evaluating dispersion correction for Skala