PaStiX Handbook  6.3.2
bcsc_c.h File Reference

Go to the source code of this file.

Functions

PastixComplex32 initialization functions
void bcsc_cinit (const spmatrix_t *spm, const pastix_order_t *ord, const SolverMatrix *solvmtx, int initAt, pastix_bcsc_t *bcsc, pastix_int_t valuesize)
 Initializes a centralize pastix_complex32_t block csc. More...
 
PastixComplex32 vector(s) operations
void bvec_caxpy_seq (pastix_data_t *pastix_data, pastix_int_t n, pastix_complex32_t alpha, const pastix_complex32_t *x, pastix_complex32_t *y)
 Compute y <- alpha * x + y. (Sequential version) More...
 
void bvec_caxpy_smp (pastix_data_t *pastix_data, pastix_int_t n, pastix_complex32_t alpha, const pastix_complex32_t *x, pastix_complex32_t *y)
 Perform y = alpha * x + y (Parallel version) More...
 
void bvec_ccopy_seq (pastix_data_t *pastix_data, pastix_int_t n, const pastix_complex32_t *x, pastix_complex32_t *y)
 Copy a vector y = x (Sequential version) More...
 
void bvec_ccopy_smp (pastix_data_t *pastix_data, pastix_int_t n, const pastix_complex32_t *x, pastix_complex32_t *y)
 Copy a vector y = x (parallel version) More...
 
pastix_complex32_t bvec_cdotu_seq (pastix_data_t *pastix_data, pastix_int_t n, const pastix_complex32_t *x, const pastix_complex32_t *y)
 Compute the scalar product x.y. (Sequential version) More...
 
pastix_complex32_t bvec_cdotu_smp (pastix_data_t *pastix_data, pastix_int_t n, const pastix_complex32_t *x, const pastix_complex32_t *y)
 Compute a regular scalar product x.y (Parallel version) More...
 
void bvec_cgemv_seq (pastix_data_t *pastix_data, pastix_int_t m, pastix_int_t n, pastix_complex32_t alpha, const pastix_complex32_t *A, pastix_int_t lda, const pastix_complex32_t *x, pastix_complex32_t beta, pastix_complex32_t *y)
 Compute. More...
 
void bvec_cgemv_smp (pastix_data_t *pastix_data, pastix_int_t m, pastix_int_t n, pastix_complex32_t alpha, const pastix_complex32_t *A, pastix_int_t lda, const pastix_complex32_t *x, pastix_complex32_t beta, pastix_complex32_t *y)
 Compute. More...
 
float bvec_cnrm2_seq (pastix_data_t *pastix_data, pastix_int_t n, const pastix_complex32_t *x)
 Compute the norm 2 of a vector. (Sequential version) More...
 
float bvec_cnrm2_smp (pastix_data_t *pastix_data, pastix_int_t n, const pastix_complex32_t *x)
 Compute the norm 2 of a vector. (Parallel version) More...
 
void bvec_cscal_seq (pastix_data_t *pastix_data, pastix_int_t n, pastix_complex32_t alpha, pastix_complex32_t *x)
 Scale a vector by the scalar alpha. (Sequential version) More...
 
void bvec_cscal_smp (pastix_data_t *pastix_data, pastix_int_t n, pastix_complex32_t alpha, pastix_complex32_t *x)
 Scale a vector (Parallel version) More...
 
int bvec_clapmr (pastix_data_t *pastix_data, pastix_dir_t dir, pastix_int_t m, pastix_int_t n, pastix_complex32_t *A, pastix_int_t lda, pastix_rhs_t PA)
 Apply a row permutation to a right hand side A (LAPACK xlatmr) More...
 
PastixComplex32 matrix operations
float bcsc_cnorm (pastix_normtype_t ntype, const pastix_bcsc_t *bcsc)
 Compute the norm of an bcsc matrix. More...
 
void bcsc_cspsv (pastix_data_t *pastix_data, pastix_complex32_t *b, pastix_complex32_t *work)
 Solve A x = b with A the sparse matrix. More...
 
void bcsc_cspmv (const pastix_data_t *pastix_data, pastix_trans_t trans, pastix_complex32_t alpha, const pastix_complex32_t *x, pastix_complex32_t beta, pastix_complex32_t *y)
 Compute the matrix-vector product y = alpha * op(A) * x + beta * y. More...
 
void bcsc_cspmv_seq (const pastix_data_t *pastix_data, pastix_trans_t trans, pastix_complex32_t alpha, const pastix_complex32_t *x, pastix_complex32_t beta, pastix_complex32_t *y)
 Compute the matrix-vector product y = alpha * A * x + beta * y (Sequential version) More...
 
void bcsc_cspmv_smp (const pastix_data_t *pastix_data, pastix_trans_t trans, pastix_complex32_t alpha, const pastix_complex32_t *x, pastix_complex32_t beta, pastix_complex32_t *y)
 Perform y = alpha A x + beta y (Parallel version) More...
 
PastixComplex32 MPI vector operations
const pastix_complex32_tbvec_cgather_remote (const pastix_data_t *pastix_data, const pastix_complex32_t *y)
 Gather a distributed right hand side (bvec storage) on all nodes. More...
 
void bvec_cnullify_remote (const pastix_data_t *pastix_data, pastix_complex32_t *y)
 Set to 0 remote coefficients. More...
 
void bvec_callreduce (const pastix_data_t *pastix_data, pastix_complex32_t *y)
 Apply an all reduce of the vector on all nodes. More...
 

Detailed Description

Version
6.3.2
Author
Mathieu Faverge
Pierre Ramet
Xavier Lacoste
Vincent Bridonneau
Date
2023-07-21
Generated arithmetic file
from /builds/solverstack/pastix/bcsc/bcsc_z.h, normal z -> c, Wed Dec 13 12:09:04 2023

Definition in file bcsc_c.h.