40 #ifndef STARNEIG_BLACS_MATRIX_H 41 #define STARNEIG_BLACS_MATRIX_H 49 #ifndef STARNEIG_ENABLE_MPI 50 #error "This header should be included only when STARNEIG_ENABLE_MPI is defined." 53 #ifndef STARNEIG_ENABLE_BLACS 54 #error "This header should be included only when STARNEIG_ENABLE_BLACS is defined." 100 starneig_blacs_context_t context);
192 starneig_blacs_context_t
context,
205 starneig_blacs_context_t
context,
346 #endif // STARNEIG_BLACS_MATRIX_H int m
The number of (global) rows in the matrix.
Definition: blacs_matrix.h:146
int starneig_distr_is_blacs_compatible(starneig_distr_t distr)
Checks whether a data distribution is BLACS compatible.
struct starneig_blacs_descr starneig_blacs_descr_t
BLACS descriptor.
starneig_distr_t starneig_blacs_context_to_distr(starneig_blacs_context_t context)
Convers a BLACS context to a data distribution.
int type
The descriptor type.
Definition: blacs_matrix.h:142
BLACS descriptor.
Definition: blacs_matrix.h:140
void starneig_blacs_create_matrix(int rows, int cols, int row_blksz, int col_blksz, starneig_datatype_t type, starneig_blacs_context_t context, starneig_blacs_descr_t *descr, void **local)
Creates a BLACS matrix with uninitialized matrix elements.
int n
The number of (global) columns in the matrix.
Definition: blacs_matrix.h:148
void starneig_blacs_destroy_matrix(starneig_blacs_descr_t *descr, void **local)
Destroyes a BLACS matrix.
int lld
The leading dimension of the local array.
Definition: blacs_matrix.h:158
This file contains StarNEig library configuration.
starneig_blacs_context_t starneig_distr_to_blacs_context(starneig_distr_t distr)
Convers a data distribution to a BLACS context.
int starneig_distr_matrix_is_compatible_with(starneig_distr_matrix_t matrix, starneig_blacs_context_t context)
Checks whether a distributed matrix is compatible with a given BLACS context.
int sn
The number of columns in a distribution block.
Definition: blacs_matrix.h:152
int starneig_blacs_context_t
BLACS context.
Definition: blacs_matrix.h:75
int starneig_distr_is_compatible_with(starneig_distr_t distr, starneig_blacs_context_t context)
Checks whether a data distribution is compatible with a given BLACS context.
struct starneig_distr_matrix * starneig_distr_matrix_t
Distributed matrix.
Definition: distr_matrix.h:189
void starneig_destroy_blacs_matrix(starneig_blacs_descr_t *descr, void **local)
Destroyes a BLACS matrix. Deprecated.
void starneig_create_blacs_matrix(int rows, int cols, int row_blksz, int col_blksz, starneig_datatype_t type, starneig_blacs_context_t context, starneig_blacs_descr_t *descr, void **local)
Creates a BLACS matrix with uninitialized matrix elements. Deprecated.
void starneig_distr_matrix_to_blacs_descr(starneig_distr_matrix_t matrix, starneig_blacs_context_t context, starneig_blacs_descr_t *descr, void **local)
Convers a distributed matrix to a BLACS descriptor and a matching local array.
int csrc
The process grid column over which the first column is distributed.
Definition: blacs_matrix.h:156
int sm
The number of rows in a distribution block.
Definition: blacs_matrix.h:150
int rsrc
The process grid row over which the first row is distributed.
Definition: blacs_matrix.h:154
starneig_distr_matrix_t starneig_blacs_descr_to_distr_matrix(starneig_datatype_t type, starneig_distr_t distr, starneig_blacs_descr_t *descr, void *local)
Convers a BLACS descriptor and a matching local array to a distributed matrix.
starneig_datatype_t
Distributed matrix element data type.
Definition: distr_matrix.h:194
struct starneig_distr * starneig_distr_t
Data distribution.
Definition: distr_matrix.h:73
This file contains data types and functions for distributed matrices.
starneig_blacs_context_t context
The related BLACS context.
Definition: blacs_matrix.h:144
int starneig_distr_matrix_is_blacs_compatible(starneig_distr_matrix_t matrix)
Checks whether a distributed matrix is BLACS compatible.