ManagedMemory wrapper with gridInfo and pending scale factor for ScalarField* classes. More...
#include <ScalarField.h>
Classes | |
struct | PrivateTag |
Used to prevent direct use of ScalarField constructors, and force the shared_ptr usage. More... | |
Public Member Functions | |
FieldData (const GridInfo &gInfo, string category, int nElem, bool onGpu=false) | |
void | copyData (const FieldData< T > &other) |
Copy data and scale (used by clone()) | |
void | absorbScale () const |
Absorb scale factor into data. | |
T * | data (bool shouldAbsorbScale=true) |
get a pointer to the actual data (after absorbing the scale factor, unless otherwise specified) | |
const T * | data (bool shouldAbsorbScale=true) const |
get a const pointer to the actual data (after absorbing the scale factor, unless otherwise specified) | |
T * | dataGpu (bool shouldAbsorbScale=true) |
get a pointer to the actual data (after absorbing the scale factor, unless otherwise specified) | |
const T * | dataGpu (bool shouldAbsorbScale=true) const |
get a const pointer to the actual data (after absorbing the scale factor, unless otherwise specified) | |
T * | dataPref (bool shouldAbsorbScale=true) |
const T * | dataPref (bool shouldAbsorbScale=true) const |
void | zero () |
initialize to zero | |
bool | isOnGpu () const |
Check where the data is (for #ifdef simplicity exposed even when no GPU_ENABLED) | |
void | send (int dest, int tag=0) const |
send to another process | |
void | recv (int src, int tag=0) |
receive from another process | |
void | bcast (int root=0) |
synchronize across processes (using value on specified root process) | |
void | allReduce (MPIUtil::ReduceOp op, bool safeMode=false) |
apply all-to-all reduction | |
Public Attributes | |
const int | nElem |
number of elements | |
double | scale |
overall scale factor of the data array | |
const GridInfo & | gInfo |
simulation grid info | |
ManagedMemory wrapper with gridInfo and pending scale factor for ScalarField* classes.