STORMM Source Documentation
|
An object to hold temporary data for a particular work unit (whether bonded or non-bonded), resident in GMEM but private to a particular thread block. This object must be allocated in such a way as to be ready to hold the private workspaces of any thread blocks that will make use of it. The object is arranged to support operations based on PhaseSpaceSynthesis respresentations of systems' coordinates and forces. More...
#include <cacheresource.h>
Public Member Functions | |
CacheResourceKit< double > | dpData (HybridTargetLevel tier=HybridTargetLevel::HOST) |
Get a set of pointers to this object with double-precision representations for the charges. | |
CacheResourceKit< float > | spData (HybridTargetLevel tier=HybridTargetLevel::HOST) |
Get a set of pointers to this object with single-precision representations for the charges. | |
CacheResource (int block_limit_in, int atom_limit_in) | |
The constructor does not take a GPU description, but instead maximum numbers of blocks and atoms per block that might be required, allocating space as appropriate. | |
CacheResource (int block_limit_in, int2 atom_limits_in) | |
CacheResource (const CacheResource &original) | |
Basic copy and move constructors. | |
CacheResource (CacheResource &&original) | |
CacheResource & | operator= (const CacheResource &other) |
Basic copy and move assignment operators. | |
CacheResource & | operator= (CacheResource &&other) |
An object to hold temporary data for a particular work unit (whether bonded or non-bonded), resident in GMEM but private to a particular thread block. This object must be allocated in such a way as to be ready to hold the private workspaces of any thread blocks that will make use of it. The object is arranged to support operations based on PhaseSpaceSynthesis respresentations of systems' coordinates and forces.
stormm::energy::CacheResource::CacheResource | ( | int | block_limit_in, |
int | atom_limit_in ) |
The constructor does not take a GPU description, but instead maximum numbers of blocks and atoms per block that might be required, allocating space as appropriate.
Overloaded:
block_limit_in | The maximum number of thread blocks that will need resources |
atom_limit_in | The maximum number of atoms per block requiring local copies |
atom_limits_in | Maximum numbers of atoms per block requiring local copies, for work units containing organic molecules in the "x" member of the tuple and work units assumed to contain only water in the "y" member |
stormm::energy::CacheResource::CacheResource | ( | const CacheResource & | original | ) |
Basic copy and move constructors.
original | The object to copy |
CacheResource & stormm::energy::CacheResource::operator= | ( | const CacheResource & | other | ) |
Basic copy and move assignment operators.
other | The object to assign against |