-
Notifications
You must be signed in to change notification settings - Fork 15
PartitionedArrays v0.2 ‐ v0.3 caveats
WIP ...
-
[WARNING PArrays v0.3] In a number of different scenarios, the user is required to pass
partition(::PRange)
as an argument to a function, e.g.,PVector(...,partition(gids))
. In many of these scenarios (if not all), there is no type annotation in the function header, so that one may passgids
instead ofpartition(gids)
as an argument in the function call. This causes errors which are hard to relate with the cause of the problem itself, and one has to be quite sharp to understand the problem from the error message. -
AbstractPData
becomesAbstractArray
. Two subtypes ofAbstractArray
:MPIArray
andDebugArray
-
AbstractIndexSet
becomesAbstractLocalIndices
. Much more than a renaming. A refactoring of responsibilities. -
Exchanger
no longer exists. Part ofExchanger
is inExchangeGraph
, the other parts are in the subtypes ofAbstractLocalIndices
, in the so-called,AssemblyCache
types. -
Table
becomesJaggedArray
. No longer naming clashes withGridap.Table
. -
map_parts
becomesmap
. -
To return a tuple of
MPIArray
s (orDebugArray
s) the output ofmap
has to be redirected to thetuple_of_arrays
function.
a,b=map(...) do
a,b
end |> tuple_of_arrays
-
Run functions are now called
with_debug()
andwith_mpi()
. The number of parts has to be hard-coded in the function that each part calls. -
Had to add functions
fetch_ghost_values_cache
andfetch_ghost_values!
to GridapDistributed because exchange! in PArrays no longer provides the previous functionality. These functions can be waived usingPVector
s all the way through. TO-THINK which is more appropriate on a case-by-case basis. -
fetch_ghost_values!
returns a JuliaTask
, not anAbstractPData
ofTask
s (as with PArrays v0.2) -
PVector
constructors have changed quite a bit:- The constructors no longer use
PRanges
as inputs, usepartition(PRange)
instead. -
PVector(scalar,ids)
no longer exists, usepfill(scalar,ids)
instead.
- The constructors no longer use