PaStiX Handbook  6.4.0
sequential_strsm.c File Reference
#include "common.h"
#include "blend/solver.h"
#include "bcsc/bcsc.h"
#include "bcsc/bcsc_s.h"
#include "sopalin/sopalin_data.h"
#include "pastix_scores.h"

Go to the source code of this file.

Functions

void sequential_strsm (pastix_data_t *pastix_data, const args_solve_t *enums, sopalin_data_t *sopalin_data, pastix_rhs_t rhsb)
 Applies the Sequential Forward or Backward solve. More...
 
void thread_strsm_static (isched_thread_t *ctx, void *args)
 Applies the Static Forward or Backward solve. More...
 
void static_strsm (pastix_data_t *pastix_data, const args_solve_t *enums, sopalin_data_t *sopalin_data, pastix_rhs_t rhsb)
 Applies the Static Forward or Backward solve. More...
 
void thread_strsm_dynamic (isched_thread_t *ctx, void *args)
 Applies the Dynamic Forward or Backward solve. More...
 
void dynamic_strsm (pastix_data_t *pastix_data, const args_solve_t *enums, sopalin_data_t *sopalin_data, pastix_rhs_t rhsb)
 Applies the Dynamic Forward or Backward solve. More...
 
void sopalin_strsm (pastix_data_t *pastix_data, pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, sopalin_data_t *sopalin_data, pastix_rhs_t rhsb)
 Calls the sequential, static, dynamic or runtime solve according to scheduler. More...
 

Detailed Description

Version
6.4.0
Author
Pascal Henon
Xavier Lacoste
Pierre Ramet
Mathieu Faverge
Tony Delarue
Vincent Bridonneau
Alycia Lisito
Date
2024-07-05
Generated arithmetic file
from /builds/solverstack/pastix/sopalin/sequential_ztrsm.c, normal z -> s, Tue Oct 8 14:17:57 2024

Definition in file sequential_strsm.c.

Function Documentation

◆ sequential_strsm()

void sequential_strsm ( pastix_data_t pastix_data,
const args_solve_t enums,
sopalin_data_t *  sopalin_data,
pastix_rhs_t  rhsb 
)

Applies the Sequential Forward or Backward solve.

Parameters
[in]pastix_dataThe pastix_data structure.
[in]enumsEnums needed for the solve.
[in]sopalin_dataThe SolverMatrix structure from PaStiX.
[in]rhsbThe pointer to the rhs data structure that holds the vectors of the right hand side.

Definition at line 70 of file sequential_strsm.c.

References pastix_int_t.

◆ thread_strsm_static()

void thread_strsm_static ( isched_thread_t *  ctx,
void *  args 
)

Applies the Static Forward or Backward solve.

Parameters
[in]ctxThread structure of the execution context of one instance of the scheduler.
[in]argsArguments for the Static solve.

Definition at line 149 of file sequential_strsm.c.

References solver_matrix_s::cblknbr, and pastix_int_t.

Referenced by static_strsm().

◆ static_strsm()

void static_strsm ( pastix_data_t pastix_data,
const args_solve_t enums,
sopalin_data_t *  sopalin_data,
pastix_rhs_t  rhsb 
)

Applies the Static Forward or Backward solve.

Parameters
[in]pastix_dataThe pastix_data structure.
[in]enumsEnums needed for the solve.
[in]sopalin_dataThe SolverMatrix structure from PaStiX.
[in]rhsbThe pointer to the rhs data structure that holds the vectors of the right hand side.

Definition at line 255 of file sequential_strsm.c.

References pastix_data_s::isched, and thread_strsm_static().

◆ thread_strsm_dynamic()

void thread_strsm_dynamic ( isched_thread_t *  ctx,
void *  args 
)

Applies the Dynamic Forward or Backward solve.

Parameters
[in]ctxThread structure of the execution context of one instance of the scheduler.
[in]argsArguments for the Static solve.

Definition at line 280 of file sequential_strsm.c.

References solver_matrix_s::cblknbr, pastix_int_t, and pqueueInit().

◆ dynamic_strsm()

void dynamic_strsm ( pastix_data_t pastix_data,
const args_solve_t enums,
sopalin_data_t *  sopalin_data,
pastix_rhs_t  rhsb 
)

Applies the Dynamic Forward or Backward solve.

Parameters
[in]pastix_dataThe pastix_data structure.
[in]enumsEnums needed for the solve.
[in]sopalin_dataThe SolverMatrix structure from PaStiX.
[in]rhsbThe pointer to the rhs data structure that holds the vectors of the right hand side.

Definition at line 445 of file sequential_strsm.c.

References solver_matrix_s::cblknbr, and solver_matrix_s::cblkschur.

◆ sopalin_strsm()

void sopalin_strsm ( pastix_data_t pastix_data,
pastix_side_t  side,
pastix_uplo_t  uplo,
pastix_trans_t  trans,
pastix_diag_t  diag,
sopalin_data_t *  sopalin_data,
pastix_rhs_t  rhsb 
)

Calls the sequential, static, dynamic or runtime solve according to scheduler.

Parameters
[in]pastix_dataThe pastix_data structure.
[in]sideSpecify whether the off-diagonal blocks appear on the left or right in the equation. It has to be either PastixLeft or PastixRight.
[in]uploSpecify whether the off-diagonal blocks are upper or lower triangular. It has to be either PastixUpper or PastixLower.
[in]transSpecify the transposition used for the off-diagonal blocks. It has to be either PastixTrans or PastixTrans.
[in]diagSpecify if the off-diagonal blocks are unit triangular. It has to be either PastixUnit or PastixNonUnit.
[in]sopalin_dataThe SolverMatrix structure from PaStiX.
[in]rhsbThe pointer to the rhs data structure that holds the vectors of the right hand side.

Definition at line 591 of file sequential_strsm.c.

References pastix_data_s::iparm, and IPARM_SCHEDULER.

Referenced by pastix_subtask_trsm().