-
Notifications
You must be signed in to change notification settings - Fork 145
Description
Background
Hi there,
Recently, I am trying to abacus to calculate the overlap matrix of quadirlayer graphene, the system is very huge (120,000 atoms, graphene orbital) and the calculation is impeded by the writting process, which is much slower compared to small system. For example, if system has 500 atoms, the production of overlap matrix is around 2 minutes and the size is around 230 MB, but for huge system like here, we can estimate the size is around 120G. But t I find that abacus only writes 4.5G-sized overlap matrix after 48 hours. So, for huge system, the writting speed is quite inefficient in current abacus. I just wonder that Is there any room for improvement in the writting speed?
Thanks a lot for your help.
Best,
Describe the solution you'd like
fast writting speed, for example, the overlap matrix. possible solution, Divide the matrix into blocks, output the divided matrices in parallel, and then combine them.
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.