34 #ifndef BASE_INDEX_MATRIX_H 35 #define BASE_INDEX_MATRIX_H size_t mRowSize
Size of 1D row in X dimension.
size_t mSize
Total number of elements.
BaseIndexMatrix()
Default constructor.
virtual void zeroMatrix()
Zero all elements of the matrix (NUMA first touch).
size_t * mData
Raw matrix data.
BaseIndexMatrix & operator=(const BaseIndexMatrix &)=delete
operator= is not allowed.
virtual size_t * getData()
Get raw data out of the class (for direct kernel access).
virtual ~BaseIndexMatrix()
Destructor.
virtual size_t size() const
Size of the matrix.
Abstract base class. The common ancestor defining the common interface and allowing derived classes t...
virtual void allocateMemory()
Aligned memory allocation (both on CPU and GPU).
virtual const DimensionSizes & getDimensionSizes() const
Get dimension sizes of the matrix.
virtual size_t capacity() const
The capacity of the matrix (this may differ from size due to padding, etc.).
Structure with 4D dimension sizes (3 in space and 1 in time).
virtual const size_t * getData() const
Get raw data out of the class (for direct kernel access), const version.
The header file containing the structure with 3D dimension sizes.
size_t mCapacity
Total number of allocated elements (in terms of size_t).
size_t mSlabSize
Size of a XY slab.
DimensionSizes mDimensionSizes
Dimension sizes.
Abstract base class for index based matrices defining basic interface. Higher dimensional matrices st...
The header file of the common ancestor of all matrix classes. A pure abstract class.
virtual void freeMemory()
Memory deallocation (both on CPU and GPU)