Closed jipolanco closed 3 years ago
Right now broadcasting with PencilArrays doesn't work as expected.
PencilArray
Minimal example:
using MPI using PencilArrays MPI.Init() topo = MPITopology(MPI.COMM_WORLD, (1, 1)) pen = Pencil(topo, (12, 23, 42), (1, 2)) A = PencilArray{Float64}(undef, pen)
The following operations return an Array{Float64,3} instead of a PencilArray{Float64,3}:
Array{Float64,3}
PencilArray{Float64,3}
A .+ A 2 .* A
This should probably also return a PencilArray, effectively promoting a regular Array into a distributed array:
Array
A .+ Array(A)
Note that when the arrays include dimension permutations, there are a few things to consider:
Right now broadcasting with
PencilArray
s doesn't work as expected.Minimal example:
The following operations return an
Array{Float64,3}
instead of aPencilArray{Float64,3}
:This should probably also return a
PencilArray
, effectively promoting a regularArray
into a distributed array:Note that when the arrays include dimension permutations, there are a few things to consider:
PencilArray
s and other kinds of arrays?