# Changelog ## Versioning ### v0.8.0 * Adding spherical attention and spherical neighborhood attention * Custom CUDA kerneles for spherical neighborhood attention * New datasets for segmentation and depth estimation on the sphere based on the 2D3DS dataset * added new spherical architectures and corresponding baselines * S2 Transformer * S2 Segformer * S2 U-Net * Reorganized examples folder, including new examples based on the 2d3ds dataset * Added spherical loss functions to examples * Added plotting module * Updated docstrings ### v0.7.6 * Adding cache for precomoputed tensors such as weight tensors for DISCO and SHT * Cache is returning copies of tensors and not references. Users are still encouraged to re-use those tensors manually in their models because this will also save memory. However, the cache will help with model setup speed. * Adding test which ensures that cache is working correctly ### v0.7.5 * New normalization mode `support` for DISCO convolutions * More efficient computation of Morlet filter basis * Changed default for Morlet filter basis to a Hann window function ### v0.7.4 * New filter basis normalization in DISCO convolutions * More robust pre-computation of DISCO convolution tensor * Reworked DISCO filter basis datastructure * Support for new filter basis types * Added Zernike polynomial basis on a disk * Added Morlet wavelet basis functions on a spherical disk * Cleaning up the SFNO example and adding new Local Spherical Neural Operator model * Updated resampling module to extend input signal to the poles if needed * Added slerp interpolation to the resampling module * Added distributed resampling module ### v0.7.3 * Changing default grid in all SHT routines to `equiangular` * Hotfix to the numpy version requirements ### v0.7.2 * Added resampling modules for convenience * Changing behavior of distributed SHT to use `dim=-3` as channel dimension * Fixing SHT unittests to test SHT and ISHT individually, rather than the roundtrip * Changing the way custom CUDA extensions are handled ### v0.7.1 * Hotfix to AMP in SFNO example ### v0.7.0 * CUDA-accelerated DISCO convolutions * Updated DISCO convolutions to support even number of collocation points across the diameter * Distributed DISCO convolutions * Fused quadrature into multiplication with the Psi tensor to lower memory footprint * Removed DISCO convolution in the plane to focus on the sphere * Updated unit tests which now include tests for the distributed convolutions ### v0.6.5 * Discrete-continuous (DISCO) convolutions on the sphere and in two dimensions * DISCO supports isotropic and anisotropic kernel functions parameterized as hat functions * Supports regular and transpose convolutions * Accelerated spherical DISCO convolutions on GPU via Triton implementation * Unittests for DISCO convolutions in `tests/test_convolution.py` ### v0.6.4 * Reworking distributed to allow for uneven split tensors, effectively removing the necessity of padding the transformed tensors * Distributed SHT tests are now using unittest. Test extended to vector SHT versions * Tests are defined in `torch_harmonics/distributed/distributed_tests.py` * Base pytorch container version bumped up to 23.11 in Dockerfile ### v0.6.3 * Adding gradient check in unit tests * Temporary work-around for NCCL contiguous issues with distributed SHT * Refactored examples and documentation * Updated SFNO example ### v0.6.2 * Adding github CI * Changed SHT modules to convert dtype dynamically when computing the SHT/ISHT * Bugfixes to fix importing examples ### v0.6.1 * Minor bugfixes to export SFNO code * Readme should now render correctly in PyPI ### v0.6.0 * Added SFNO example * Added Shallow Water Equations Dataset for SFNO training * Cleanup of the repository and added PyPI * Updated Readme ### v0.5.0 * Reworked distributed SHT * Module for sampling Gaussian Random Fields on the sphere ### v0.4.0 * Computation of associated Legendre polynomials * changed algorithm to compute the associated Legendre polynomials for improved stability * Improved Readme ### v0.3.0 * Vector Spherical Harmonic Transforms * projects vector-valued fields onto the vector Spherical Harmonics * supports computation of div and curl on the sphere * New quadrature rules * Clenshaw-Curtis quadrature rule * Fejér quadrature rule * Legendre-Gauss-Lobatto quadrature * New notebooks * complete with differentiable Shallow Water Solver * notebook on quadrature and interpolation * Unit tests * Refactor of the API ### v0.2.0 * Renaming from torch_sht to torch_harmonics * Adding distributed SHT support * New logo ### v0.1.0 * Single GPU forward and backward transform * Minimal code example and notebook