class
#include <atlas/parallel/GatherScatter.h>
GatherScatter
Constructors, destructors, conversion operators
- GatherScatter()
-
GatherScatter(const std::
string& name) - ~GatherScatter() virtual
Public functions
-
auto name() const -> std::
string -
void setup(const std::
string& mpi_comm, const int part[], const idx_ t remote_idx[], const int base, const gidx_ t glb_idx[], const idx_ t parsize) - Setup.
-
void setup(const int part[],
const idx_
t remote_idx[], const int base, const gidx_ t glb_idx[], const idx_ t parsize) - Setup.
-
void setup(const std::
string& mpi_comm, const int part[], const idx_ t remote_idx[], const int base, const gidx_ t glb_idx[], const int mask[], const idx_ t parsize) - Setup.
-
void setup(const int part[],
const idx_
t remote_idx[], const int base, const gidx_ t glb_idx[], const int mask[], const idx_ t parsize) - Setup.
-
template<typename DATA_TYPE>void gather(const DATA_TYPE ldata[], const idx_
t lstrides[], const idx_ t lshape[], const idx_ t lrank, const idx_ t lmpl_idxpos[], const idx_ t lmpl_rank, DATA_TYPE gdata[], const idx_ t gstrides[], const idx_ t gshape[], const idx_ t grank, const idx_ t gmpl_idxpos[], const idx_ t gmpl_rank, const idx_ t root) const -
template<typename DATA_TYPE>void gather(const DATA_TYPE ldata[], const idx_
t lvar_strides[], const idx_ t lvar_shape[], const idx_ t lvar_rank, DATA_TYPE gdata[], const idx_ t gvar_strides[], const idx_ t gvar_shape[], const idx_ t gvar_rank, const idx_ t root = 0) const -
template<typename DATA_TYPE>void gather(parallel::
Field<DATA_TYPE const> lfields[], parallel:: Field<DATA_TYPE> gfields[], const idx_ t nb_fields, const idx_ t root = 0) const -
template<typename DATA_TYPE, int LRANK, int GRANK>void gather(const array::
ArrayView<DATA_TYPE, LRANK>& ldata, array:: ArrayView<DATA_TYPE, GRANK>& gdata, const idx_ t root = 0) const -
template<typename DATA_TYPE>void scatter(parallel::
Field<DATA_TYPE const> gfields[], parallel:: Field<DATA_TYPE> lfields[], const idx_ t nb_fields, const idx_ t root = 0) const -
template<typename DATA_TYPE>void scatter(const DATA_TYPE gdata[], const idx_
t gstrides[], const idx_ t gshape[], const idx_ t grank, const idx_ t gmpl_idxpos[], const idx_ t gmpl_rank, DATA_TYPE ldata[], const idx_ t lstrides[], const idx_ t lshape[], const idx_ t lrank, const idx_ t lmpl_idxpos[], const idx_ t lmpl_rank, const idx_ t root) const -
template<typename DATA_TYPE>void scatter(const DATA_TYPE gdata[], const idx_
t gvar_strides[], const idx_ t gvar_shape[], const idx_ t gvar_rank, DATA_TYPE ldata[], const idx_ t lvar_strides[], const idx_ t lvar_shape[], const idx_ t lvar_rank, const idx_ t root = 0) const -
template<typename DATA_TYPE, int GRANK, int LRANK>void scatter(const array::
ArrayView<DATA_TYPE, GRANK>& gdata, array:: ArrayView<DATA_TYPE, LRANK>& ldata, const idx_ t root = 0) const -
auto glb_dof() const -> gidx_
t -
auto loc_dof() const -> idx_
t -
auto comm() const -> const mpi::
Comm&
Function documentation
void atlas:: parallel:: GatherScatter:: setup(const std:: string& mpi_comm,
const int part[],
const idx_ t remote_idx[],
const int base,
const gidx_ t glb_idx[],
const idx_ t parsize)
Setup.
Parameters | |
---|---|
mpi_comm in | Name of mpi communicator |
part in | List of partitions |
remote_idx in | List of local indices on remote partitions |
base in | values of remote_idx start at "base" |
glb_idx in | List of global indices |
parsize in | size of given lists |
void atlas:: parallel:: GatherScatter:: setup(const int part[],
const idx_ t remote_idx[],
const int base,
const gidx_ t glb_idx[],
const idx_ t parsize)
Setup.
Parameters | |
---|---|
part in | List of partitions |
remote_idx in | List of local indices on remote partitions |
base in | values of remote_idx start at "base" |
glb_idx in | List of global indices |
parsize in | size of given lists |
void atlas:: parallel:: GatherScatter:: setup(const std:: string& mpi_comm,
const int part[],
const idx_ t remote_idx[],
const int base,
const gidx_ t glb_idx[],
const int mask[],
const idx_ t parsize)
Setup.
Parameters | |
---|---|
mpi_comm in | Name of mpi communicator |
part in | List of partitions |
remote_idx in | List of local indices on remote partitions |
base in | values of remote_idx start at "base" |
glb_idx in | List of global indices |
mask in | Mask indices not to include in the communication pattern (0=include,1=exclude) |
parsize in | size of given lists |
void atlas:: parallel:: GatherScatter:: setup(const int part[],
const idx_ t remote_idx[],
const int base,
const gidx_ t glb_idx[],
const int mask[],
const idx_ t parsize)
Setup.
Parameters | |
---|---|
part in | List of partitions |
remote_idx in | List of local indices on remote partitions |
base in | values of remote_idx start at "base" |
glb_idx in | List of global indices |
mask in | Mask indices not to include in the communication pattern (0=include,1=exclude) |
parsize in | size of given lists |
template<typename DATA_TYPE>
void atlas:: parallel:: GatherScatter:: gather(parallel:: Field<DATA_TYPE const> lfields[],
parallel:: Field<DATA_TYPE> gfields[],
const idx_ t nb_fields,
const idx_ t root = 0) const
Pack
Gather
Unpack
template<typename DATA_TYPE>
void atlas:: parallel:: GatherScatter:: scatter(parallel:: Field<DATA_TYPE const> gfields[],
parallel:: Field<DATA_TYPE> lfields[],
const idx_ t nb_fields,
const idx_ t root = 0) const
Pack
Scatter
Unpack