PaStiX Handbook  6.3.2
bcsc.h File Reference

Go to the source code of this file.

Data Structures

struct  bcsc_data_amount_s
 Information about the amount of data. More...
 
struct  bcsc_exch_comm_s
 Information about the sending data. More...
 
struct  bcsc_proc_comm_s
 Informations of the data exchanged with other processors. More...
 
struct  bcsc_handle_comm_s
 Structure to manage communications with distributed spm. More...
 
struct  bcsc_cblk_s
 Compressed colptr format for the bcsc. More...
 
struct  pastix_bcsc_s
 Internal column block distributed CSC matrix. More...
 

Typedefs

typedef enum bcsc_tag_ bcsc_tag_e
 Tags used in MPI communications.
 
typedef struct bcsc_data_amount_s bcsc_data_amount_t
 Information about the amount of data.
 
typedef struct bcsc_exch_comm_s bcsc_exch_comm_t
 Information about the sending data.
 
typedef struct bcsc_proc_comm_s bcsc_proc_comm_t
 Informations of the data exchanged with other processors.
 
typedef struct bcsc_handle_comm_s bcsc_handle_comm_t
 Structure to manage communications with distributed spm.
 
typedef struct bcsc_cblk_s bcsc_cblk_t
 Compressed colptr format for the bcsc.
 

Enumerations

enum  bcsc_tag_ {
  PastixTagCountA , PastixTagCountAt , PastixTagCountAAt , PastixTagIndexesA ,
  PastixTagIndexesAt , PastixTagIndexesAAt , PastixTagValuesA , PastixTagValuesAt ,
  PastixTagValuesAAt , PastixTagMemSendIdx , PastixTagMemRecvIdx , PastixTagMemSend ,
  PastixTagMemRecvAAt , PastixTagMemSendValA , PastixTagMemSendValAt , PastixTagMemSendValAAt ,
  PastixTagMemRecvIdxA , PastixTagMemRecvIdxAt , PastixTagMemRecvIdxAAt , PastixTagMemRecvValAAt
}
 Tags used in MPI communications.
 

Functions

double bcscInit (const spmatrix_t *spm, const pastix_order_t *ord, const SolverMatrix *solvmtx, pastix_int_t initAt, pastix_bcsc_t *bcsc)
 Initializes the block csc matrix. More...
 
void bcscExit (pastix_bcsc_t *bcsc)
 Frees the block csc structure but do not free the bcsc pointer. More...
 
void bcsc_init_struct (const spmatrix_t *spm, const SolverMatrix *solvmtx, pastix_bcsc_t *bcsc)
 Initializes a block csc. More...
 
void bcsc_exit_struct (pastix_bcsc_t *bcsc)
 Cleanup the bcsc struct. (symmetric of bcsc_init_struct) More...
 
pastix_int_t bcsc_init_coltab (const spmatrix_t *spm, const pastix_order_t *ord, const SolverMatrix *solvmtx, pastix_bcsc_t *bcsc)
 Initializes the coltab of a block csc matrix. The coltab corresponds to the number of rows (expended) per column (non expended). If the matrix is distributed in the memory, this function also calls the routines which exchange the amount of data for the communication, store the indexes and values to send and exchange the indexes. More...
 
void bcsc_restore_coltab (pastix_bcsc_t *bcsc)
 Restores the coltab array when it has been modified to initialize the row and values arrays. More...
 
pastix_int_tbcsc_init_col2cblk_shm (const SolverMatrix *solvmtx, const pastix_bcsc_t *bcsc)
 Creates the array which represents the repartition of each column in the block structure. The array size is spm->gNexp where: More...
 
pastix_int_tbcsc_init_col2cblk (const SolverMatrix *solvmtx, const pastix_bcsc_t *bcsc, const spmatrix_t *spm)
 Creates the array which represents the repartition of each column in the block structure. This routine calls bcsc_init_col2cblk_shm or bcsc_init_col2cblk_dst according to the way the matrix is stored in the memory. More...
 
void bcsc_handle_comm_init (const SolverMatrix *solvmtx, pastix_bcsc_t *bcsc)
 Initializes the bcsc_handle_comm_t structure. More...
 
void bcsc_handle_comm_exit (bcsc_handle_comm_t *bcsc_comm)
 Frees the bcsc_handle_comm pointers. More...
 

Detailed Description

Version
6.3.2
Author
Mathieu Faverge
Pierre Ramet
Xavier Lacoste
Alycia Lisito
Date
2023-07-21

Definition in file bcsc.h.