Skip to content

Perf: Add OpenMP parallel for GintInfo::init_atoms_()#7443

Open
amnesi-ary wants to merge 4 commits into
deepmodeling:developfrom
amnesi-ary:perf/init_atoms
Open

Perf: Add OpenMP parallel for GintInfo::init_atoms_()#7443
amnesi-ary wants to merge 4 commits into
deepmodeling:developfrom
amnesi-ary:perf/init_atoms

Conversation

@amnesi-ary

Copy link
Copy Markdown

Reminder

  • Have you linked an issue with this pull request?
  • Have you added adequate unit tests and/or case tests for your pull request?
  • Have you noticed possible changes of behavior below or in the linked issue?
  • Have you explained the changes of codes in core modules of ESolver, HSolver, ElecState, Hamilt, Operator or Psi? (ignore if not applicable)

What's changed?

  • Split orbital copying from atom processing so per-atom work can run independently.
  • Switch atom traversal to iterate by global atom index using iat2it and iat2ia.
  • Added OpenMP parallelization with dynamic scheduling for the per-atom big-grid search.

Motivation:
Resolve the TODO in GintInfo::init_atoms_() by parallelizing the atom initialization path.

@amnesi-ary

Copy link
Copy Markdown
Author

label: project-learning

@mohanchen mohanchen requested a review from dzzz2001 June 7, 2026 02:38
@mohanchen mohanchen added the Refactor Refactor ABACUS codes label Jun 9, 2026
@dzzz2001

Copy link
Copy Markdown
Collaborator

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

project_learning Refactor Refactor ABACUS codes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants