| 
    StarNEig User's Guide
    master branch
    
   A task-based library for solving dense nonsymmetric eigenvalue problems 
   | 
 
 
 
 
Go to the documentation of this file.
   40 #ifndef STARNEIG_DISTR_MATRIX_H 
   41 #define STARNEIG_DISTR_MATRIX_H 
   49 #ifndef STARNEIG_ENABLE_MPI 
   50 #error "This header should be included only when STARNEIG_ENABLE_MPI is defined." 
   68 struct starneig_distr;
 
  155     int (*func)(
int row, 
int col, 
void *arg), 
void *arg, 
size_t arg_size);
 
  184 struct starneig_distr_matrix;
 
  349     int sr, 
int sc, 
int dr, 
int dc, 
int rows, 
int cols,
 
  469 #endif // STARNEIG_DISTR_MATRIX_H 
  
 
@ STARNEIG_ORDER_ROW_MAJOR
Row-major natural ordering.
Definition: distr_matrix.h:80
 
int starneig_distr_matrix_get_col_blksz(starneig_distr_matrix_t matrix)
Returns the number of columns in a distribution block.
 
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.
 
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.
 
starneig_distr_t starneig_distr_init()
Creates a default data distribution.
 
int glo_col
The leftmost global column that belong to the block.
Definition: distr_matrix.h:205
 
starneig_distr_t starneig_distr_init_mesh(int rows, int cols, starneig_distr_order_t order)
Creates a two-dimensional block cyclic data distribution.
 
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.
 
void starneig_distr_matrix_destroy(starneig_distr_matrix_t matrix)
Destroys a distributed matrix.
 
void starneig_distr_destroy(starneig_distr_t distr)
Destroys a data distribution.
 
void * ptr
A pointer to the local array.
Definition: distr_matrix.h:207
 
@ STARNEIG_ORDER_COL_MAJOR
Column-major natural ordering.
Definition: distr_matrix.h:81
 
int row_blksz
The number of rows in the block.
Definition: distr_matrix.h:202
 
starneig_datatype_t starneig_distr_matrix_get_datatype(starneig_distr_matrix_t matrix)
Returns the matrix element data type.
 
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.
 
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.
 
starneig_distr_order_t
Process mapping order.
Definition: distr_matrix.h:78
 
size_t starneig_distr_matrix_get_elemsize(starneig_distr_matrix_t matrix)
Returns the matrix element size.
 
int starneig_distr_matrix_get_cols(starneig_distr_matrix_t matrix)
Returns the number of (global) columns.
 
int glo_row
The topmost global row that belong to the block.
Definition: distr_matrix.h:204
 
int ld
The leading dimension of the local array.
Definition: distr_matrix.h:206
 
struct starneig_distr_matrix * starneig_distr_matrix_t
Distributed matrix.
Definition: distr_matrix.h:189
 
@ STARNEIG_REAL_DOUBLE
Double precision real numbers.
Definition: distr_matrix.h:195
 
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.
 
This file contains StarNEig library configuration.
 
Distributed block.
Definition: distr_matrix.h:201
 
@ STARNEIG_ORDER_DEFAULT
Default ordering.
Definition: distr_matrix.h:79
 
starneig_datatype_t
Distributed matrix element data type.
Definition: distr_matrix.h:194
 
starneig_distr_t starneig_distr_matrix_get_distr(starneig_distr_matrix_t matrix)
Returns the distribution that is associated with a distributed matrix.
 
starneig_distr_t starneig_distr_duplicate(starneig_distr_t distr)
Duplicates a data distribution.
 
int starneig_distr_matrix_get_row_blksz(starneig_distr_matrix_t matrix)
Returns the number of rows in a distribution block.
 
struct starneig_distr * starneig_distr_t
Data distribution.
Definition: distr_matrix.h:73
 
int col_blksz
The number of columns in the block.
Definition: distr_matrix.h:203
 
int starneig_distr_matrix_get_rows(starneig_distr_matrix_t matrix)
Returns the number of (global) rows.