Changelog.md 4.66 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
### 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
Boris Bonev's avatar
Boris Bonev committed
14
* Reorganized examples folder, including new examples based on the 2d3ds dataset
Boris Bonev's avatar
Boris Bonev committed
15
16
* Added spherical loss functions to examples
* Added plotting module
Boris Bonev's avatar
Boris Bonev committed
17
* Updated docstrings
Boris Bonev's avatar
Boris Bonev committed
18

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

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

29
30
31
32
* 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
33
### v0.7.4
34

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

Boris Bonev's avatar
Boris Bonev committed
46
47
48
49
50
### 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
51
52
53
### v0.7.2

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

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

* Hotfix to AMP in SFNO example

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

* CUDA-accelerated DISCO convolutions
* Updated DISCO convolutions to support even number of collocation points across the diameter
* Distributed DISCO convolutions
67
* Fused quadrature into multiplication with the Psi tensor to lower memory footprint
Boris Bonev's avatar
Boris Bonev committed
68
69
70
* 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
71
72
### v0.6.5

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

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

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

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

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

93
94
95
### v0.6.2

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

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

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

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

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

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

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

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

* 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
122
### v0.3.0
Boris Bonev's avatar
Boris Bonev committed
123
124
125
126
127
128
129
130
131
132
133
134
135
136

* 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
137
### v0.2.0
Boris Bonev's avatar
Boris Bonev committed
138
139
140
141
142

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

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

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