Class TempLat::TripleStateLayouts
template <size_t NDim>
ClassList > TempLat > TripleStateLayouts
A class which keeps three layouts of the memory for one MPI task in a global exact hypercube. More...
#include <triplestatelayouts.h>
Public Functions
| Type | Name |
|---|---|
| TripleStateLayouts (FFTLayoutStruct< NDim > fftLayout, device::Idx nGhostCells) |
|
| const auto & | getConfigSpaceLayout () const |
| const auto & | getConfigSpaceSizes () const |
| const auto & | getConfigSpaceStarts () const |
| const auto & | getFFTConfigSpaceLayout () const |
| const auto & | getFFTConfigSpaceSizes () const |
| const auto & | getFFTConfigSpaceStarts () const |
| const auto & | getFourierSpaceLayout () const |
| const auto & | getFourierSpaceSizes () const |
| const auto & | getFourierSpaceStarts () const |
| device::Idx | getNGhosts () const |
| const device::Idx & | getNecessaryMemoryAllocation () const |
| operator FFTLayoutStruct< NDim > () const |
Detailed Description
- the pre-FFT configuration space layout (usually padded in the last dimension to hold 2 * (N / 2 + 1) entries.
- the Fourier space layout (some fraction of the global N x N x ... x (N / 2 + 1) entries)
- third layout: the configuration space layout with ghost cells, without FFT padding. That is: some fraction of the ( g + N + g ) x ( g + N + g ) x ( g + N + g ) x ...
But the class itself doesn't do anything. Just computes the layouts.
Unit test: ctest -R test-triplestatelayouts
Public Functions Documentation
function TripleStateLayouts
inline TempLat::TripleStateLayouts::TripleStateLayouts (
FFTLayoutStruct < NDim > fftLayout,
device::Idx nGhostCells
)
function getConfigSpaceLayout
function getConfigSpaceSizes
function getConfigSpaceStarts
function getFFTConfigSpaceLayout
function getFFTConfigSpaceSizes
function getFFTConfigSpaceStarts
function getFourierSpaceLayout
function getFourierSpaceSizes
function getFourierSpaceStarts
function getNGhosts
function getNecessaryMemoryAllocation
function operator FFTLayoutStruct< NDim >
Friends Documentation
friend operator<<
inline std::ostream & TempLat::TripleStateLayouts::operator<< (
std::ostream & ostream,
const TripleStateLayouts & tsl
)
The documentation for this class was generated from the following file cosmolatticeweb/tmp/code_source/templat/include/TempLat/lattice/memory/triplestatelayouts.h