Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Faster, cleaner pressure solvers for all topologies on CPUs and GPUs #1338

Merged
merged 40 commits into from
Feb 8, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
19b2536
Ignore benchmark outputs
ali-ramadhan Nov 29, 2020
65cd35c
Benchmark 3D FFTs vs. 3 x 1D FFTs
ali-ramadhan Nov 29, 2020
c7e6609
Start refactoring pressure solver
ali-ramadhan Nov 30, 2020
b26ccf9
New pressure solver instantiates
ali-ramadhan Nov 30, 2020
98eec62
Tests pass for triply periodic
ali-ramadhan Nov 30, 2020
0f72d85
Fix normalization factor
ali-ramadhan Nov 30, 2020
96beb31
Test all the topologies
ali-ramadhan Nov 30, 2020
d35b503
Eigenvalues not wavenumbers
ali-ramadhan Nov 30, 2020
b1661c6
GPU pressure solver working for triply periodic
ali-ramadhan Nov 30, 2020
065d9b2
Transforms handle their own normalization
ali-ramadhan Nov 30, 2020
95ccab3
Twiddle factors and more working topologies
ali-ramadhan Nov 30, 2020
649970e
Preliminary infrastructure for non-batched GPU transforms
ali-ramadhan Dec 1, 2020
1e32d8f
Finally nuke crufty old pressure solvers!
ali-ramadhan Dec 9, 2020
20c1385
Fix Benchmarks environment
ali-ramadhan Feb 3, 2021
2b8af1c
Poisson solver sandbox testing
ali-ramadhan Feb 3, 2021
1f4ec24
2D sandbox testing looks good
ali-ramadhan Feb 3, 2021
cd14de6
3D sandbox testing was helpful
ali-ramadhan Feb 3, 2021
0dea76f
Refactor pressure solver divergence-free test
ali-ramadhan Feb 4, 2021
d530dc0
Isolate index permutations and add citations
ali-ramadhan Feb 4, 2021
385d119
Move index permutation to `DiscreteTransform`
ali-ramadhan Feb 4, 2021
3f9dd71
3D pressure solve for non-batch dim finally passes
ali-ramadhan Feb 4, 2021
5d8e821
Lots of `DiscreteTransform` dispatch
ali-ramadhan Feb 4, 2021
d475d6e
Apply transforms in tuple order
ali-ramadhan Feb 4, 2021
84cbfdc
Sorry about all the if statements...
ali-ramadhan Feb 4, 2021
c71bcee
Gotta reshape before transposing
ali-ramadhan Feb 4, 2021
b5df157
Update Poisson solver convergence test
ali-ramadhan Feb 4, 2021
06c612e
Cautiously optimistic that tests will pass
ali-ramadhan Feb 4, 2021
f37462b
Test `mode=2` as well
ali-ramadhan Feb 4, 2021
8e70a46
That would explain why unit tests were fast
ali-ramadhan Feb 4, 2021
8aa7c4d
Merge branch 'master' into ali/pressure-solver-tlc
ali-ramadhan Feb 4, 2021
5936e8d
Fix Benchmarks Manifest.toml
ali-ramadhan Feb 4, 2021
72c894f
Fix tests
ali-ramadhan Feb 4, 2021
9439a12
Benchmark all topologies!
ali-ramadhan Feb 4, 2021
bd4f8f4
Some renaming and now it's `FFTBasedPoissonSolver`
ali-ramadhan Feb 4, 2021
5d0206b
Yet another `Cell` -> `Center`
ali-ramadhan Feb 4, 2021
38d51d7
Benchmarking FFT-based Poisson solvers
ali-ramadhan Feb 4, 2021
a9a25ae
Address PR review
ali-ramadhan Feb 8, 2021
dbc1042
Bump version 0.47.0
ali-ramadhan Feb 8, 2021
e7c6237
Address more PR comments and nuke sandbox
ali-ramadhan Feb 8, 2021
e953459
Last commit did not show up for some reason...
ali-ramadhan Feb 8, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,11 @@ docs/src/generated
*.gif
*.mp4

# Benchmark output
*.html
*.json
*.bson

# Jupyter Lab stuff and notebooks
*.ipynb
.ipynb_checkpoints
Expand All @@ -37,4 +42,4 @@ docs/src/generated
*.DS_Store

# VSCode
.vscode
.vscode
2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name = "Oceananigans"
uuid = "9e8cae18-63c1-5223-a75c-80ca9d6e9a09"
version = "0.46.1"
version = "0.47.0"

[deps]
Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"
Expand Down
Loading