|
PaStiX Handbook 6.4.0
|
#include "common.h"#include "blend/solver.h"#include "bcsc/bcsc.h"#include "bcsc/bcsc_d.h"#include "sopalin/sopalin_data.h"#include "pastix_dcores.h"Go to the source code of this file.
Functions | |
| void | sequential_dtrsm (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. | |
| void | thread_dtrsm_static (isched_thread_t *ctx, void *args) |
| Applies the Static Forward or Backward solve. | |
| void | static_dtrsm (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. | |
| void | thread_dtrsm_dynamic (isched_thread_t *ctx, void *args) |
| Applies the Dynamic Forward or Backward solve. | |
| void | dynamic_dtrsm (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. | |
| void | sopalin_dtrsm (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. | |
Definition in file sequential_dtrsm.c.
| void sequential_dtrsm | ( | 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.
| [in] | pastix_data | The pastix_data structure. |
| [in] | enums | Enums needed for the solve. |
| [in] | sopalin_data | The SolverMatrix structure from PaStiX. |
| [in] | rhsb | The pointer to the rhs data structure that holds the vectors of the right hand side. |
Definition at line 70 of file sequential_dtrsm.c.
References pastix_rhs_s::cblkb, solver_matrix_s::cblknbr, solver_matrix_s::cblkschur, solver_matrix_s::cblktab, solver_cblk_s::cblktype, cpucblk_drecv_rhs_backward(), cpucblk_drecv_rhs_forward(), cpucblk_dsend_rhs_backward(), cpucblk_dsend_rhs_forward(), solver_matrix_s::faninnbr, pastix_rhs_s::n, pastix_int_t, solver_matrix_s::recvnbr, solve_cblk_dtrsmsp_backward(), and solve_cblk_dtrsmsp_forward().
| void thread_dtrsm_static | ( | isched_thread_t * | ctx, |
| void * | args | ||
| ) |
Applies the Static Forward or Backward solve.
| [in] | ctx | Thread structure of the execution context of one instance of the scheduler. |
| [in] | args | Arguments for the Static solve. |
Definition at line 149 of file sequential_dtrsm.c.
References solver_cblk_s::brownum, solver_matrix_s::cblknbr, task_s::cblknum, solver_matrix_s::cblktab, solver_cblk_s::cblktype, cpucblk_dincoming_rhs_bwd_deps(), cpucblk_dincoming_rhs_fwd_deps(), solver_cblk_s::ctrbcnt, solver_cblk_s::fblokptr, pastix_int_t, solve_cblk_dtrsmsp_backward(), and solve_cblk_dtrsmsp_forward().
Referenced by static_dtrsm().
| void static_dtrsm | ( | 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.
| [in] | pastix_data | The pastix_data structure. |
| [in] | enums | Enums needed for the solve. |
| [in] | sopalin_data | The SolverMatrix structure from PaStiX. |
| [in] | rhsb | The pointer to the rhs data structure that holds the vectors of the right hand side. |
Definition at line 255 of file sequential_dtrsm.c.
References pastix_data_s::isched, and thread_dtrsm_static().
Referenced by sopalin_dtrsm().
| void thread_dtrsm_dynamic | ( | isched_thread_t * | ctx, |
| void * | args | ||
| ) |
Applies the Dynamic Forward or Backward solve.
| [in] | ctx | Thread structure of the execution context of one instance of the scheduler. |
| [in] | args | Arguments for the Static solve. |
Definition at line 280 of file sequential_dtrsm.c.
References solver_cblk_s::brownum, solver_matrix_s::cblknbr, solver_matrix_s::cblktab, solver_cblk_s::cblktype, solver_cblk_s::ctrbcnt, solver_cblk_s::fblokptr, pastix_data_s::inter_node_procnbr, pastix_int_t, pqueueExit(), pqueueInit(), pqueuePop(), pqueuePush1(), solver_cblk_s::priority, solve_cblk_dtrsmsp_backward(), solve_cblk_dtrsmsp_forward(), stealQueue(), solver_cblk_s::threadid, and pastix_queue_s::used.
Referenced by dynamic_dtrsm().
| void dynamic_dtrsm | ( | 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.
| [in] | pastix_data | The pastix_data structure. |
| [in] | enums | Enums needed for the solve. |
| [in] | sopalin_data | The SolverMatrix structure from PaStiX. |
| [in] | rhsb | The pointer to the rhs data structure that holds the vectors of the right hand side. |
Definition at line 445 of file sequential_dtrsm.c.
References solver_matrix_s::cblknbr, solver_matrix_s::cblkschur, pastix_data_s::isched, solver_matrix_s::recvnbr, and thread_dtrsm_dynamic().
| void sopalin_dtrsm | ( | 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.
| [in] | pastix_data | The pastix_data structure. |
| [in] | side | Specify whether the off-diagonal blocks appear on the left or right in the equation. It has to be either PastixLeft or PastixRight. |
| [in] | uplo | Specify whether the off-diagonal blocks are upper or lower triangular. It has to be either PastixUpper or PastixLower. |
| [in] | trans | Specify the transposition used for the off-diagonal blocks. It has to be either PastixTrans or PastixTrans. |
| [in] | diag | Specify if the off-diagonal blocks are unit triangular. It has to be either PastixUnit or PastixNonUnit. |
| [in] | sopalin_data | The SolverMatrix structure from PaStiX. |
| [in] | rhsb | The pointer to the rhs data structure that holds the vectors of the right hand side. |
Definition at line 591 of file sequential_dtrsm.c.
References compute_solve_step(), cpucblk_drequest_rhs_bwd_cleanup(), cpucblk_drequest_rhs_fwd_cleanup(), pastix_data_s::inter_node_comm, pastix_data_s::inter_node_procnbr, pastix_data_s::iparm, IPARM_SCHEDULER, IPARM_SCHUR_SOLV_MODE, PastixSchedDynamic, PastixSchedParsec, PastixSchedStatic, solverRequestExit(), solverRequestInit(), solverRhsRecvExit(), solverRhsRecvInit(), and static_dtrsm().
Referenced by pastix_subtask_trsm().