You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Move RedistributeGlue to GridapDistributed.jl. Also, we should check if it can re-use some of the code already present for PartitionedArrays.Exchanger (by extending this type).
Create a new abstract type for distributed models (for instance AbstractDistributedDiscreteModel) with a common api that can be reused by different types of models. Both DistributedDiscreteModel and OctreeDistributedDiscreteModel should implement this api. Try to see where we can already re-use code.
Move ModelHierarchy to GridapSolvers.jl. We agreed that this makes sense since only multi-level solvers will require the use of hierarchical meshes. We also need to generalize this type (which is currently hard-coded for OctreeDistributedDiscreteModel).
Move the inter-grid projection routines to Gridap.jl. The logic is that these routines would be useful for serial implementations of h-AMR amongst other things. We need to create an abstraction layer which provides freedom in the choice of projection. Our current routines should implement an instance of this abstract api for L2-projection.
Using the new inter-grid projection capabilities, re-do and move our current inter-grid routines (projection+redist) to GridapSolvers.jl alongside ModelHierarchy.
Move GMG to GridapSolvers.jl.
We did not discuss this, but it seems quite logical: Move PatchBasedSmoothers to GridapSolvers.jl.
After this, the idea is that GridapP4est.jl should implement a specific refinement and redistribution engine that couples to GridapDistributed.jl. Only the routines related to this should actually stay in the repo.
Other features that might be interesting to have/explore
Now we are constrained to one mesh level to be defined as a single level of refinement from the previous one. We may have more aggressive coarsening ratios with practical scenarios in mind.
Is it possible to compose Refinement and Redistribution as a single step?
Questions arising when doing the migrations
Can some of the functions in GridapP4est.jl/src/RedistributeTools.jl be moved to GridapDistributed.jl along with RedistributeGlue? Can some of these functions be rewritten using PartitionedArrays.Exchanger methods?
Should we also wrap the PartitionedArrays.async_exchange() routines for RedistributeGlue?
The text was updated successfully, but these errors were encountered:
RedistributeGlue
toGridapDistributed.jl
. Also, we should check if it can re-use some of the code already present forPartitionedArrays.Exchanger
(by extending this type).AbstractDistributedDiscreteModel
) with a common api that can be reused by different types of models. BothDistributedDiscreteModel
andOctreeDistributedDiscreteModel
should implement this api. Try to see where we can already re-use code.ModelHierarchy
toGridapSolvers.jl
. We agreed that this makes sense since only multi-level solvers will require the use of hierarchical meshes. We also need to generalize this type (which is currently hard-coded forOctreeDistributedDiscreteModel
).Gridap.jl
. The logic is that these routines would be useful for serial implementations of h-AMR amongst other things. We need to create an abstraction layer which provides freedom in the choice of projection. Our current routines should implement an instance of this abstract api for L2-projection.GridapSolvers.jl
alongsideModelHierarchy
.GMG
toGridapSolvers.jl
.PatchBasedSmoothers
toGridapSolvers.jl
.After this, the idea is that
GridapP4est.jl
should implement a specific refinement and redistribution engine that couples toGridapDistributed.jl
. Only the routines related to this should actually stay in the repo.Other features that might be interesting to have/explore
Questions arising when doing the migrations
GridapP4est.jl/src/RedistributeTools.jl
be moved toGridapDistributed.jl
along withRedistributeGlue
? Can some of these functions be rewritten usingPartitionedArrays.Exchanger
methods?PartitionedArrays.async_exchange()
routines forRedistributeGlue
?The text was updated successfully, but these errors were encountered: