Changelog.md 4.61 KB
Newer Older
Boris Bonev's avatar
Boris Bonev committed
1
2
3
4
# Changelog

## Versioning

Boris Bonev's avatar
Boris Bonev committed
5
6
7
8
9
10
11
12
13
14
15
16
17
### 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
* Reworked spherical examples for better reproducibility
* Added spherical loss functions to examples
* Added plotting module

Thorsten Kurth's avatar
Thorsten Kurth committed
18
19
20
21
22
23
24
25
### 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

26
### v0.7.5
Thorsten Kurth's avatar
Thorsten Kurth committed
27

28
29
30
31
* 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

Boris Bonev's avatar
Boris Bonev committed
32
### v0.7.4
33

34
* New filter basis normalization in DISCO convolutions
Boris Bonev's avatar
Boris Bonev committed
35
* More robust pre-computation of DISCO convolution tensor
36
37
* Reworked DISCO filter basis datastructure
* Support for new filter basis types
38
39
* Added Zernike polynomial basis on a disk
* Added Morlet wavelet basis functions on a spherical disk
40
41
* 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
42
43
* Added slerp interpolation to the resampling module
* Added distributed resampling module
44

Boris Bonev's avatar
Boris Bonev committed
45
46
47
48
49
### v0.7.3

* Changing default grid in all SHT routines to `equiangular`
* Hotfix to the numpy version requirements

Boris Bonev's avatar
Boris Bonev committed
50
51
52
### v0.7.2

* Added resampling modules for convenience
53
* Changing behavior of distributed SHT to use `dim=-3` as channel dimension
Boris Bonev's avatar
Boris Bonev committed
54
* Fixing SHT unittests to test SHT and ISHT individually, rather than the roundtrip
55
* Changing the way custom CUDA extensions are handled
Boris Bonev's avatar
Boris Bonev committed
56

Boris Bonev's avatar
Boris Bonev committed
57
58
59
60
### v0.7.1

* Hotfix to AMP in SFNO example

Boris Bonev's avatar
Boris Bonev committed
61
62
63
64
65
### v0.7.0

* CUDA-accelerated DISCO convolutions
* Updated DISCO convolutions to support even number of collocation points across the diameter
* Distributed DISCO convolutions
66
* Fused quadrature into multiplication with the Psi tensor to lower memory footprint
Boris Bonev's avatar
Boris Bonev committed
67
68
69
* Removed DISCO convolution in the plane to focus on the sphere
* Updated unit tests which now include tests for the distributed convolutions

Boris Bonev's avatar
Boris Bonev committed
70
71
### v0.6.5

Boris Bonev's avatar
Boris Bonev committed
72
73
74
75
76
* 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`
Boris Bonev's avatar
Boris Bonev committed
77

78
### v0.6.4
Boris Bonev's avatar
Boris Bonev committed
79
80
81
82
83

* 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
84

Boris Bonev's avatar
Boris Bonev committed
85
86
87
### v0.6.3

* Adding gradient check in unit tests
88
* Temporary work-around for NCCL contiguous issues with distributed SHT
89
* Refactored examples and documentation
Boris Bonev's avatar
Boris Bonev committed
90
* Updated SFNO example
Boris Bonev's avatar
Boris Bonev committed
91

92
93
94
### v0.6.2

* Adding github CI
Boris Bonev's avatar
Boris Bonev committed
95
96
* Changed SHT modules to convert dtype dynamically when computing the SHT/ISHT
* Bugfixes to fix importing examples
97

Boris Bonev's avatar
Boris Bonev committed
98
99
### v0.6.1

Boris Bonev's avatar
Boris Bonev committed
100
* Minor bugfixes to export SFNO code
Boris Bonev's avatar
Boris Bonev committed
101
102
* Readme should now render correctly in PyPI

Boris Bonev's avatar
Boris Bonev committed
103
104
105
### v0.6.0

* Added SFNO example
106
* Added Shallow Water Equations Dataset for SFNO training
Boris Bonev's avatar
Boris Bonev committed
107
* Cleanup of the repository and added PyPI
108
* Updated Readme
Boris Bonev's avatar
Boris Bonev committed
109
110

### v0.5.0
Boris Bonev's avatar
Boris Bonev committed
111
112
113
114

* Reworked distributed SHT
* Module for sampling Gaussian Random Fields on the sphere

Boris Bonev's avatar
Boris Bonev committed
115
### v0.4.0
Boris Bonev's avatar
Boris Bonev committed
116
117
118
119
120

* Computation of associated Legendre polynomials
    * changed algorithm to compute the associated Legendre polynomials for improved stability
* Improved Readme

Boris Bonev's avatar
Boris Bonev committed
121
### v0.3.0
Boris Bonev's avatar
Boris Bonev committed
122
123
124
125
126
127
128
129
130
131
132
133
134
135

* 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

Boris Bonev's avatar
Boris Bonev committed
136
### v0.2.0
Boris Bonev's avatar
Boris Bonev committed
137
138
139
140
141

* Renaming from torch_sht to torch_harmonics
* Adding distributed SHT support
* New logo

Boris Bonev's avatar
Boris Bonev committed
142
### v0.1.0
Boris Bonev's avatar
Boris Bonev committed
143
144

* Single GPU forward and backward transform
145
* Minimal code example and notebook