StarNEig Library
v0.1.2
A task-based library for solving dense nonsymmetric eigenvalue problems
|
This file contains data types and functions for distributed matrices. More...
Go to the source code of this file.
Data Structures | |
struct | starneig_distr_block |
Distributed block. More... | |
Functions | |
void | starneig_broadcast (int root, size_t size, void *buffer) |
Query functions | |
void | starneig_distr_matrix_get_blocks (starneig_distr_matrix_t matrix, struct starneig_distr_block **blocks, int *num_blocks) |
Returns the locally owned distributed blocks. More... | |
starneig_distr_t | starneig_distr_matrix_get_distr (starneig_distr_matrix_t matrix) |
Returns the distribution that is associated with a distributed matrix. More... | |
starneig_datatype_t | starneig_distr_matrix_get_datatype (starneig_distr_matrix_t matrix) |
Returns the matrix element data type. More... | |
size_t | starneig_distr_matrix_get_elemsize (starneig_distr_matrix_t matrix) |
Returns the matrix element size. More... | |
int | starneig_distr_matrix_get_rows (starneig_distr_matrix_t matrix) |
Returns the number of (global) rows. More... | |
int | starneig_distr_matrix_get_cols (starneig_distr_matrix_t matrix) |
Returns the number of (global) columns. More... | |
int | starneig_distr_matrix_get_row_blksz (starneig_distr_matrix_t matrix) |
Returns the number of rows in a distribution block. More... | |
int | starneig_distr_matrix_get_col_blksz (starneig_distr_matrix_t matrix) |
Returns the number of columns in a distribution block. More... | |
Data distributions | |
enum | starneig_distr_order_t { STARNEIG_ORDER_DEFAULT, STARNEIG_ORDER_ROW_MAJOR, STARNEIG_ORDER_COL_MAJOR } |
Process mapping order. More... | |
typedef struct starneig_distr * | starneig_distr_t |
Data distribution. | |
starneig_distr_t | starneig_distr_init () |
Creates a default data distribution. More... | |
starneig_distr_t | starneig_distr_init_mesh (int rows, int cols, starneig_distr_order_t order) |
Creates a two-dimensional block cyclic data distribution. More... | |
starneig_distr_t | starneig_distr_init_func (int(*func)(int row, int col, void *arg), void *arg, size_t arg_size) |
Creates a distribution using a data distribution function. More... | |
starneig_distr_t | starneig_distr_duplicate (starneig_distr_t distr) |
Duplicates a data distribution. More... | |
void | starneig_distr_destroy (starneig_distr_t distr) |
Destroys a data distribution. More... | |
Distributed matrices | |
enum | starneig_datatype_t { STARNEIG_REAL_DOUBLE } |
Distributed matrix element data type. More... | |
typedef struct starneig_distr_matrix * | starneig_distr_matrix_t |
Distributed matrix. | |
starneig_distr_matrix_t | starneig_distr_matrix_create (int rows, int cols, int row_blksz, int col_blksz, starneig_datatype_t type, starneig_distr_t distr) |
Creates a distributed matrix with uninitialized matrix elements. More... | |
starneig_distr_matrix_t | starneig_distr_matrix_create_local (int rows, int cols, starneig_datatype_t type, int owner, double *A, int ldA) |
Creates a single-owner distributed matrix from a local matrix. More... | |
void | starneig_distr_matrix_destroy (starneig_distr_matrix_t matrix) |
Destroys a distributed matrix. More... | |
void | starneig_distr_matrix_copy (starneig_distr_matrix_t source, starneig_distr_matrix_t dest) |
Copies the contents of a distributed matrix to a second distributed matrix. More... | |
void | starneig_distr_matrix_copy_region (int sr, int sc, int dr, int dc, int rows, int cols, starneig_distr_matrix_t source, starneig_distr_matrix_t dest) |
Copies region of a distributed matrix to a second distributed matrix. More... | |
This file contains data types and functions for distributed matrices.