8000 Density Matrix Purification Solvers with optional GPU acceleration by pitsteinbach · Pull Request #240 · tblite/tblite · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Density Matrix Purification Solvers with optional GPU acceleration #240

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

Draft
wants to merge 37 commits into
base: main
Choose a base branch
from

Conversation

pitsteinbach
Copy link
Contributor

With this PR I want to introduce DMP solvers implemented in our GAMBITS library to tblite. Additionally, a cuSOLVER´-based DSYGVD solver is also added. GAMBITS` depends on LAHVA which provides a BLAS LAPACK interface with easy switching between CPU and GPU based execution.
In general we would need to discuss how our CD/CI can test for GPU builds.

There are also a few changes in this PR that affect the solver type, those are mainly needed when interfacing tblite to CREST or another program based on MD simulations where we would like to have a solver that can exist for multiple singlepoint calculations. Additional work, will also be needed in CREST but that is also prepared.

Further details about the method and it's implementation can be found here: https://chemrxiv.org/engage/chemrxiv/article-details/678e35ecfa469535b9c804c4

ToDos:

  • CI/CD adaptation for GPU builds
  • documentation on how to build for GPUs
  • documentation on DMP shemes

@pitsteinbach pitsteinbach marked this pull request as draft March 25, 2025 09:41
"sp2-accel": 22,
"trs4" : 14
}
_solver = int()

Check warning

Code scanning / CodeQL

Variable defined multiple times Warning

This assignment to '_solver' is unnecessary as it is
redefined
before this value is used.
@pitsteinbach pitsteinbach added this to the v0.5.0 milestone May 2, 2025
Copy link
codecov bot commented May 15, 2025

Codecov Report

Attention: Patch coverage is 41.23223% with 124 lines in your changes missing coverage. Please review.

Project coverage is 70.38%. Comparing base (171274c) to head (4b25ef7).
Report is 3 commits behind head on main.

Files with missing lines Patch % Lines
src/tblite/purification/gambits-purification.f90 56.17% 20 Missing and 19 partials ⚠️
app/cli.f90 3.44% 27 Missing and 1 partial ⚠️
src/tblite/lapack/gpusolver/sygvd.F90 0.00% 13 Missing ⚠️
src/tblite/api/context.f90 7.69% 12 Missing ⚠️
src/tblite/scf/solver.f90 56.25% 0 Missing and 7 partials ⚠️
src/tblite/lapack/solver.f90 14.28% 4 Missing and 2 partials ⚠️
src/tblite/context/type.F90 50.00% 0 Missing and 4 partials ⚠️
src/tblite/purification/type.f90 63.63% 0 Missing and 4 partials ⚠️
src/tblite/scf/iterator.f90 66.66% 0 Missing and 4 partials ⚠️
app/driver_run.f90 0.00% 1 Missing and 2 partials ⚠️
... and 3 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #240      +/-   ##
==========================================
- Coverage   70.65%   70.38%   -0.27%     
==========================================
  Files         159      163       +4     
  Lines       20058    20241     +183     
  Branches     7133     7212      +79     
==========================================
+ Hits        14172    14247      +75     
- Misses       2267     2344      +77     
- Partials     3619     3650      +31     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
0