diff --git a/docs/src/performance.md b/docs/src/performance.md index 9f81d3c3d8..b31efabbb5 100644 --- a/docs/src/performance.md +++ b/docs/src/performance.md @@ -42,7 +42,8 @@ For example, the following steps were used to benchmark the changes introduced i ```julia julia> using BenchmarkTools, Revise; using Trixi - julia> trixi_include("examples/2d/elixir_euler_sedov_blast_wave.jl") + julia> # nowadays "examples/tree_2d_dgsem/elixir_euler_sedov_blast_wave.jl" + trixi_include("examples/2d/elixir_euler_sedov_blast_wave.jl") julia> du_test = copy(sol.u[end]); u_test = copy(sol.u[end]); @@ -65,7 +66,8 @@ For example, the following steps were used to benchmark the changes introduced i shell> git checkout 222241ff54f8a4ca9876cc1fc25ae262416a4ea0 - julia> trixi_include("examples/2d/elixir_euler_sedov_blast_wave.jl") + julia> # nowadays "examples/tree_2d_dgsem/elixir_euler_sedov_blast_wave.jl" + trixi_include("examples/2d/elixir_euler_sedov_blast_wave.jl") julia> @benchmark Trixi.rhs!( $(du_test), @@ -85,6 +87,10 @@ For example, the following steps were used to benchmark the changes introduced i evals/sample: 1 ``` Run the `@benchmark ...` commands multiple times to see whether there are any significant fluctuations. + Note that the elixir name has changed since + [PR #256](https://github.com/trixi-framework/Trixi.jl/pull/256). + Nowadays, the relevant elixir is + [`examples/tree_2d_dgsem/elixir_euler_sedov_blast_wave.jl`](https://github.com/trixi-framework/Trixi.jl/blob/main/examples/tree_2d_dgsem/elixir_euler_sedov_blast_wave.jl). Follow these steps for both commits you want to compare. The relevant benchmark results you should typically be looking at are the median and mean values of the runtime and the memory/allocs estimate. In this example, the differences diff --git a/src/solvers/dgsem_p4est/containers_parallel.jl b/src/solvers/dgsem_p4est/containers_parallel.jl index fd2749155b..676b37efff 100644 --- a/src/solvers/dgsem_p4est/containers_parallel.jl +++ b/src/solvers/dgsem_p4est/containers_parallel.jl @@ -7,10 +7,10 @@ mutable struct P4estMPIInterfaceContainer{NDIMS, uEltype <: Real, NDIMSP2} <: AbstractContainer - u::Array{uEltype, NDIMSP2} # [primary/secondary, variable, i, j, interface] - local_neighbor_ids::Vector{Int} # [interface] + u::Array{uEltype, NDIMSP2} # [primary/secondary, variable, i, j, interface] + local_neighbor_ids::Vector{Int} # [interface] node_indices::Vector{NTuple{NDIMS, Symbol}} # [interface] - local_sides::Vector{Int} # [interface] + local_sides::Vector{Int} # [interface] # internal `resize!`able storage _u::Vector{uEltype} @@ -89,11 +89,11 @@ end # the normal vectors on the surface of the small elements for each mortar. mutable struct P4estMPIMortarContainer{NDIMS, uEltype <: Real, RealT <: Real, NDIMSP1, NDIMSP2, NDIMSP3} <: AbstractContainer - u::Array{uEltype, NDIMSP3} # [small/large side, variable, position, i, j, mortar] - local_neighbor_ids::Vector{Vector{Int}} # [mortar] - local_neighbor_positions::Vector{Vector{Int}} # [mortar] - node_indices::Matrix{NTuple{NDIMS, Symbol}} # [small/large, mortar] - normal_directions::Array{RealT, NDIMSP2} # [dimension, i, j, position, mortar] + u::Array{uEltype, NDIMSP3} # [small/large side, variable, position, i, j, mortar] + local_neighbor_ids::Vector{Vector{Int}} # [mortar][ids] + local_neighbor_positions::Vector{Vector{Int}} # [mortar][positions] + node_indices::Matrix{NTuple{NDIMS, Symbol}} # [small/large, mortar] + normal_directions::Array{RealT, NDIMSP2} # [dimension, i, j, position, mortar] # internal `resize!`able storage _u::Vector{uEltype} _node_indices::Vector{NTuple{NDIMS, Symbol}} diff --git a/src/solvers/dgsem_tree/containers_2d.jl b/src/solvers/dgsem_tree/containers_2d.jl index 7048739a22..c02faa1c0b 100644 --- a/src/solvers/dgsem_tree/containers_2d.jl +++ b/src/solvers/dgsem_tree/containers_2d.jl @@ -941,8 +941,8 @@ end mutable struct MPIL2MortarContainer2D{uEltype <: Real} <: AbstractContainer u_upper::Array{uEltype, 4} # [leftright, variables, i, mortars] u_lower::Array{uEltype, 4} # [leftright, variables, i, mortars] - local_neighbor_ids::Vector{Vector{Int}} # [mortars] - local_neighbor_positions::Vector{Vector{Int}} # [mortars] + local_neighbor_ids::Vector{Vector{Int}} # [mortars][ids] + local_neighbor_positions::Vector{Vector{Int}} # [mortars][positions] # Large sides: left -> 1, right -> 2 large_sides::Vector{Int} # [mortars] orientations::Vector{Int} # [mortars]