GatherScatter class
          #include <atlas/parallel/GatherScatter.h>
        
        
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::
            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::
            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::
            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::
            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::
            
Pack
Gather
Unpack
              
                template<typename DATA_TYPE>
              
              void atlas::
            
Pack
Scatter
Unpack