Peano
Loading...
Searching...
No Matches
CellDataMovement.h
Go to the documentation of this file.
1// This file is part of the Peano project. For conditions of distribution and
2// use, please see the copyright notice at www.peano-framework.org
3#pragma once
4
5
9
10
11namespace peano4 {
12 namespace datamanagement {
59 template <typename Data, typename StackMap, typename LoadStoreComputeFlag>
61 StackMap& stackMap,
62 int spacetreeId,
64 const CellMarker& cellMarker,
65 const char* name,
66 LoadStoreComputeFlag loadStoreComputeFlag
67 );
68
80 template <typename Data, typename StackMap, typename LoadStoreComputeFlag>
82 StackMap& stackMap,
83 int spacetreeId,
85 const CellMarker& cellMarker,
86 const char* name,
87 LoadStoreComputeFlag loadStoreComputeFlag
88 );
89
104 template <
105 typename Data,
106 typename StackMap,
107 typename LoadStoreComputeFlag,
108 typename Send>
110 StackMap& stackMap,
111 int spacetreeId,
112 int toStack,
114 const CellMarker& cellMarker,
115 LoadStoreComputeFlag loadStoreComputeFlag,
116 Send send
117 );
118
133 template <
134 typename Data,
135 typename StackMap,
136 typename LoadStoreComputeFlag,
137 typename ReceiveAndMerge>
139 StackMap& stackMap,
140 int spacetreeId,
141 int fromStack,
144 const CellMarker& cellMarker,
145 LoadStoreComputeFlag loadStoreComputeFlag,
146 ReceiveAndMerge receiveAndMerge
147 );
148 } // namespace datamanagement
149} // namespace peano4
150
151
152#include "CellDataMovement.cpph"
SendReceiveContext
There are three different scenarios when we merge data:
void storeCellData(StackMap &stackMap, int spacetreeId, const peano4::grid::GridTraversalEvent &event, const CellMarker &cellMarker, const char *name, LoadStoreComputeFlag loadStoreComputeFlag)
Store the data of one cell from the call stack.
void receiveAndMergeCellData(StackMap &stackMap, int spacetreeId, int fromStack, peano4::grid::TraversalObserver::SendReceiveContext context, const peano4::grid::GridTraversalEvent &event, const CellMarker &cellMarker, LoadStoreComputeFlag loadStoreComputeFlag, ReceiveAndMerge receiveAndMerge)
Receive the data of the cell and merge it into the local data.
void sendCellData(StackMap &stackMap, int spacetreeId, int toStack, peano4::grid::TraversalObserver::SendReceiveContext context, const CellMarker &cellMarker, LoadStoreComputeFlag loadStoreComputeFlag, Send send)
Send the data of the cell.
void loadCellData(StackMap &stackMap, int spacetreeId, const peano4::grid::GridTraversalEvent &event, const CellMarker &cellMarker, const char *name, LoadStoreComputeFlag loadStoreComputeFlag)
Load the data of one cell onto the call stack.