|
| dmatrix (int num_rows__, int num_cols__, BLACS_grid const &blacs_grid__, int bs_row__, int bs_col__, sddk::memory_t mem_type__=sddk::memory_t::host) |
|
| dmatrix (int num_rows__, int num_cols__, sddk::memory_t mem_type__=sddk::memory_t::host) |
|
| dmatrix (int num_rows__, int num_cols__, sddk::memory_pool &mp__, std::string const &label__="") |
|
| dmatrix (T *ptr__, int num_rows__, int num_cols__, BLACS_grid const &blacs_grid__, int bs_row__, int bs_col__) |
|
| dmatrix (int num_rows__, int num_cols__, BLACS_grid const &blacs_grid__, int bs_row__, int bs_col__, sddk::memory_pool &mp__) |
|
| dmatrix (T *ptr__, int num_rows__, int num_cols__) |
|
| dmatrix (dmatrix< T > &&src)=default |
|
dmatrix< T > & | operator= (dmatrix< T > &&src)=default |
|
int | size () const |
| Return size of the square matrix or -1 in case of rectangular matrix. More...
|
|
int | size_local () const |
|
int | num_rows () const |
| Return number of rows in the global matrix. More...
|
|
int | num_rows_local () const |
| Return local number of rows for this MPI rank. More...
|
|
int | num_rows_local (int rank) const |
| Return local number of rows for a given MPI rank. More...
|
|
int | irow (int irow_loc) const |
| Return global row index in the range [0, num_rows) by the local index in the range [0, num_rows_local). More...
|
|
int | num_cols () const |
|
int | num_cols_local () const |
| Local number of columns. More...
|
|
int | num_cols_local (int rank) const |
|
int | icol (int icol_loc) const |
| Inindex of column in global matrix. More...
|
|
int const * | descriptor () const |
|
spla::MatrixDistribution & | spla_distribution () |
|
void | copy_to (sddk::memory_t mem__, int ir0__, int ic0__, int nr__, int nc__) |
|
void | set (int ir0__, int jc0__, int mr__, int nc__, T *ptr__, int ld__) |
|
void | set (const int irow_glob, const int icol_glob, T val) |
|
void | add (const int irow_glob, const int icol_glob, T val) |
|
void | add (real_type< T > beta__, const int irow_glob, const int icol_glob, T val) |
|
void | make_real_diag (int n__) |
|
sddk::mdarray< T, 1 > | get_diag (int n__) |
|
auto const & | spl_col () const |
|
auto const & | spl_row () const |
|
int | rank_row () const |
|
int | num_ranks_row () const |
|
int | rank_col () const |
|
int | num_ranks_col () const |
|
int | bs_row () const |
| Row blocking factor. More...
|
|
int | bs_col () const |
| Column blocking factor. More...
|
|
auto const & | blacs_grid () const |
|
void | save_to_hdf5 (std::string name__, int m__, int n__) |
|
auto | get_full_matrix () const |
|
nlohmann::json | serialize_to_json (int m__, int n__) const |
|
std::stringstream | serialize (std::string name__, int m__, int n__) const |
|
T | checksum (int m__, int n__) const |
|
auto const & | comm () const |
|
costa::grid_layout< T > & | grid_layout () |
|
costa::grid_layout< T > | grid_layout (int irow0__, int jcol0__, int mrow__, int ncol__) |
|
| mdarray () |
| Default constructor. More...
|
|
| mdarray (std::array< mdarray_index_descriptor, N > const dims__, memory_t memory__=memory_t::host, std::string label__="") |
| N-dimensional array with index bounds. More...
|
|
| mdarray (mdarray_index_descriptor const &d0, memory_t memory__=memory_t::host, std::string label__="") |
| 1D array with memory allocation. More...
|
|
| mdarray (mdarray_index_descriptor const &d0, memory_pool &mp__, std::string label__="") |
| 1D array with memory pool allocation. More...
|
|
| mdarray (T *ptr__, mdarray_index_descriptor const &d0, std::string label__="") |
| 1D array with host pointer wrapper. More...
|
|
| mdarray (T *ptr__, T *ptr_device__, mdarray_index_descriptor const &d0, std::string label__="") |
| 1D array with host and device pointer wrapper. More...
|
|
| mdarray (mdarray_index_descriptor const &d0, mdarray_index_descriptor const &d1, memory_t memory__=memory_t::host, std::string label__="") |
| 2D array with memory allocation. More...
|
|
| mdarray (mdarray_index_descriptor const &d0, mdarray_index_descriptor const &d1, mdarray_index_descriptor const &d2, memory_t memory__=memory_t::host, std::string label__="") |
| 3D array with memory allocation. More...
|
|
| mdarray (mdarray_index_descriptor const &d0, mdarray_index_descriptor const &d1, mdarray_index_descriptor const &d2, mdarray_index_descriptor const &d3, memory_t memory__=memory_t::host, std::string label__="") |
| 4D array with memory allocation. More...
|
|
| mdarray (mdarray_index_descriptor const &d0, mdarray_index_descriptor const &d1, mdarray_index_descriptor const &d2, mdarray_index_descriptor const &d3, mdarray_index_descriptor const &d4, memory_t memory__=memory_t::host, std::string label__="") |
| 5D array with memory allocation. More...
|
|
| mdarray (mdarray_index_descriptor const &d0, mdarray_index_descriptor const &d1, mdarray_index_descriptor const &d2, mdarray_index_descriptor const &d3, mdarray_index_descriptor const &d4, mdarray_index_descriptor const &d5, memory_t memory__=memory_t::host, std::string label__="") |
| 6D array with memory allocation. More...
|
|
| mdarray (T *ptr__, mdarray_index_descriptor const &d0, mdarray_index_descriptor const &d1, std::string label__="") |
| Wrap a pointer into 2D array. More...
|
|
| mdarray (T *ptr__, T *ptr_device__, mdarray_index_descriptor const &d0, mdarray_index_descriptor const &d1, std::string label__="") |
|
| mdarray (mdarray_index_descriptor const &d0, mdarray_index_descriptor const &d1, memory_pool &mp__, std::string label__="") |
| 2D array with memory pool allocation. More...
|
|
| mdarray (T *ptr__, mdarray_index_descriptor const &d0, mdarray_index_descriptor const &d1, mdarray_index_descriptor const &d2, std::string label__="") |
|
| mdarray (T *ptr__, T *ptr_device__, mdarray_index_descriptor const &d0, mdarray_index_descriptor const &d1, mdarray_index_descriptor const &d2, std::string label__="") |
|
| mdarray (mdarray_index_descriptor const &d0, mdarray_index_descriptor const &d1, mdarray_index_descriptor const &d2, memory_pool &mp__, std::string label__="") |
| 3D array with memory pool allocation. More...
|
|
| mdarray (T *ptr__, mdarray_index_descriptor const &d0, mdarray_index_descriptor const &d1, mdarray_index_descriptor const &d2, mdarray_index_descriptor const &d3, std::string label__="") |
|
| mdarray (T *ptr__, mdarray_index_descriptor const &d0, mdarray_index_descriptor const &d1, mdarray_index_descriptor const &d2, mdarray_index_descriptor const &d3, mdarray_index_descriptor const &d4, std::string label__="") |
|
| mdarray (T *ptr__, mdarray_index_descriptor const &d0, mdarray_index_descriptor const &d1, mdarray_index_descriptor const &d2, mdarray_index_descriptor const &d3, mdarray_index_descriptor const &d4, mdarray_index_descriptor const &d5, std::string label__="") |
|
| mdarray (mdarray< T, N > &&src) |
| Move constructor. More...
|
|
mdarray< T, N > & | operator= (mdarray< T, N > &&src) |
| Move assignment operator. More...
|
|
mdarray< T, N > & | operator= (std::function< T(void)> f__) |
|
mdarray< T, N > & | operator= (std::function< T(index_type)> f__) |
|
mdarray< T, N > & | operator= (std::function< T(index_type, index_type)> f__) |
|
| ~mdarray () |
| Destructor. More...
|
|
mdarray< T, N > & | allocate (memory_t memory__) |
| Allocate memory for array. More...
|
|
mdarray< T, N > & | allocate (memory_pool &mp__) |
| Allocate memory from the pool. More...
|
|
void | deallocate (memory_t memory__) |
| Deallocate host or device memory. More...
|
|
T const & | operator() (Args... args) const |
| Access operator() for the elements of multidimensional array. More...
|
|
T & | operator() (Args... args) |
| Access operator() for the elements of multidimensional array. More...
|
|
T const & | operator[] (size_t const idx__) const |
| Access operator[] for the elements of multidimensional array using a linear index in the range [0, size). More...
|
|
T & | operator[] (size_t const idx__) |
| Access operator[] for the elements of multidimensional array using a linear index in the range [0, size). More...
|
|
T const * | at (memory_t mem__, Args... args) const |
|
T * | at (memory_t mem__, Args... args) |
|
T const * | at (memory_t mem__) const |
| Return pointer to the beginning of array. More...
|
|
T * | at (memory_t mem__) |
| Return pointer to the beginning of array. More...
|
|
T * | host_data () |
|
const T * | host_data () const |
|
T * | device_data () |
|
const T * | device_data () const |
|
size_t | size () const |
| Return total size (number of elements) of the array. More...
|
|
size_t | size (int i) const |
| Return size of particular dimension. More...
|
|
mdarray_index_descriptor | dim (int i) const |
| Return a descriptor of a dimension. More...
|
|
uint32_t | ld () const |
| Return leading dimension size. More...
|
|
uint64_t | hash (uint64_t h__=5381) const |
| Compute hash of the array. More...
|
|
T | checksum_w (size_t idx0__, size_t size__) const |
| Compute weighted checksum. More...
|
|
T | checksum (size_t idx0__, size_t size__) const |
| Compute checksum. More...
|
|
T | checksum () const |
|
T * | begin () |
|
T const * | begin () const |
|
T * | end () |
|
T const * | end () const |
|
void | zero (memory_t mem__, size_t idx0__, size_t n__) |
| Zero n elements starting from idx0. More...
|
|
void | zero (memory_t mem__=memory_t::host) |
| Zero the entire array. More...
|
|
void | copy_to (memory_t mem__, size_t idx0__, size_t n__, acc::stream_id sid=acc::stream_id(-1)) |
| Copy n elements starting from idx0 from one memory type to another. More...
|
|
void | copy_to (memory_t mem__, acc::stream_id sid=acc::stream_id(-1)) |
| Copy entire array from one memory type to another. More...
|
|
bool | on_device () const |
| Check if device pointer is available. More...
|
|
auto | label () const |
|
bool | on_host () const |
|
template<typename T>
class sirius::la::dmatrix< T >
Distributed matrix.
Definition at line 55 of file dmatrix.hpp.