Skip to content

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

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

Perf: Add OpenMP parallel for GintInfo::init_atoms_()#7443
amnesi-ary wants to merge 2 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

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants