PaStiX Handbook  6.3.2
bvec_ccompute.c File Reference
#include "common.h"
#include <math.h>
#include "lapacke.h"
#include "bcsc/bcsc.h"
#include "bcsc_c.h"
#include "order/order_internal.h"
#include "frobeniusupdate.h"
#include "cblas.h"
#include "blend/solver.h"

Go to the source code of this file.

Functions

static void pthread_bvec_cnrm2 (isched_thread_t *ctx, void *args)
 Compute the norm 2 of a vector. (Parallel version) More...
 
static void pthread_bvec_cscal (isched_thread_t *ctx, void *args)
 Scale a vector (Parallel version) More...
 
static void pthread_bvec_caxpy (isched_thread_t *ctx, void *args)
 Compute y <- alpha * x + y (Parallel version). More...
 
static void pthread_bvec_cdotu (isched_thread_t *ctx, void *args)
 Compute the scalar product x.y. (Parallel version) More...
 
static void pthread_bvec_ccopy (isched_thread_t *ctx, void *args)
 Copy a vector y = x (parallel version) More...
 
static void pthread_bvec_cgemv (isched_thread_t *ctx, void *args)
 Compute. More...
 
PastixComplex32 vector(s) operations
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...
 
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...
 
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_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...
 
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...
 
PastixComplex32 matrix operations
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...
 
PastixComplex32 MPI vector operations
void bvec_cnullify_remote (const pastix_data_t *pastix_data, pastix_complex32_t *y)
 Set to 0 remote coefficients. More...
 
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_callreduce (const pastix_data_t *pastix_data, pastix_complex32_t *y)
 Apply an all reduce of the vector on all nodes. More...
 

Detailed Description

Functions computing operations on the BCSC.

Version
6.3.2
Author
Mathieu Faverge
Pierre Ramet
Xavier Lacoste
Gregoire Pichon
Theophile Terraz
Tony Delarue
Vincent Bridonneau
Date
2023-07-21
Generated arithmetic file
from /builds/solverstack/pastix/bcsc/bvec_zcompute.c, normal z -> c, Wed Dec 13 12:09:45 2023

Definition in file bvec_ccompute.c.