Skip to content
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

Move ERI computation to the IPU, keeping sparse symmetric einsum functionality #111

Merged
merged 43 commits into from
Oct 26, 2023

Conversation

mihaipgc
Copy link
Collaborator

@mihaipgc mihaipgc commented Sep 27, 2023

This PR aims to move ERI computation to the IPU. The code started from nanoDFT/sparse_symmetric_ERI.py and aims to reach a similar form once it is complete.

Overview:

  1. sparse_symmetric_intor_ERI.py contains compute_eri which is a reduced version of the relevant integral computing code in electron_repulsion/direct.py

  2. compute_eri_utils.py contains minimal modifications to code from electron_repulsion/direct.py to add prescreening

Related issues:

Summary of changes:

  • correctly computes integral values
  • skips all-zero integral subtensors (experimental prescreening)
  • supports batching
  • maps integral computation to tiles
  • supports multi-ipu integral computation / pmap
  • does not store indices (generates them)

@mihaipgc mihaipgc self-assigned this Sep 27, 2023
@mihaipgc mihaipgc marked this pull request as ready for review October 26, 2023 09:10
Copy link
Contributor

@AlexanderMath AlexanderMath left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@mihaipgc mihaipgc merged commit cd2d875 into main Oct 26, 2023
4 checks passed
@mihaipgc mihaipgc deleted the combine-sparse-symmetric-with-eri-computation branch October 26, 2023 09:18
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.

None yet

2 participants