Closed Alphaharrius closed 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.
This feature is implemented for most of the critical algebraic methods related to CrystalFockMap
, and operations on CrystalSpectrum
.
As the system size of the crystal increases, say from the current
96x96
to384x384
, most of the internal methods likecrystalspectrum
,crystalisometries
,crystalprojector
...etc will be extremely slow (3-4 minutes per method with system size of384x384
). Noted that all of these methods are operating on the reciprocal space, thus the operation on eachk
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.