Skip to content

Request: load balance in ABACUS #5889

@kirk0830

Description

@kirk0830

Background

as mentioned by @QuantumMisaka for times, if the system to simulate is highly heterogeneous, he observe it is better to rotate the axis that is the norm of vacuum layer along y instead of z (the most common choice). I tested and find there will be 100% improvement in performance:
vacuum along z

Image

vacuum along y

Image

Describe the solution you'd like

I guess there must be some algorithm is poorly load-balanced, the manual rotation on system actually means balancing by human...
However, for those users do not know about this feature, they may doubt about performance of ABACUS.
I suggest do the automatic load balance, in this case, the simplest solution would be a rotation on system by ABACUS its own.

Task list only for developers

  • Notice possible changes of behavior
  • Explain the changes of codes in core modules of ESolver, HSolver, ElecState, Hamilt, Operator or Psi

Notice Possible Changes of Behavior (Reminder only for developers)

No response

Notice any changes of core modules (Reminder only for developers)

No response

Notice Possible Changes of Core Modules (Reminder only for developers)

No response

Additional Context

No response

Task list for Issue attackers (only for developers)

  • Review and understand the proposed feature and its importance.
  • Research on the existing solutions and relevant research articles/resources.
  • Discuss with the team to evaluate the feasibility of implementing the feature.
  • Create a design document outlining the proposed solution and implementation details.
  • Get feedback from the team on the design document.
  • Develop the feature following the agreed design.
  • Write unit tests and integration tests for the feature.
  • Update the documentation to include the new feature.
  • Perform code review and address any issues.
  • Merge the feature into the main branch.
  • Monitor for any issues or bugs reported by users after the feature is released.
  • Address any issues or bugs reported by users and continuously improve the feature.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Features NeededThe features are indeed needed, and developers should have sophisticated knowledge

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions