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

Proof of concept: TrixiMPIArray #1104

Draft
wants to merge 37 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
8042a04
WIP: TrixiMPIArray
ranocha Mar 30, 2022
5da9e5c
update TODO notes
ranocha Mar 30, 2022
d09b4cc
use TrixiMPIArrays via allocate_coefficients
ranocha Mar 31, 2022
3434a58
do not dispatch on TrixiMPIArray for saving solution/restart files
ranocha Mar 31, 2022
8135d7f
WIP: experiment with global/local length settings
ranocha Mar 31, 2022
987407e
resize!
ranocha Apr 1, 2022
e7d3db3
Merge branch 'main' into hr/mpi_arrays
ranocha Apr 1, 2022
4e33567
add error-based step size control to tests
ranocha Apr 1, 2022
eb1d9b1
SIMD optimizations specialize also on TrixiMPIArrays
ranocha Apr 1, 2022
c2e0b86
replace some 1:length by eachindex
ranocha Apr 1, 2022
d58b1b5
local_copy for AMR
ranocha Apr 1, 2022
23d4520
specialize show
ranocha Apr 1, 2022
d8d85b7
clean up
ranocha Apr 1, 2022
4df8602
specialize view
ranocha Apr 1, 2022
3528a16
clean up
ranocha Apr 1, 2022
6f984c0
use global mpi_comm() again instead of mpi_comm(u)
ranocha Apr 1, 2022
efa08e7
dispatch on parallel mesh instead of TrixiMPIArray whenever possible
ranocha Apr 1, 2022
80f6d59
YAGNI mpi_rank, mpi_size
ranocha Apr 1, 2022
d28c888
use accessor function mpi_comm
ranocha Apr 1, 2022
5ba7f9e
update comment
ranocha Apr 1, 2022
01186f6
Merge branch 'hr/mpi_arrays' of github.com:trixi-framework/Trixi.jl i…
ranocha Apr 1, 2022
96e4a3d
fix efa08e7a76f1b823217c0c9981194510bee3caec
ranocha Apr 1, 2022
bce6cb7
get rid of local_copy
ranocha Apr 1, 2022
0af5ae7
Merge branch 'main' into hr/mpi_arrays
ranocha Apr 1, 2022
76ae70f
test P4estMesh in 2D and 3D with MPI and error-based step size control
ranocha Apr 1, 2022
82e480a
MPI tests with error-based step size control with reltol as rtol
ranocha Apr 3, 2022
5049bbb
specialize broadcasting
ranocha Apr 4, 2022
195e1e0
get rid of local_length
ranocha Apr 4, 2022
4de9a6f
more tests of TrixiMPIArrays
ranocha Apr 4, 2022
5277f86
print test names with error-based step size control
ranocha Apr 5, 2022
53fbfbd
export ode_norm, ode_unstable_check
ranocha Apr 5, 2022
b549d2a
more comments
ranocha Apr 5, 2022
8857b7a
fuse MPI reductions
ranocha Apr 5, 2022
923c6ad
clean-up
ranocha Apr 5, 2022
e38692b
mark ode_norm, ode_unstable_check as experimental
ranocha Apr 5, 2022
126d54d
Merge branch 'main' into hr/mpi_arrays
ranocha Apr 5, 2022
cdcf828
Merge branch 'main' into hr/mpi_arrays
ranocha Apr 5, 2022
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
2 changes: 2 additions & 0 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ authors = ["Michael Schlottke-Lakemper <[email protected]>", "Gregor
version = "0.4.28-pre"

[deps]
ArrayInterface = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9"
CodeTracking = "da1fd8a2-8d9e-5ec2-8556-3022fb5608a2"
ConstructionBase = "187b0558-2788-49d3-abe0-74a17ed4e7c9"
CPUSummary = "2a0fbf3d-bb9c-48f3-b0a9-814d99fd7ab9"
Expand Down Expand Up @@ -41,6 +42,7 @@ TriplotRecipes = "808ab39a-a642-4abf-81ff-4cb34ebbffa3"
UnPack = "3a884ed6-31ef-47d7-9d2a-63182c4928ed"

[compat]
ArrayInterface = "3"
CodeTracking = "1.0.5"
ConstructionBase = "1.3"
CPUSummary = "=0.1.8" # see https://github.com/JuliaSIMD/CPUSummary.jl/issues/6
Expand Down
2 changes: 1 addition & 1 deletion docs/src/reference-trixi.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@ CurrentModule = Trixi
```

```@autodocs
Modules = [Trixi]
Modules = [Trixi, Trixi.TrixiMPIArrays]
```
3 changes: 2 additions & 1 deletion src/Trixi.jl
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ using SparseArrays: AbstractSparseMatrix, AbstractSparseMatrixCSC, sparse, dropt
# import @reexport now to make it available for further imports/exports
using Reexport: @reexport

using ArrayInterface: static_length
using SciMLBase: CallbackSet, DiscreteCallback,
ODEProblem, ODESolution, ODEFunction
import SciMLBase: get_du, get_tmp_cache, u_modified!,
Expand All @@ -39,7 +40,6 @@ using HDF5: h5open, attributes
using IfElse: ifelse
using LinearMaps: LinearMap
using LoopVectorization: LoopVectorization, @turbo, indices
using LoopVectorization.ArrayInterface: static_length
using MPI: MPI
using MuladdMacro: @muladd
using GeometryBasics: GeometryBasics
Expand Down Expand Up @@ -99,6 +99,7 @@ include("basic_types.jl")
# Include all top-level source files
include("auxiliary/auxiliary.jl")
include("auxiliary/mpi.jl")
include("auxiliary/mpi_arrays.jl")
include("auxiliary/p4est.jl")
include("equations/equations.jl")
include("meshes/meshes.jl")
Expand Down
Loading