Alphaharrius / Zipper.jl

Implementation of Zipper Entanglement Renormalization on Julia platform.
GNU General Public License v3.0
1 stars 0 forks source link

Multi-processing capabilities is required #3

Closed Alphaharrius closed 8 months ago

Alphaharrius commented 8 months ago

As the system size of the crystal increases, say from the current 96x96 to 384x384, most of the internal methods like crystalspectrum, crystalisometries, crystalprojector...etc will be extremely slow (3-4 minutes per method with system size of 384x384). Noted that all of these methods are operating on the reciprocal space, thus the operation on each k are mutually exclusive thus eligible for multi-processing.

One possible feature is to add a global processor interface that allows for single/multi-processing depends on workflows.

Alphaharrius commented 8 months ago

The feature is implemented as the backend of most computational intensive methods that could be parallelized, such that the usage and behavior of the method is not changed. Progress bars is also added to track the progress of each operations that uses parallel computing.

Alphaharrius commented 8 months ago

This feature is implemented for most of the critical algebraic methods related to CrystalFockMap, and operations on CrystalSpectrum.