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

Refactor: Use psi_initializer instead of wavefunc #5775

Open
wants to merge 23 commits into
base: develop
Choose a base branch
from

Conversation

Qianruipku
Copy link
Collaborator

@Qianruipku Qianruipku commented Dec 27, 2024

Refactor psi_initializer
Remove wavefunc and wf_atomic
Fix #5811

@kirk0830
Copy link
Collaborator

@Qianruipku Hi, qianrui. I am happy to see you are trying to use psi_initializer in SDFT. Here I share some information and my findings in previous days when I was trying to make it available on GPU.

  1. There is a bug/ a hidden undefined behavior in function random_t that will be triggered in case nspin 4. The energy will vary in a random manner if you run with MPI. To detect this, you can run the integrated test case 140_PW_15_SO.
  2. Because I use smart pointer to manage the projected NAO in psi_initializer to ensure the large piece of memory is safely released when program runs out of life span of psi_initializer instance, it is not directly feasible to make it run on GPU, and I am considering roll back to use raw pointer (although regret to say it is a unsafe choice...), but not manage to find enough time to do this.

Regards.

@Qianruipku Qianruipku changed the title Try using psi_initializer Refactor: Use psi_initializer instead of wavefunc Jan 4, 2025
@Qianruipku Qianruipku marked this pull request as ready for review January 4, 2025 14:28
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.

Current PW version does not support single precision
2 participants