34 #include <immintrin.h> 56 mSize(0), mCapacity(0),
58 mRowSize(0), mSlabSize(0),
70 #pragma omp parallel for simd schedule(static) 89 assert(
mData ==
nullptr);
95 throw std::bad_alloc();
BaseIndexMatrix()
Default constructor.
virtual void zeroMatrix()
Zero all elements of the matrix (NUMA first touch).
size_t * mData
Raw matrix data.
constexpr int kDataAlignment
memory alignment for SSE, SSE2, SSE3, SSE4 (16B)
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).
The header file containing the structure with 3D dimension sizes.
size_t mCapacity
Total number of allocated elements (in terms of size_t).
The header file containing the base class for index matrices (based on the size_t datatype)...
virtual void freeMemory()
Memory deallocation (both on CPU and GPU)