Skip to content

Feat(psi): add PsiStorageMode and device_memory_mode for GPU with PW base - #7746

Open
dyzheng wants to merge 2 commits into
deepmodeling:developfrom
dyzheng:feat/issue-7727-gpu-paged
Open

Feat(psi): add PsiStorageMode and device_memory_mode for GPU with PW base#7746
dyzheng wants to merge 2 commits into
deepmodeling:developfrom
dyzheng:feat/issue-7727-gpu-paged

Conversation

@dyzheng

@dyzheng dyzheng commented Aug 1, 2026

Copy link
Copy Markdown
Collaborator

Reminder

  • I have read AGENTS.md and docs/developers_guide/agent_governance.md.
  • I have linked an issue or explained why this PR does not need one.
  • I have added adequate unit tests and/or case tests, or explained why not.
  • I have listed the exact verification commands run and their results.
  • I have described user-visible behavior changes, including INPUT parameter changes.
  • I have explained core-module impact for ESolver, HSolver, ElecState, Hamilt, Operator, Psi, or other source/ changes.
  • I have requested any needed governance exception below.

Linked Issue

Fix #7727

Unit Tests and/or Case Tests for my changes

  • Commands run:
  • Result summary:
  • Checks not run, with reason:

What's changed?

  • Example: brief summary of the user-visible or developer-facing change.

Governance Notes

  • INPUT/docs changes:
  • Core module impact:
  • Exceptions requested:

dyzheng added 2 commits August 1, 2026 21:43
…paging

- Add PsiStorageMode enum (ALL_GPU, ALL_CPU, PAGED_GPU) to psi namespace
- Add paging interface: load_k_to_gpu, store_k_from_gpu, ensure_k_on_gpu
- Modify resize() to allocate CPU storage + single-k GPU buffer in PAGED_GPU mode
- Create psi_paging.cpp with paging method implementations
- Add device_memory_mode INPUT parameter (''/full_gpu/paged)
- Add device_memory_mode reading in read_input_item_system.cpp
…aths

- hsolver_pw.cpp: load_k_to_gpu/store_k_from_gpu around k-point solve loop
  Skip k-parent propagation in PAGED_GPU mode
- psi_prepare.cpp: PAGED_GPU memory handling in initialize_psi
- setup_psi_pw.cpp: detect paging mode, log GPU memory mode, copy_d2h paging path
- forces/stress onsite/nl/kin: ensure_k_on_gpu before k-point loops
- onsite_proj.cpp: ensure_k_on_gpu in cal_occupations
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.

GPU fixes and optimization for Diago_DavSubspace, plus paged GPU memory mode (PAGED_GPU)

1 participant