PaStiX Handbook 6.4.0
Loading...
Searching...
No Matches
pastix_zstarpu.h
Go to the documentation of this file.
1/**
2 *
3 * @file pastix_zstarpu.h
4 *
5 * Pastix StarPU codelets header
6 *
7 * @copyright 2016-2024 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
8 * Univ. Bordeaux. All rights reserved.
9 *
10 * @version 6.4.0
11 * @author Mathieu Faverge
12 * @author Pierre Ramet
13 * @author Vincent Bridonneau
14 * @author Alycia Lisito
15 * @date 2024-07-05
16 *
17 * @generated from /builds/2mk6rsew/0/solverstack/pastix/sopalin/starpu/pastix_zstarpu.h, normal z -> z, Tue Feb 25 14:34:34 2025
18 *
19 **/
20#ifndef _pastix_zstarpu_h_
21#define _pastix_zstarpu_h_
22
23void starpu_task_cblk_zgetrfsp( sopalin_data_t *sopalin_data,
24 SolverCblk *cblk,
25 int prio );
26void starpu_task_cblk_zhetrfsp( sopalin_data_t *sopalin_data,
27 SolverCblk *cblk,
28 int prio );
29void starpu_task_cblk_zpotrfsp( sopalin_data_t *sopalin_data,
30 SolverCblk *cblk,
31 int prio );
32void starpu_task_cblk_zpxtrfsp( sopalin_data_t *sopalin_data,
33 SolverCblk *cblk,
34 int prio );
35void starpu_task_cblk_zsytrfsp( sopalin_data_t *sopalin_data,
36 SolverCblk *cblk,
37 int prio );
38
39void starpu_task_blok_zgetrf( sopalin_data_t *sopalin_data,
40 SolverCblk *cblk,
41 int prio );
42void starpu_task_blok_zhetrf( sopalin_data_t *sopalin_data,
43 SolverCblk *cblk,
44 int prio );
45void starpu_task_blok_zpotrf( sopalin_data_t *sopalin_data,
46 SolverCblk *cblk,
47 int prio );
48void starpu_task_blok_zpxtrf( sopalin_data_t *sopalin_data,
49 SolverCblk *cblk,
50 int prio );
51void starpu_task_blok_zsytrf( sopalin_data_t *sopalin_data,
52 SolverCblk *cblk,
53 int prio );
54void starpu_stask_cblk_zdiag( sopalin_data_t *sopalin_data,
55 pastix_rhs_t rhsb,
56 SolverCblk *cblk,
57 int prio );
58void starpu_stask_blok_zgemm( sopalin_data_t *sopalin_data,
59 pastix_rhs_t rhsb,
61 pastix_side_t side,
62 pastix_trans_t trans,
63 const SolverCblk *cblk,
64 const SolverBlok *blok,
65 SolverCblk *fcbk,
66 pastix_int_t prio );
67void starpu_stask_blok_ztrsm( sopalin_data_t *sopalin_data,
68 pastix_rhs_t rhsb,
70 pastix_side_t side,
71 pastix_uplo_t uplo,
72 pastix_trans_t trans,
73 pastix_diag_t diag,
74 const SolverCblk *cblk,
75 pastix_int_t prio );
76
77void starpu_task_cblk_zgemmsp( sopalin_data_t *sopalin_data,
80 pastix_trans_t trans,
81 const SolverCblk *cblk,
82 const SolverBlok *blok,
83 SolverCblk *fcblk,
84 int prio );
85void starpu_task_cblk_zadd_recv( sopalin_data_t *sopalin_data,
87 const SolverCblk *cblk,
88 SolverCblk *fcblk,
89 int prio );
90void starpu_task_cblk_zadd_fanin( sopalin_data_t *sopalin_data,
92 const SolverCblk *cblk,
93 int prio );
94void starpu_task_blok_zadd_recv( sopalin_data_t *sopalin_data,
96 const SolverCblk *cblk,
97 const SolverBlok *blok,
98 SolverCblk *fcblk,
99 SolverBlok *fblok,
100 int prio );
101void starpu_task_blok_zadd_fanin( sopalin_data_t *sopalin_data,
103 const SolverCblk *cblk,
104 const SolverBlok *blok,
105 int prio );
106void starpu_task_blok_zgemmsp( sopalin_data_t *sopalin_data,
107 pastix_coefside_t sideA,
108 pastix_coefside_t sideB,
109 pastix_trans_t trans,
110 SolverCblk *cblk,
111 SolverCblk *fcblk,
112 const SolverBlok *blokA,
113 const SolverBlok *blokB,
114 int prio );
115
116void starpu_task_blok_ztrsmsp( sopalin_data_t *sopalin_data,
118 pastix_side_t side,
119 pastix_uplo_t uplo,
120 pastix_trans_t trans,
121 pastix_diag_t diag,
122 const SolverCblk *cblk,
123 SolverBlok *blok,
124 int prio );
125
126void starpu_task_blok_zscalo( sopalin_data_t *sopalin_data,
127 pastix_trans_t trans,
128 const SolverCblk *cblk,
129 SolverBlok *blok,
130 int prio );
131
132void starpu_task_zadd_1dp_fanin( sopalin_data_t *sopalin_data,
134 const SolverCblk *cblk,
135 int prio );
136void starpu_task_zadd_1dp_recv( sopalin_data_t *sopalin_data,
138 const SolverCblk *cblk,
139 int prio );
140void starpu_task_zadd_2d_fanin( sopalin_data_t *sopalin_data,
142 const SolverCblk *cblk,
143 int prio );
144void starpu_task_zadd_2d_recv( sopalin_data_t *sopalin_data,
146 const SolverCblk *cblk,
147 int prio );
148void starpu_task_zadd_fanin( sopalin_data_t *sopalin_data,
150 const SolverCblk *cblk,
151 int prio );
152void starpu_task_zadd_recv( sopalin_data_t *sopalin_data,
154 const SolverCblk *cblk,
155 int prio );
156void starpu_stask_blok_zadd_fwd_recv( sopalin_data_t *sopalin_data,
157 pastix_rhs_t rhsb,
158 const SolverCblk *cblk,
159 SolverCblk *fcblk,
160 int prio );
161
162void starpu_stask_blok_zcpy_bwd_recv( sopalin_data_t *sopalin_data,
163 pastix_rhs_t rhsb,
164 SolverCblk *cblk,
165 const SolverCblk *fcblk,
166 int prio );
167
168void starpu_zdiag ( pastix_data_t *pastix_data,
169 sopalin_data_t *sopalin_data,
170 pastix_rhs_t rhsb );
171void starpu_zpotrf( pastix_data_t *pastix_data,
172 sopalin_data_t *sopalin_data );
173void starpu_zpxtrf( pastix_data_t *pastix_data,
174 sopalin_data_t *sopalin_data );
175void starpu_zgetrf( pastix_data_t *pastix_data,
176 sopalin_data_t *sopalin_data );
177void starpu_zhetrf( pastix_data_t *pastix_data,
178 sopalin_data_t *sopalin_data );
179void starpu_zsytrf( pastix_data_t *pastix_data,
180 sopalin_data_t *sopalin_data );
181void starpu_ztrsm ( pastix_data_t *pastix_data,
182 const args_solve_t *enums,
183 sopalin_data_t *sopalin_data,
184 pastix_rhs_t rhsb );
185
186#endif /* _pastix_zstarpu_h_ */
BEGIN_C_DECLS typedef int pastix_int_t
Definition datatypes.h:51
enum pastix_diag_e pastix_diag_t
Diagonal.
enum pastix_uplo_e pastix_uplo_t
Upper/Lower part.
enum pastix_side_e pastix_side_t
Side of the operation.
enum pastix_trans_e pastix_trans_t
Transpostion.
enum pastix_coefside_e pastix_coefside_t
Data blocks used in the kernel.
void starpu_task_cblk_zgetrfsp(sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio)
TODO.
void starpu_task_cblk_zpxtrfsp(sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio)
TODO.
void starpu_task_blok_zgetrf(sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio)
TODO.
void starpu_task_cblk_zhetrfsp(sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio)
TODO.
void starpu_task_blok_zscalo(sopalin_data_t *sopalin_data, pastix_trans_t trans, const SolverCblk *cblk, SolverBlok *blok, int prio)
TODO.
void starpu_task_cblk_zadd_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 emi...
void starpu_task_cblk_zgemmsp(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.
void starpu_task_blok_zadd_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 ...
void starpu_stask_blok_zgemm(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.
void starpu_task_blok_zpotrf(sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio)
TODO.
void starpu_task_blok_zhetrf(sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio)
TODO.
void starpu_stask_blok_zcpy_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 ...
void starpu_task_blok_zadd_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 emi...
void starpu_task_cblk_zadd_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 ...
void starpu_task_blok_ztrsmsp(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.
void starpu_stask_blok_zadd_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 ...
void starpu_task_blok_zsytrf(sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio)
TODO.
void starpu_task_cblk_zsytrfsp(sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio)
TODO.
void starpu_task_blok_zpxtrf(sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio)
TODO.
void starpu_task_blok_zgemmsp(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.
void starpu_task_cblk_zpotrfsp(sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio)
TODO.
Main PaStiX data structure.
Definition pastixdata.h:68
Main PaStiX RHS structure.
Definition pastixdata.h:155
void starpu_stask_cblk_zdiag(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.
void starpu_zdiag(pastix_data_t *pastix_data, sopalin_data_t *sopalin_data, pastix_rhs_t rhsb)
Apply the diagonal solve (StarPU version)
void starpu_zgetrf(pastix_data_t *pastix_data, sopalin_data_t *sopalin_data)
Perform a sparse LU factorization using StarPU runtime.
void starpu_zhetrf(pastix_data_t *pastix_data, sopalin_data_t *sopalin_data)
Perform a sparse LDL^h factorization using StarPU runtime.
void starpu_zpotrf(pastix_data_t *pastix_data, sopalin_data_t *sopalin_data)
Perform a sparse Cholesky factorization using StarPU runtime.
void starpu_zpxtrf(pastix_data_t *pastix_data, sopalin_data_t *sopalin_data)
Perform a sparse LL^t factorization using StarPU runtime.
void starpu_zsytrf(pastix_data_t *pastix_data, sopalin_data_t *sopalin_data)
Perform a sparse LDL^t factorization using StarPU runtime.
void starpu_stask_blok_ztrsm(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.
void starpu_ztrsm(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).
void starpu_task_zadd_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.
void starpu_task_zadd_recv(sopalin_data_t *sopalin_data, pastix_coefside_t side, const SolverCblk *cblk, int prio)
Submits starpu zadd task to send the recv cblk.
void starpu_task_zadd_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.
void starpu_task_zadd_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.
void starpu_task_zadd_fanin(sopalin_data_t *sopalin_data, pastix_coefside_t side, const SolverCblk *cblk, int prio)
Submits starpu zadd task to send the fanin cblk.
void starpu_task_zadd_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.
Arguments for the solve.
Definition solver.h:88
Solver block structure.
Definition solver.h:141
Solver column block structure.
Definition solver.h:161