-
Notifications
You must be signed in to change notification settings - Fork 18
Open
Description
The power spectrum code can be optimized and made to run faster. While for now we do not want to enable MPI on it, it is worth implementing multithreading/parallelization improvements. Several quick things include (but we don't need to limit ourselves to these):
- Swapping
scipy.fft
withpyfftw
which is multithreaded. - Painting the TSC/CIC grid can be done using multithreading straightforwardly.
- For more robust performance (i.e. avoiding numerical roundoff errors), we can do the power spectrum binning in integers of the wavemodes rather than using floats.
On the side of the ZCV module:
- Currently the zenbu calls are very slow, so there is room to improve those.
- Also, it would be great to rewrite the parts that use Joe DeRose's code and add comments to them (i.e.
tools_jdr.py
)
Finally, it would be helpful to add notebooks with examples of how to use the power spectrum and the ZCV module.