27 #include "sopalin/sopalin_data.h"
57 fprintf(stdout, OUT_ITERREFINE_ITER, (
int)nb_iters);
58 fprintf(stdout, OUT_ITERREFINE_TTT, stt);
59 fprintf(stdout, OUT_ITERREFINE_ERR, err);
140 solver->dot = &bvec_cdotc_seq;
148 solver->dot = &bvec_cdotc_smp;
BEGIN_C_DECLS typedef int pastix_int_t
float _Complex pastix_complex32_t
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.
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)
void bvec_free(void *x)
Free a vector.
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)
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)
void * bvec_malloc(size_t size)
Allocate a vector.
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)
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)
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.
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.
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.
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)
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)
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)
enum pastix_scheduler_e pastix_scheduler_t
Scheduler.
void c_refine_init(struct c_solver *, pastix_data_t *)
Initiate functions pointers to define basic operations.
void c_refine_output_oneiter(pastix_fixdbl_t t0, pastix_fixdbl_t tf, float err, pastix_int_t nb_iters)
Print statistics about one iteration.
void c_refine_output_final(pastix_data_t *pastix_data, pastix_complex32_t err, pastix_int_t nb_iters, pastix_fixdbl_t tf, void *x, pastix_complex32_t *gmresx)
Final output.
Main PaStiX data structure.