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

## Versioning

Thorsten Kurth's avatar
Thorsten Kurth committed
5
6
7
8
9
10
11
12
### 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

13
### v0.7.5
Thorsten Kurth's avatar
Thorsten Kurth committed
14

15
16
17
18
* 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
19
### v0.7.4
20

21
* New filter basis normalization in DISCO convolutions
Boris Bonev's avatar
Boris Bonev committed
22
* More robust pre-computation of DISCO convolution tensor
23
24
* Reworked DISCO filter basis datastructure
* Support for new filter basis types
25
26
* Added Zernike polynomial basis on a disk
* Added Morlet wavelet basis functions on a spherical disk
27
28
* 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
29
30
* Added slerp interpolation to the resampling module
* Added distributed resampling module
31

Boris Bonev's avatar
Boris Bonev committed
32
33
34
35
36
### 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
37
38
39
### v0.7.2

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

Boris Bonev's avatar
Boris Bonev committed
44
45
46
47
### v0.7.1

* Hotfix to AMP in SFNO example

Boris Bonev's avatar
Boris Bonev committed
48
49
50
51
52
### v0.7.0

* CUDA-accelerated DISCO convolutions
* Updated DISCO convolutions to support even number of collocation points across the diameter
* Distributed DISCO convolutions
53
* Fused quadrature into multiplication with the Psi tensor to lower memory footprint
Boris Bonev's avatar
Boris Bonev committed
54
55
56
* 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
57
58
### v0.6.5

Boris Bonev's avatar
Boris Bonev committed
59
60
61
62
63
* 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
64

65
### v0.6.4
Boris Bonev's avatar
Boris Bonev committed
66
67
68
69
70

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

Boris Bonev's avatar
Boris Bonev committed
72
73
74
### v0.6.3

* Adding gradient check in unit tests
75
* Temporary work-around for NCCL contiguous issues with distributed SHT
76
* Refactored examples and documentation
Boris Bonev's avatar
Boris Bonev committed
77
* Updated SFNO example
Boris Bonev's avatar
Boris Bonev committed
78

79
80
81
### v0.6.2

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

Boris Bonev's avatar
Boris Bonev committed
85
86
### v0.6.1

Boris Bonev's avatar
Boris Bonev committed
87
* Minor bugfixes to export SFNO code
Boris Bonev's avatar
Boris Bonev committed
88
89
* Readme should now render correctly in PyPI

Boris Bonev's avatar
Boris Bonev committed
90
91
92
### v0.6.0

* Added SFNO example
93
* Added Shallow Water Equations Dataset for SFNO training
Boris Bonev's avatar
Boris Bonev committed
94
* Cleanup of the repository and added PyPI
95
* Updated Readme
Boris Bonev's avatar
Boris Bonev committed
96
97

### v0.5.0
Boris Bonev's avatar
Boris Bonev committed
98
99
100
101

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

Boris Bonev's avatar
Boris Bonev committed
102
### v0.4.0
Boris Bonev's avatar
Boris Bonev committed
103
104
105
106
107

* 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
108
### v0.3.0
Boris Bonev's avatar
Boris Bonev committed
109
110
111
112
113
114
115
116
117
118
119
120
121
122

* 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
123
### v0.2.0
Boris Bonev's avatar
Boris Bonev committed
124
125
126
127
128

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

Boris Bonev's avatar
Boris Bonev committed
129
### v0.1.0
Boris Bonev's avatar
Boris Bonev committed
130
131

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