PaStiX Handbook  6.4.0
pastix_sstarpu.h File Reference

Go to the source code of this file.

Functions

void starpu_task_cblk_sgetrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio)
 TODO. More...
 
void starpu_task_cblk_ssytrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio)
 TODO. More...
 
void starpu_task_cblk_spotrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio)
 TODO. More...
 
void starpu_task_blok_sgetrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio)
 TODO. More...
 
void starpu_task_blok_ssytrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio)
 TODO. More...
 
void starpu_task_blok_spotrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio)
 TODO. More...
 
void starpu_stask_cblk_sdiag (sopalin_data_t *sopalin_data, pastix_rhs_t rhsb, SolverCblk *cblk, int prio)
 Submit a task to perform a diagonal solve related to one cblk to all the right hand side. More...
 
void starpu_stask_blok_sgemm (sopalin_data_t *sopalin_data, pastix_rhs_t rhsb, pastix_coefside_t coef, pastix_side_t side, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcbk, pastix_int_t prio)
 Submit a task to perform a gemm. More...
 
void starpu_stask_blok_strsm (sopalin_data_t *sopalin_data, pastix_rhs_t rhsb, pastix_coefside_t coef, pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, pastix_int_t prio)
 Submit a task to do a trsm related to a diagonal block of the matrix A. More...
 
void starpu_task_cblk_sgemmsp (sopalin_data_t *sopalin_data, pastix_coefside_t sideA, pastix_coefside_t sideB, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, int prio)
 StarPU GPU implementation. More...
 
void starpu_task_cblk_sadd_recv (sopalin_data_t *sopalin_data, pastix_coefside_t side, const SolverCblk *cblk, SolverCblk *fcblk, int prio)
 Insert the task to add a fanin cblk on the receiver side (The fanin is seen on this side as the RECV cblk). Note that the caller always execute the task. More...
 
void starpu_task_cblk_sadd_fanin (sopalin_data_t *sopalin_data, pastix_coefside_t side, const SolverCblk *cblk, int prio)
 Insert the task to add a fanin cblk on the emitter side. Note that this task is submitted only to emit a send to the owner of the associated recv cblk that will perform the add. Thus, the task is always submitted but never executed. More...
 
void starpu_task_blok_sadd_recv (sopalin_data_t *sopalin_data, pastix_coefside_t side, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, SolverBlok *fblok, int prio)
 Insert the task to add a fanin cblk on the receiver side (The fanin is seen on this side as the RECV cblk). Note that the caller always execute the task. More...
 
void starpu_task_blok_sadd_fanin (sopalin_data_t *sopalin_data, pastix_coefside_t side, const SolverCblk *cblk, const SolverBlok *blok, int prio)
 Insert the task to add a fanin cblk on the emitter side. Note that this task is submitted only to emit a send to the owner of the associated recv cblk that will perform the add. Thus, the task is always submitted but never executed. More...
 
void starpu_task_blok_sgemmsp (sopalin_data_t *sopalin_data, pastix_coefside_t sideA, pastix_coefside_t sideB, pastix_trans_t trans, SolverCblk *cblk, SolverCblk *fcblk, const SolverBlok *blokA, const SolverBlok *blokB, int prio)
 StarPU GPU implementation. More...
 
void starpu_task_blok_strsmsp (sopalin_data_t *sopalin_data, pastix_coefside_t coef, pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, SolverBlok *blok, int prio)
 StarPU GPU implementation. More...
 
void starpu_task_blok_sscalo (sopalin_data_t *sopalin_data, pastix_trans_t trans, const SolverCblk *cblk, SolverBlok *blok, int prio)
 TODO. More...
 
void starpu_task_sadd_1dp_fanin (sopalin_data_t *sopalin_data, pastix_coefside_t side, const SolverCblk *cblk, int prio)
 Submits starpu zadd task to send the fanin cblk. More...
 
void starpu_task_sadd_1dp_recv (sopalin_data_t *sopalin_data, pastix_coefside_t side, const SolverCblk *cblk, int prio)
 Submits starpu zadd task to receive and add the recv cblk. More...
 
