|
waLBerla 7.2
|
Classes | |
| class | PackInfo |
| Data packing/unpacking for ghost layer based communication of a single walberla::field::FieldTemplate parameters are equivalent of the parameters of GhostLayerField that is communicated. More... | |
| class | ReducePackInfo |
| Data packing/unpacking for reduce operations This class can be used, when multiple data sets from different senders should be reduced at the receiver. More... | |
| class | StencilRestrictedMPIDatatypeInfo |
| class | StencilRestrictedPackInfo |
| PackInfo that packs only the components that point to the neighbor. More... | |
| class | UniformMPIDatatypeInfo |
| class | UniformPullReductionPackInfo |
| Data packing/unpacking for ghost layer based communication of a single walberla::field::Field. More... | |
Functions | |
| template<typename Field_T > | |
| MPI_Datatype | mpiDatatype (const Field_T &field) |
| Creates a MPI datatype to communicate the contents of a whole Field. | |
| template<typename Field_T > | |
| MPI_Datatype | mpiDatatypeSlice (const Field_T &field, const cell_idx_t xBeg, const cell_idx_t yBeg, const cell_idx_t zBeg, const cell_idx_t fBeg, const cell_idx_t xEnd, const cell_idx_t yEnd, const cell_idx_t zEnd, const cell_idx_t fEnd) |
| Creates a MPI datatype to communicate an interval of cells of a Field. | |
| template<typename Field_T > | |
| MPI_Datatype | mpiDatatypeSliceXYZ (const Field_T &field, const CellInterval &interval, cell_idx_t f=0) |
| Creates a MPI datatype to communicate an interval of cells of a Field. | |
| template<typename Field_T > | |
| MPI_Datatype | mpiDatatypeSliceXYZ (const Field_T &field, const CellInterval &interval, const cell_idx_t fBeg, const cell_idx_t fEnd) |
| Creates a MPI datatype to communicate an interval of cells of a Field. | |
| template<typename Field_T > | |
| MPI_Datatype | mpiDatatypeSliceXYZ (const Field_T &field, const CellInterval &interval, const std::set< cell_idx_t > &fs) |
| Creates a MPI datatype to communicate an interval of cells of a Field. | |
| template<typename GhostLayerField_T > | |
| MPI_Datatype | mpiDatatypeWithGhostLayer (const GhostLayerField_T &field) |
| Creates a MPI datatype to communicate the contents of a whole GhostLayerField including its ghost layers. | |
| template<typename GhostLayerField_T > | |
| MPI_Datatype | mpiDatatypeWithGhostLayer (const GhostLayerField_T &field, const uint_t numGhostLayers) |
| Creates a MPI datatype to communicate the contents of a whole GhostLayerField including some of its ghost layers. | |
| template<typename GhostLayerField_T > | |
| MPI_Datatype | mpiDatatypeGhostLayerOnly (const GhostLayerField_T &field, const stencil::Direction dir, const bool fullSlice=false) |
| Creates a MPI datatype to communicate parts of the ghost layers of a GhostLayerField. | |
| template<typename GhostLayerField_T > | |
| MPI_Datatype | mpiDatatypeGhostLayerOnly (const GhostLayerField_T &field, const uint_t thickness, const stencil::Direction dir, const bool fullSlice=false) |
| Creates a MPI datatype to communicate parts of the ghost layers of a GhostLayerField. | |
| template<typename GhostLayerField_T > | |
| MPI_Datatype | mpiDatatypeGhostLayerOnlyXYZ (const GhostLayerField_T &field, const stencil::Direction dir, const bool fullSlice=false, const cell_idx_t f=0) |
| Creates a MPI datatype to communicate parts of the ghost layers of a GhostLayerField. | |
| template<typename GhostLayerField_T > | |
| MPI_Datatype | mpiDatatypeGhostLayerOnlyXYZ (const GhostLayerField_T &field, const stencil::Direction dir, const bool fullSlice, const cell_idx_t fBeg, const cell_idx_t fEnd) |
| Creates a MPI datatype to communicate parts of the ghost layers of a GhostLayerField. | |
| template<typename GhostLayerField_T > | |
| MPI_Datatype | mpiDatatypeGhostLayerOnlyXYZ (const GhostLayerField_T &field, const stencil::Direction dir, const bool fullSlice, const std::set< cell_idx_t > &fs) |
| Creates a MPI datatype to communicate parts of the ghost layers of a GhostLayerField. | |
| template<typename GhostLayerField_T > | |
| MPI_Datatype | mpiDatatypeSliceBeforeGhostlayer (const GhostLayerField_T &field, const stencil::Direction dir, const uint_t thickness=1, const bool fullSlice=false) |
| Creates a MPI datatype to communicate inner parts if a GhostLayerField near the ghost layers. | |
| template<typename GhostLayerField_T > | |
| MPI_Datatype | mpiDatatypeSliceBeforeGhostlayerXYZ (const GhostLayerField_T &field, const stencil::Direction dir, const uint_t thickness=1, const cell_idx_t f=0, const bool fullSlice=false) |
| Creates a MPI datatype to communicate inner parts if a GhostLayerField near the ghost layers. | |
| template<typename GhostLayerField_T > | |
| MPI_Datatype | mpiDatatypeSliceBeforeGhostlayerXYZ (const GhostLayerField_T &field, const stencil::Direction dir, const uint_t thickness, const cell_idx_t fBeg, const cell_idx_t fEnd, const bool fullSlice) |
| Creates a MPI datatype to communicate inner parts if a GhostLayerField near the ghost layers. | |
| template<typename GhostLayerField_T > | |
| MPI_Datatype | mpiDatatypeSliceBeforeGhostlayerXYZ (const GhostLayerField_T &field, const stencil::Direction dir, const uint_t thickness, const std::set< cell_idx_t > &fs, const bool fullSlice) |
| Creates a MPI datatype to communicate inner parts if a GhostLayerField near the ghost layers. | |
| MPI_Datatype walberla::field::communication::mpiDatatype | ( | const Field_T & | field | ) |
Creates a MPI datatype to communicate the contents of a whole Field.
Only the inner cells of a Field are communicated, when the returned datatype is used in MPI communication.
The returned MPI_Datatype still has to be committed before used in communication and should be freed if it is not needed any longer.
| field | The Field to be communicated |
| MPI_Datatype walberla::field::communication::mpiDatatypeGhostLayerOnly | ( | const GhostLayerField_T & | field, |
| const stencil::Direction | dir, | ||
| const bool | fullSlice = false ) |
Creates a MPI datatype to communicate parts of the ghost layers of a GhostLayerField.
All ghost layers in the specified direction of a Field are communicated, when the returned datatype is used in MPI communication.
The returned MPI_Datatype still has to be committed before used in communication and should be freed if it is not needed any longer.
| field | The GhostLayerField to be communicated |
| dir | As described at GhostLayerField::getGhostRegion |
| fullSlice | As described at GhostLayerField::getGhostRegion |
| MPI_Datatype walberla::field::communication::mpiDatatypeGhostLayerOnly | ( | const GhostLayerField_T & | field, |
| const uint_t | thickness, | ||
| const stencil::Direction | dir, | ||
| const bool | fullSlice = false ) |
Creates a MPI datatype to communicate parts of the ghost layers of a GhostLayerField.
The specified ghost layers of a Field are communicated, when the returned datatype is used in MPI communication.
The returned MPI_Datatype still has to be committed before used in communication and should be freed if it is not needed any longer.
| field | The GhostLayerField to be communicated |
| thickness | As described at GhostLayerField::getGhostRegion |
| dir | As described at GhostLayerField::getGhostRegion |
| fullSlice | As described at GhostLayerField::getGhostRegion |
| MPI_Datatype walberla::field::communication::mpiDatatypeGhostLayerOnlyXYZ | ( | const GhostLayerField_T & | field, |
| const stencil::Direction | dir, | ||
| const bool | fullSlice, | ||
| const cell_idx_t | fBeg, | ||
| const cell_idx_t | fEnd ) |
Creates a MPI datatype to communicate parts of the ghost layers of a GhostLayerField.
The specified ghost layers of a Field are communicated, when the returned datatype is used in MPI communication.
The returned MPI_Datatype still has to be committed before used in communication and should be freed if it is not needed any longer.
| field | The GhostLayerField to be communicated |
| dir | As described at GhostLayerField::getGhostRegion |
| fullSlice | As described at GhostLayerField::getGhostRegion |
| fBeg | Beginning of the interval of communicated components |
| fEnd | End of the interval of communicated components (included in the interval) |
| MPI_Datatype walberla::field::communication::mpiDatatypeGhostLayerOnlyXYZ | ( | const GhostLayerField_T & | field, |
| const stencil::Direction | dir, | ||
| const bool | fullSlice, | ||
| const std::set< cell_idx_t > & | fs ) |
Creates a MPI datatype to communicate parts of the ghost layers of a GhostLayerField.
The specified ghost layers of a Field are communicated, when the returned datatype is used in MPI communication.
The returned MPI_Datatype still has to be committed before used in communication and should be freed if it is not needed any longer.
| field | The GhostLayerField to be communicated |
| dir | As described at GhostLayerField::getGhostRegion |
| fullSlice | As described at GhostLayerField::getGhostRegion |
| fs | Communicated components |
| MPI_Datatype walberla::field::communication::mpiDatatypeGhostLayerOnlyXYZ | ( | const GhostLayerField_T & | field, |
| const stencil::Direction | dir, | ||
| const bool | fullSlice = false, | ||
| const cell_idx_t | f = 0 ) |
Creates a MPI datatype to communicate parts of the ghost layers of a GhostLayerField.
The specified ghost layers of a Field are communicated, when the returned datatype is used in MPI communication.
The returned MPI_Datatype still has to be committed before used in communication and should be freed if it is not needed any longer.
| field | The GhostLayerField to be communicated |
| dir | As described at GhostLayerField::getGhostRegion |
| fullSlice | As described at GhostLayerField::getGhostRegion |
| f | Component which is communicated |
| MPI_Datatype walberla::field::communication::mpiDatatypeSlice | ( | const Field_T & | field, |
| const cell_idx_t | xBeg, | ||
| const cell_idx_t | yBeg, | ||
| const cell_idx_t | zBeg, | ||
| const cell_idx_t | fBeg, | ||
| const cell_idx_t | xEnd, | ||
| const cell_idx_t | yEnd, | ||
| const cell_idx_t | zEnd, | ||
| const cell_idx_t | fEnd ) |
Creates a MPI datatype to communicate an interval of cells of a Field.
Only the cells in the described interval of a Field are communicated, when the returned datatype is used in MPI communication.
The returned MPI_Datatype still has to be committed before used in communication and should be freed if it is not needed any longer.
| field | The Field to be communicated |
| xBeg | Beginning of the interval in x direction |
| yBeg | Beginning of the interval in y direction |
| zBeg | Beginning of the interval in z direction |
| fBeg | Beginning of the interval in f direction |
| xEnd | End of the interval in x direction (included in the interval) |
| yEnd | End of the interval in y direction (included in the interval) |
| zEnd | End of the interval in z direction (included in the interval) |
| fEnd | End of the interval in f direction (included in the interval) |
| MPI_Datatype walberla::field::communication::mpiDatatypeSliceBeforeGhostlayer | ( | const GhostLayerField_T & | field, |
| const stencil::Direction | dir, | ||
| const uint_t | thickness = 1, | ||
| const bool | fullSlice = false ) |
Creates a MPI datatype to communicate inner parts if a GhostLayerField near the ghost layers.
The specified inner layers of a Field are communicated, when the returned datatype is used in MPI communication.
The returned MPI_Datatype still has to be committed before used in communication and should be freed if it is not needed any longer.
| field | The GhostLayerField to be communicated |
| dir | As described at GhostLayerField::getSliceBeforeGhostLayer |
| thickness | As described at GhostLayerField::getSliceBeforeGhostLayer |
| fullSlice | As described at GhostLayerField::getSliceBeforeGhostLayer |
| MPI_Datatype walberla::field::communication::mpiDatatypeSliceBeforeGhostlayerXYZ | ( | const GhostLayerField_T & | field, |
| const stencil::Direction | dir, | ||
| const uint_t | thickness, | ||
| const cell_idx_t | fBeg, | ||
| const cell_idx_t | fEnd, | ||
| const bool | fullSlice ) |
Creates a MPI datatype to communicate inner parts if a GhostLayerField near the ghost layers.
The specified inner layers of a Field are communicated, when the returned datatype is used in MPI communication.
The returned MPI_Datatype still has to be committed before used in communication and should be freed if it is not needed any longer.
| field | The GhostLayerField to be communicated |
| dir | As described at GhostLayerField::getSliceBeforeGhostLayer |
| thickness | As described at GhostLayerField::getSliceBeforeGhostLayer |
| fullSlice | As described at GhostLayerField::getSliceBeforeGhostLayer |
| fBeg | Beginning of the interval of communicated components |
| fEnd | End of the interval of communicated components (included in the interval) |
| MPI_Datatype walberla::field::communication::mpiDatatypeSliceBeforeGhostlayerXYZ | ( | const GhostLayerField_T & | field, |
| const stencil::Direction | dir, | ||
| const uint_t | thickness, | ||
| const std::set< cell_idx_t > & | fs, | ||
| const bool | fullSlice ) |
Creates a MPI datatype to communicate inner parts if a GhostLayerField near the ghost layers.
The specified inner layers of a Field are communicated, when the returned datatype is used in MPI communication.
The returned MPI_Datatype still has to be committed before used in communication and should be freed if it is not needed any longer.
| field | The GhostLayerField to be communicated |
| dir | As described at GhostLayerField::getSliceBeforeGhostLayer |
| thickness | As described at GhostLayerField::getSliceBeforeGhostLayer |
| fullSlice | As described at GhostLayerField::getSliceBeforeGhostLayer |
| fs | Communicated components |
| MPI_Datatype walberla::field::communication::mpiDatatypeSliceBeforeGhostlayerXYZ | ( | const GhostLayerField_T & | field, |
| const stencil::Direction | dir, | ||
| const uint_t | thickness = 1, | ||
| const cell_idx_t | f = 0, | ||
| const bool | fullSlice = false ) |
Creates a MPI datatype to communicate inner parts if a GhostLayerField near the ghost layers.
The specified inner layers of a Field are communicated, when the returned datatype is used in MPI communication.
The returned MPI_Datatype still has to be committed before used in communication and should be freed if it is not needed any longer.
| field | The GhostLayerField to be communicated |
| dir | As described at GhostLayerField::getSliceBeforeGhostLayer |
| thickness | As described at GhostLayerField::getSliceBeforeGhostLayer |
| fullSlice | As described at GhostLayerField::getSliceBeforeGhostLayer |
| f | Component which is communicated |
| MPI_Datatype walberla::field::communication::mpiDatatypeSliceXYZ | ( | const Field_T & | field, |
| const CellInterval & | interval, | ||
| cell_idx_t | f = 0 ) |
Creates a MPI datatype to communicate an interval of cells of a Field.
Only the cells in the described interval of a Field are communicated, when the returned datatype is used in MPI communication.
The returned MPI_Datatype still has to be committed before used in communication and should be freed if it is not needed any longer.
| field | The Field to be communicated |
| interval | Interval of communicated cells |
| f | f component that is communicated |
| MPI_Datatype walberla::field::communication::mpiDatatypeSliceXYZ | ( | const Field_T & | field, |
| const CellInterval & | interval, | ||
| const cell_idx_t | fBeg, | ||
| const cell_idx_t | fEnd ) |
Creates a MPI datatype to communicate an interval of cells of a Field.
Only the cells in the described interval of a Field are communicated, when the returned datatype is used in MPI communication.
The returned MPI_Datatype still has to be committed before used in communication and should be freed if it is not needed any longer.
| field | The Field to be communicated |
| interval | Interval of communicated cells |
| fBeg | Beginning of the interval in f direction |
| fEnd | End of the interval in f direction (included in the interval) |
| MPI_Datatype walberla::field::communication::mpiDatatypeSliceXYZ | ( | const Field_T & | field, |
| const CellInterval & | interval, | ||
| const std::set< cell_idx_t > & | fs ) |
Creates a MPI datatype to communicate an interval of cells of a Field.
Only the cells in the described interval of a Field are communicated, when the returned datatype is used in MPI communication.
The returned MPI_Datatype still has to be committed before used in communication and should be freed if it is not needed any longer.
| field | The Field to be communicated |
| interval | Interval of communicated cells |
| fs | Set of f components to be communicated |
| MPI_Datatype walberla::field::communication::mpiDatatypeWithGhostLayer | ( | const GhostLayerField_T & | field | ) |
Creates a MPI datatype to communicate the contents of a whole GhostLayerField including its ghost layers.
All cells of a Field are communicated, when the returned datatype is used in MPI communication.
The returned MPI_Datatype still has to be committed before used in communication and should be freed if it is not needed any longer.
| field | The GhostLayerField to be communicated |
| MPI_Datatype walberla::field::communication::mpiDatatypeWithGhostLayer | ( | const GhostLayerField_T & | field, |
| const uint_t | numGhostLayers ) |
Creates a MPI datatype to communicate the contents of a whole GhostLayerField including some of its ghost layers.
All inner cells and the specified ghost layers of a Field are communicated, when the returned datatype is used in MPI communication.
The returned MPI_Datatype still has to be committed before used in communication and should be freed if it is not needed any longer.
| field | The GhostLayerField to be communicated |
| numGhostLayers | The number of ghost layers to be communicated (from inner to outer layers) |