Alsvinn
0.5.3
The fast FVM simulator with UQ support
|
#include <alsfvm/mpi/CudaCartesianCellExchanger.hpp>
Public Member Functions | |
CudaCartesianCellExchanger (ConfigurationPtr &configuration, const ivec6 &neighbours) | |
RequestContainer | exchangeCells (volume::Volume &outputVolume, const volume::Volume &inputVolume) override |
Does the exchange of cells between the processors. More... | |
real | max (real number) override |
Does the maximum over all processors. More... | |
bool | hasSide (int side) const |
int | getNumberOfActiveSides () const |
ivec6 | getNeighbours () const override |
![]() | |
virtual | ~CellExchanger () |
real | adjustWaveSpeed (real waveSpeed) |
Does the maximum over all wave speeds across processors. More... | |
![]() | |
virtual | ~WaveSpeedAdjuster () |
Does the cell exchange for cuda. This class is supposed to be a placeholder for when gpu direct is not available.
alsfvm::mpi::CudaCartesianCellExchanger::CudaCartesianCellExchanger | ( | ConfigurationPtr & | configuration, |
const ivec6 & | neighbours | ||
) |
Constructs a new instance
configuration | a pointer to the current MPI configuration |
neighbours | the list of processor neighbours for each side. Has the following format |
Index | Spatial side 1D | Spatial side 2D | Spatial side 3D |
---|---|---|---|
0 | left | left | left |
1 | right | right | right |
2 | < not used > | bottom | bottom |
3 | < not used > | top | top |
4 | < not used > | < not used > | front |
5 | < not used > | < not used > | back |
|
overridevirtual |
Does the exchange of cells between the processors.
Implements alsfvm::mpi::CellExchanger.
|
overridevirtual |
Implements alsfvm::mpi::CellExchanger.
int alsfvm::mpi::CudaCartesianCellExchanger::getNumberOfActiveSides | ( | ) | const |
bool alsfvm::mpi::CudaCartesianCellExchanger::hasSide | ( | int | side | ) | const |
Does the maximum over all processors.
Implements alsfvm::mpi::CellExchanger.