![]() |
kspaceFirstOrder3D-OMP
1.2
The C++ implementation of the k-wave toolbox for the time-domain simulation of acoustic wave fields in 3D
|
Abstract base class for index based matrices defining basic interface. Higher dimensional matrices stored as 1D arrays, row-major order. More...
#include <BaseIndexMatrix.h>


Public Member Functions | |
| BaseIndexMatrix () | |
| Default constructor. More... | |
| BaseIndexMatrix (const BaseIndexMatrix &)=delete | |
| Copy constructor is not allowed. | |
| virtual | ~BaseIndexMatrix () |
| Destructor. | |
| BaseIndexMatrix & | operator= (const BaseIndexMatrix &)=delete |
| operator= is not allowed. | |
| virtual const DimensionSizes & | getDimensionSizes () const |
| Get dimension sizes of the matrix. More... | |
| virtual size_t | size () const |
| Size of the matrix. More... | |
| virtual size_t | capacity () const |
| The capacity of the matrix (this may differ from size due to padding, etc.). More... | |
| virtual void | zeroMatrix () |
| Zero all elements of the matrix (NUMA first touch). More... | |
| virtual size_t * | getData () |
| Get raw data out of the class (for direct kernel access). More... | |
| virtual const size_t * | getData () const |
| Get raw data out of the class (for direct kernel access), const version. More... | |
Public Member Functions inherited from BaseMatrix | |
| BaseMatrix () | |
| Default constructor. | |
| BaseMatrix (const BaseMatrix &)=delete | |
| Copy constructor is not allowed. | |
| virtual | ~BaseMatrix () |
| Destructor. | |
| BaseMatrix & | operator= (const BaseMatrix &)=delete |
| Operator= is not allowed. | |
| virtual void | readData (Hdf5File &file, MatrixName &matrixName)=0 |
| Read matrix from HDF5 file. More... | |
| virtual void | writeData (Hdf5File &file, MatrixName &matrixName, const size_t compressionLevel)=0 |
| Write data into HDF5 file. More... | |
Protected Member Functions | |
| virtual void | allocateMemory () |
| Aligned memory allocation (both on CPU and GPU). More... | |
| virtual void | freeMemory () |
| Memory deallocation (both on CPU and GPU) More... | |
Protected Attributes | |
| size_t | mSize |
| Total number of elements. | |
| size_t | mCapacity |
| Total number of allocated elements (in terms of size_t). | |
| DimensionSizes | mDimensionSizes |
| Dimension sizes. | |
| size_t | mRowSize |
| Size of 1D row in X dimension. | |
| size_t | mSlabSize |
| Size of a XY slab. | |
| size_t * | mData |
| Raw matrix data. | |
Abstract base class for index based matrices defining basic interface. Higher dimensional matrices stored as 1D arrays, row-major order. The I/O is done via HDF5 files.
Definition at line 49 of file BaseIndexMatrix.h.
| BaseIndexMatrix::BaseIndexMatrix | ( | ) |
Default constructor
Definition at line 54 of file BaseIndexMatrix.cpp.
|
protectedvirtual |
| std::bad_alloc | - If there's not enough memory. |
Memory allocation based on the capacity and aligned based on kDataAlignment.
Definition at line 86 of file BaseIndexMatrix.cpp.
|
inlinevirtual |
Implements BaseMatrix.
Definition at line 77 of file BaseIndexMatrix.h.
|
protectedvirtual |
Free memory.
Definition at line 105 of file BaseIndexMatrix.cpp.
|
inlinevirtual |
Definition at line 86 of file BaseIndexMatrix.h.
|
inlinevirtual |
Definition at line 92 of file BaseIndexMatrix.h.
|
inlinevirtual |
Implements BaseMatrix.
Definition at line 66 of file BaseIndexMatrix.h.
|
inlinevirtual |
|
virtual |
Zero all allocated elements.
Definition at line 68 of file BaseIndexMatrix.cpp.