Skip to content

Conversation

dzzz2001
Copy link
Collaborator

What's changed?

  • The original algorithm, when calling cuSOLVER to solve matrices, could only utilize one GPU at a time to solve one matrix per step—even when multiple GPUs were available and for calculations involving multiple k-points—leaving the other GPUs idle. This PR modifies the cuSOLVER-related algorithm so that, in the case of multiple k-points, it now solves n matrices concurrently, where n is the number of available GPUs. This significantly improves GPU utilization under multi-k situation.
  • Simply put, with ks_solver set to cusolver and multiple GPUs, the matrix diagonalization for multiple k-points is accelerated compared to the previous implementation.

@mohanchen mohanchen added Features Needed The features are indeed needed, and developers should have sophisticated knowledge Refactor Refactor ABACUS codes Useful Information Useful information for others to learn/study labels Aug 29, 2025
@mohanchen mohanchen changed the title Perf: cuSOLVER supports parallel solving of multiple k-point matrices. Perf: cuSOLVER supports parallel solving of multiple k-point matrices (Useful information to know how to use different GPUs to diagonalize matrices from different k points) Aug 29, 2025
@mohanchen mohanchen merged commit 8627dc5 into deepmodeling:develop Aug 29, 2025
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Features Needed The features are indeed needed, and developers should have sophisticated knowledge Refactor Refactor ABACUS codes Useful Information Useful information for others to learn/study
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants