GridapROMs.Distributed
GridapROMs.Distributed — Module
module DistributedMPI-parallel extensions of the GridapROMs parametric and reduced-basis layer.
Wraps the distributed data structures provided by PartitionedArrays and GridapDistributed so that parametric snapshots and FE solves can be performed in parallel. Key components:
Distributed
ParamArrays —OwnAndGhostParamVectorandParamJaggedArraycarry multi-sample DOF arrays in the owned-and-ghost partitioning expected byPartitionedArrays.ParamArraysInterface.jlimplements the fullAbstractParamArrayinterface for these types.Sparse utilities —
ParamSparseUtils.jlprovides distributed sparse matrix/vector assembly helpers (CSR row-pointer arithmetic, assembly caches) compatible withParamArrayentries.Primitives —
Primitives.jlcontains low-level MPI-aware operations (scatter/gather, consistent local-size queries) reused by the higher-level components.Distributed algebra —
ParamAlgebra.jlextendsParamBuilder/ParamCounterto the distributed setting;ParamSolvers.jlwrapsGridapDistributedsolvers for parametric systems.Distributed FE spaces —
ParamFESpaces.jlspecialisesDistributedSingleFieldFESpace/DistributedMultiFieldFESpacefor parametric DOF arrays.Distributed snapshots —
GenericPArrayis aPartitionedArraysPVector-like container for generic parallel data;DistributedSnapshotswrapsSnapshotsfor the distributed case.
Requires GridapDistributed and MPI; not loaded unless Distributed is explicitly used.
GridapROMs.Distributed.GenericPArray — Type
struct GenericPArray{V,A,B,C,D,T,N} <: AbstractArray{T,N}
array_partition::A
index_partition::B
unpartitioned_axes::C
cache::D
endSame as PVector, but while the latter always stores a vector with entries partitioned on different cores, this structure stores an array (not necessarily a vector) partitioned along the first dimension (row-wise)
GridapROMs.Distributed.GenericPArray — Method
GenericPArray(array_partition,index_partition)Create an instance of GenericPArray from the underlying properties array_partition and index_partition.
GridapROMs.Distributed.OwnAndGhostParamVectors — Type
struct OwnAndGhostParamVectors{A,B,T} <: AbstractParamVector{T}
own_values::A
ghost_values::A
permutation::B
endParametric version of OwnAndGhostVectors