void starpu_task_sadd_2d_fanin (sopalin_data_t *sopalin_data, pastix_coefside_t side, const SolverCblk *cblk, int prio)
 Submits starpu zadd task to send the fanin block. More...
 
void starpu_task_sadd_2d_recv (sopalin_data_t *sopalin_data, pastix_coefside_t side, const SolverCblk *cblk, int prio)
 Submits starpu zadd task to receive and add the recv block. More...
 
void starpu_task_sadd_fanin (sopalin_data_t *sopalin_data, pastix_coefside_t side, const SolverCblk *cblk, int prio)
 Submits starpu zadd task to send the fanin cblk. More...
 
void starpu_task_sadd_recv (sopalin_data_t *sopalin_data, pastix_coefside_t side, const SolverCblk *cblk, int prio)
 Submits starpu zadd task to send the recv cblk. More...
 
void starpu_stask_blok_sadd_fwd_recv (sopalin_data_t *sopalin_data, pastix_rhs_t rhsb, const SolverCblk *cblk, SolverCblk *fcblk, int prio)
 Insert the task to add a fanin cblk on the receiver side (The fanin is seen on this side as the RECV cblk). Note that the caller always execute the task. More...
 
void starpu_stask_blok_scpy_bwd_recv (sopalin_data_t *sopalin_data, pastix_rhs_t rhsb, SolverCblk *cblk, const SolverCblk *fcblk, int prio)
 Insert the task to add a fanin cblk on the receiver side (The fanin is seen on this side as the RECV cblk). Note that the caller always execute the task. More...
 
void starpu_sdiag (pastix_data_t *pastix_data, sopalin_data_t *sopalin_data, pastix_rhs_t rhsb)
 Apply the diagonal solve (StarPU version) More...
 
void starpu_spotrf (pastix_data_t *pastix_data, sopalin_data_t *sopalin_data)
 Perform a sparse Cholesky factorization using StarPU runtime. More...
 
void starpu_sgetrf (pastix_data_t *pastix_data, sopalin_data_t *sopalin_data)
 Perform a sparse LU factorization using StarPU runtime. More...
 
void starpu_ssytrf (pastix_data_t *pastix_data, sopalin_data_t *sopalin_data)
 Perform a sparse LDL^t factorization using StarPU runtime. More...
 
void starpu_strsm (pastix_data_t *pastix_data, const args_solve_t *enums, sopalin_data_t *sopalin_data, pastix_rhs_t rhsb)
 Apply the TRSM solve (StarPU version). More...
 

Detailed Description

Pastix StarPU codelets header

Version
6.4.0
Author
Mathieu Faverge
Pierre Ramet
Vincent Bridonneau
Alycia Lisito
Date
2024-07-05
Generated arithmetic file
from /builds/solverstack/pastix/sopalin/starpu/pastix_zstarpu.h, normal z -> s, Fri Jul 12 15:09:34 2024

Definition in file pastix_sstarpu.h.

Function Documentation

◆ starpu_task_sadd_1dp_fanin()

void starpu_task_sadd_1dp_fanin ( sopalin_data_t *  sopalin_data,
pastix_coefside_t  side,
const SolverCblk cblk,
int  prio 
)

Submits starpu zadd task to send the fanin cblk.

Parameters
[in]sopalin_dataSolver matrix information structure that will guide the algorithm.
[in]sideThe side of the update.
[in]cblkThe fanin column block.
[in]prioThe task priority.

Definition at line 46 of file starpu_task_sadd.c.

References solver_cblk_s::cblktype, and starpu_task_cblk_sadd_fanin().

Referenced by starpu_sgetrf_sp1dplus_ll(), starpu_sgetrf_sp1dplus_rl(), starpu_sgetrf_sp2d_rl(), starpu_spotrf_sp1dplus_ll(), starpu_spotrf_sp1dplus_rl(), starpu_spotrf_sp2d_rl(), starpu_ssytrf_sp1dplus_ll(), starpu_ssytrf_sp1dplus_rl(), starpu_ssytrf_sp2d_rl(), and starpu_task_sadd_fanin().

◆ starpu_task_sadd_1dp_recv()

void starpu_task_sadd_1dp_recv ( sopalin_data_t *  sopalin_data,
pastix_coefside_t  side,
const SolverCblk cblk,
int  prio 
)

