Releases: astro-informatics/s2fft
Releases · astro-informatics/s2fft
v1.2.0
What's Changed
✨ New features
- Performance improvements by @CosmoMatt in #200
- Custom HEALPix FFT primitive when running on GPU by @ASKabalan in #204
- Add stable high-spin transforms (precompute, standard) by @CosmoMatt in #230
- Add stable forward/inverse memory efficient Wigner transforms by @CosmoMatt in #238
- Add custom collective transforms by @CosmoMatt in #239
- Avoid loops in
s2fft.sampling.reindex
functions to reduce compile and run times by @matt-graham in #245 - Correct
healpix_forward
derivatives and add support for forward and higher order autodiff by @matt-graham in #244 - Improvements to benchmarking system by @matt-graham in #248
- Iterative refinement support for JAX and NumPy forward (spherical) transform implementations by @matt-graham in #241
- Vectorize signal generator functions by @matt-graham in #252
📖 Documentation improvements
- Feature/notebook plots by @CosmoMatt in #202
- Execute main spherical transform notebook by @jasonmcewen in #203
- Add low precision warning to docstring of inverse Wigner function by @ElisR in #220
- Update citation details in docs and add CITATION.cff file by @matt-graham in #236
- Indicate cubic memory overhead in
generate_precomputes
docstring by @matt-graham in #257
🐛 Bug fixes
- Fix pass through of arguments to
generate_precomputes
in NumPy forward spherical transform by @matt-graham in #256 - Fix failing
test_transform_forward_healpix_iter
test by @matt-graham in #258
🛠 Other changes
- Switching to
pyproject.toml
for specifying package metadata by @matt-graham in #173 - Updates to custom CUDA HEALPix FFT primitive by @matt-graham in #231
New Contributors
- @ElisR made their first contribution in #220
- @ASKabalan made their first contribution in #204
Full Changelog: v1.1.0...v1.2.0
v1.1.0
This minor release of S2FFT
aims to increase the accessibility of differentiable harmonic transforms to users without easy access to GPU compute resources. We provide custom JAX frontends for existing CPU bound C/C++ spherical harmonic libraries, at this point we capture the functionality of SSHT
and HEALPix
though in principle any spherical harmonics could easily be integrated.
Tip
For details on this approach see the original derivation in section 5.3.1 and 5.3.2 of Price & McEwen 2023.
Main changelog:
- JAX frontend support for HEALPix C++ library
- JAX frontend support for SSHT C library
- Reverse mode gradients for above validated against finite difference
v1.0.2
Incremental version of S2FFT
which adds support for:
PyTorch
precompute transforms- Gauss-Legendre sampling schemes
- JAX harmonic space rotation functions
- JAX Risbo recursions
This version also implements some changes to reduce the compile time of HEALPix Fast Fourier transforms, though this issues is yet to be fully solved.