Functions declarations

Summary
Functions declarations
API_CALL(pivot_thread)
API_CALL(gmres_thread)
API_CALL(grad_thread)
Global
Threads routines
API_CALL(pivotstatique_smp)Refine the solution.
API_CALL(gmres_smp)Function computing GMRES iterative reffinement.
API_CALL(grad_smp)Refine the solution using conjugate gradian method.
Global
Function creating threads
API_CALL(pivot_thread)Launch sopaparam->nbthrdcomm threads which will compute API_CALL(pivotstatique_smp).
API_CALL(gmres_thread)Launch sopaparam->nbthrdcomm threads which will compute API_CALL(gmres_smp).
API_CALL(grad_thread)Launch sopaparam->nbthrdcomm threads which will compute API_CALL(grad_smp).

API_CALL(pivot_thread)

void API_CALL(pivot_thread)(SolverMatrix *datacode, SopalinParam *sopaparam)

API_CALL(gmres_thread)

void API_CALL(gmres_thread)(SolverMatrix *datacode, SopalinParam *sopaparam)

API_CALL(grad_thread)

void API_CALL(grad_thread) (SolverMatrix *datacode, SopalinParam *sopaparam)

Global

Threads routines

API_CALL(pivotstatique_smp)

void API_CALL(pivot_thread)(SolverMatrix *datacode, SopalinParam *sopaparam)

Refine the solution.

Computes :

$r = b-Ax$

$r^{\\prime} = |A||x| + |b|$

$err = max_{i = 0..n} (r_i/r^{\\prime}_i)$

$rberror = ||r|| / ||b||$

While the maximum number of iterations is not reached and the solution is not precise enough, iterates :

Copy Up-down vector into $r^{\\prime}$.

Copy $r$ into Up-down vector.

Solves $Ax_1 = r$

Adds $x_1$ to previous $x$ (stored in $r^{\\prime}$)

Parameters

argPointer to a <sopthread_data_t> structure containing the <Sopalin_Data_t> structure and the thread number ID.

API_CALL(gmres_smp)

void API_CALL(gmres_thread)(SolverMatrix *datacode, SopalinParam *sopaparam)

Function computing GMRES iterative reffinement.

Parameters

argPointer to a <sopthread_data_t> structure containing the <Sopalin_Data_t> structure and the thread number ID.

API_CALL(grad_smp)

void API_CALL(grad_thread)(SolverMatrix *datacode, SopalinParam *sopaparam)

Refine the solution using conjugate gradian method.

Parameters

argPointer to a <sopthread_data_t> structure containing the <Sopalin_Data_t> structure and the thread number ID.

Global

Function creating threads

API_CALL(pivot_thread)

Launch sopaparam->nbthrdcomm threads which will compute API_CALL(pivotstatique_smp).

Parameters

datacodePaStiX <SolverMatrix> structure.
sopaparam<SopalinParam> parameters structure.

API_CALL(gmres_thread)

Launch sopaparam->nbthrdcomm threads which will compute API_CALL(gmres_smp).

Parameters

datacodePaStiX <SolverMatrix> structure.
sopaparam<SopalinParam> parameters structure.

API_CALL(grad_thread)

Launch sopaparam->nbthrdcomm threads which will compute API_CALL(grad_smp).

Parameters

datacodePaStiX <SolverMatrix> structure.
sopaparam<SopalinParam> parameters structure.
void API_CALL(pivot_thread)(SolverMatrix *datacode, SopalinParam *sopaparam)
void API_CALL(gmres_thread)(SolverMatrix *datacode, SopalinParam *sopaparam)
void API_CALL(grad_thread) (SolverMatrix *datacode, SopalinParam *sopaparam)
void API_CALL(pivot_thread)(SolverMatrix *datacode, SopalinParam *sopaparam)
Refine the solution.
void API_CALL(gmres_thread)(SolverMatrix *datacode, SopalinParam *sopaparam)
Function computing GMRES iterative reffinement.
void API_CALL(grad_thread)(SolverMatrix *datacode, SopalinParam *sopaparam)
Refine the solution using conjugate gradian method.
Close