Submits starpu zadd task to receive and add the recv cblk.

Parameters
[in]sopalin_dataSolver matrix information structure that will guide the algorithm.
[in]sideThe side of the update.
[in]cblkThe recv column block.
[in]prioThe task priority.

Definition at line 77 of file starpu_task_sadd.c.

References solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_blok_s::fcblknm, and starpu_task_cblk_sadd_recv().

Referenced by starpu_sgetrf_sp1dplus_ll(), starpu_sgetrf_sp1dplus_rl(), starpu_sgetrf_sp2d_rl(), starpu_spotrf_sp1dplus_ll(), starpu_spotrf_sp1dplus_rl(), starpu_spotrf_sp2d_rl(), starpu_ssytrf_sp1dplus_ll(), starpu_ssytrf_sp1dplus_rl(), starpu_ssytrf_sp2d_rl(), and starpu_task_sadd_recv().

◆ starpu_task_sadd_2d_fanin()

void starpu_task_sadd_2d_fanin ( sopalin_data_t *  sopalin_data,
pastix_coefside_t  side,
const SolverCblk cblk,
int  prio 
)

Submits starpu zadd task to send the fanin block.

Parameters
[in]sopalin_dataSolver matrix information structure that will guide the algorithm.
[in]sideThe side of the update.
[in]cblkThe fanin column block.
[in]prioThe task priority.

Definition at line 109 of file starpu_task_sadd.c.

References solver_cblk_s::cblktype, solver_cblk_s::fblokptr, and starpu_task_blok_sadd_fanin().

Referenced by starpu_sgetrf_sp2d_rl(), starpu_spotrf_sp2d_rl(), starpu_ssytrf_sp2d_rl(), and starpu_task_sadd_fanin().

◆ starpu_task_sadd_2d_recv()

void starpu_task_sadd_2d_recv ( sopalin_data_t *  sopalin_data,
pastix_coefside_t  side,
const SolverCblk cblk,
int  prio 
)

Submits starpu zadd task to receive and add the recv block.

Parameters
[in]sopalin_dataSolver matrix information structure that will guide the algorithm.
[in]sideThe side of the update.
[in]cblkThe recv column block.
[in]prioThe task priority.

Definition at line 154 of file starpu_task_sadd.c.

References solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_blok_s::lcblknm, and starpu_task_blok_sadd_recv().

Referenced by starpu_sgetrf_sp2d_rl(), starpu_spotrf_sp2d_rl(), starpu_ssytrf_sp2d_rl(), and starpu_task_sadd_recv().

◆ starpu_task_sadd_fanin()

void starpu_task_sadd_fanin ( sopalin_data_t *  sopalin_data,
pastix_coefside_t  side,
const SolverCblk cblk,
int  prio 
)

Submits starpu zadd task to send the fanin cblk.

Parameters
[in]sopalin_dataSolver matrix information structure that will guide the algorithm.
[in]sideThe side of the update.
[in]cblkThe fanin column block.
[in]prioThe task priority.

Definition at line 241 of file starpu_task_sadd.c.

References solver_cblk_s::cblktype, starpu_task_sadd_1dp_fanin(), and starpu_task_sadd_2d_fanin().

Referenced by starpu_sgetrf_sp2d_ll(), starpu_spotrf_sp2d_ll(), and starpu_ssytrf_sp2d_ll().

◆ starpu_task_sadd_recv()

void starpu_task_sadd_recv ( sopalin_data_t *  sopalin_data,
pastix_coefside_t  side,
const SolverCblk cblk,
int  prio 
)

Submits starpu zadd task to send the recv cblk.

Parameters
[in]sopalin_dataSolver matrix information structure that will guide the algorithm.
[in]sideThe side of the update.
[in]cblkThe recv column block.
[in]prioThe task priority.

Definition at line 205 of file starpu_task_sadd.c.

References solver_cblk_s::cblktype, starpu_task_sadd_1dp_recv(), and starpu_task_sadd_2d_recv().

Referenced by starpu_sgetrf_sp2d_ll(), starpu_spotrf_sp2d_ll(), and starpu_ssytrf_sp2d_ll().