PaStiX Handbook  6.3.2
bvec_dcompute.c File Reference
#include "common.h"
#include <math.h>
#include "lapacke.h"
#include "bcsc/bcsc.h"
#include "bcsc_d.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_dnrm2 (isched_thread_t *ctx, void *args)
 Compute the norm 2 of a vector. (Parallel version) More...
 
static void pthread_bvec_dscal (isched_thread_t *ctx, void *args)
 Scale a vector (Parallel version) More...
 
static void pthread_bvec_daxpy (isched_thread_t *ctx, void *args)
 Compute y <- alpha * x + y (Parallel version). More...
 
static void pthread_bvec_ddot (isched_thread_t *ctx, void *args)
 Compute the scalar product x.y. (Parallel version) More...
 
static void pthread_bvec_dcopy (isched_thread_t *ctx, void *args)
 Copy a vector y = x (parallel version) More...
 
static void pthread_bvec_dgemv (isched_thread_t *ctx, void *args)
 Compute. More...
 
PastixDouble vector(s) operations
double bvec_dnrm2_seq (pastix_data_t *pastix_data, pastix_int_t n, const double *x)
 Compute the norm 2 of a vector. (Sequential version) More...
 
double bvec_dnrm2_smp (pastix_data_t *pastix_data, pastix_int_t n, const double *x)
 Compute the norm 2 of a vector. (Parallel version) More...
 
void bvec_dscal_seq (pastix_data_t *pastix_data, pastix_int_t n, double alpha, double *x)
 Scale a vector by the scalar alpha. (Sequential version) More...
 
void bvec_dscal_smp (pastix_data_t *pastix_data, pastix_int_t n, double alpha, double *x)
 Scale a vector (Parallel version) More...
 
void bvec_daxpy_seq (pastix_data_t *pastix_data, pastix_int_t n, double alpha, const double *x, double *y)
 Compute y <- alpha * x + y. (Sequential version) More...
 
void bvec_daxpy_smp (pastix_data_t *pastix_data, pastix_int_t n, double alpha, const double *x, double *y)
 Perform y = alpha * x + y (Parallel version) More...
 
double bvec_ddot_seq (pastix_data_t *pastix_data, pastix_int_t n, const double *x, const double *y)
 Compute the scalar product x.y. (Sequential version) More...
 
double bvec_ddot_smp (pastix_data_t *pastix_data, pastix_int_t n, const double *x, const double *y)
 Compute a regular scalar product x.y (Parallel version) More...
 
void bvec_dcopy_seq (pastix_data_t *pastix_data, pastix_int_t n, const double *x, double *y)
 Copy a vector y = x (Sequential version) More...
 
void bvec_dcopy_smp (pastix_data_t *pastix_data, pastix_int_t n, const double *x, double *y)
 Copy a vector y = x (parallel version) More...
 
void bvec_dgemv_seq (pastix_data_t *pastix_data, pastix_int_t m, pastix_int_t n, double alpha, const double *A, pastix_int_t lda, const double *x, double beta, double *y)
 Compute. More...
 
void bvec_dgemv_smp (pastix_data_t *pastix_data, pastix_int_t m, pastix_int_t n, double alpha, const double *A, pastix_int_t lda, const double *x, double beta, double *y)
 Compute. More...
 
PastixDouble matrix operations
void bcsc_dspsv (pastix_data_t *pastix_data, double *b, float *work)
 Solve A x = b with A the sparse matrix. More...
 
PastixDouble MPI vector operations
void bvec_dnullify_remote (const pastix_data_t *pastix_data, double *y)
 Set to 0 remote coefficients. More...
 
const double * bvec_dgather_remote (const pastix_data_t *pastix_data, const double *y)
 Gather a distributed right hand side (bvec storage) on all nodes. More...
 
void bvec_dallreduce (const pastix_data_t *pastix_data, double *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 -> d, Wed Dec 13 12:09:45 2023

Definition in file bvec_dcompute.c.