PaStiX Handbook 6.4.0
|
Modules | |
StarPU Cholesky factorization | |
StarPU LU factorization | |
StarPU LDL^t factorization | |
StarPU LDL^h factorization | |
StarPU extra LL^t factorization | |
StarPU TRSM solve | |
StarPU DIAG solve | |
Files | |
file | starpu_sparse_matrix.c |
file | starpu_rhs.c |
Data Structures | |
struct | starpu_cblk_s |
Additional StarPU handlers for a column-block when using 2D kernels. More... | |
struct | starpu_sparse_matrix_desc_s |
StarPU descriptor stucture for the sparse matrix. More... | |
struct | starpu_rhs_desc_s |
StarPU descriptor for the vectors linked to a given sparse matrix. More... | |
struct | profile_data_s |
Base structure to all codelet arguments that include the profiling data. More... | |
struct | pastix_starpu_interface_s |
Interface data structure to register the pieces of data in StarPU. More... | |
Macros | |
#define | PASTIX_STARPU_INTERFACE_ID pastix_starpu_interface_ops.interfaceid |
Alias to get the Interface id. | |
Typedefs | |
typedef struct starpu_cblk_s | starpu_cblk_t |
Additional StarPU handlers for a column-block when using 2D kernels. | |
typedef struct starpu_sparse_matrix_desc_s | starpu_sparse_matrix_desc_t |
StarPU descriptor stucture for the sparse matrix. | |
typedef struct starpu_rhs_desc_s | starpu_rhs_desc_t |
StarPU descriptor for the vectors linked to a given sparse matrix. | |
typedef struct profile_data_s | profile_data_t |
Base structure to all codelet arguments that include the profiling data. | |
typedef struct pastix_starpu_interface_s | pastix_starpu_interface_t |
Interface data structure to register the pieces of data in StarPU. | |
Functions | |
static void | fct_blok_zadd_cpu (void *descr[], void *cl_arg) |
StarPU CPU 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 cblk). Note that the caller always execute the task. | |
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 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. | |
static void | fct_blok_cadd_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
void | starpu_task_blok_cadd_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. | |
void | starpu_task_blok_cadd_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. | |
static void | fct_blok_dadd_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
void | starpu_task_blok_dadd_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. | |
void | starpu_task_blok_dadd_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. | |
static void | fct_blok_sadd_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
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. | |
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. | |
static void | fct_blok_zgemmsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
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. | |
static void | fct_blok_cgemmsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
void | starpu_task_blok_cgemmsp (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. | |
static void | fct_blok_dgemmsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
void | starpu_task_blok_dgemmsp (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. | |
static void | fct_blok_sgemmsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
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. | |
static void | fct_blok_zgetrfsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
void | starpu_task_blok_zgetrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. | |
static void | fct_blok_cgetrfsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
void | starpu_task_blok_cgetrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. | |
static void | fct_blok_dgetrfsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
void | starpu_task_blok_dgetrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. | |
static void | fct_blok_sgetrfsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
void | starpu_task_blok_sgetrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. | |
static void | fct_blok_chetrfsp_cpu (void *descr[], void *cl_arg) |
Functions to profile the codelet. | |
void | starpu_task_blok_chetrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. | |
static void | fct_blok_zhetrfsp_cpu (void *descr[], void *cl_arg) |
Functions to profile the codelet. | |
void | starpu_task_blok_zhetrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. | |
static void | fct_blok_zpotrfsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
void | starpu_task_blok_zpotrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. | |
static void | fct_blok_cpotrfsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
void | starpu_task_blok_cpotrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. | |
static void | fct_blok_dpotrfsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
void | starpu_task_blok_dpotrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. | |
static void | fct_blok_spotrfsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
void | starpu_task_blok_spotrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. | |
static void | fct_blok_cpxtrfsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
void | starpu_task_blok_cpxtrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. | |
static void | fct_blok_zpxtrfsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
void | starpu_task_blok_zpxtrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. | |
static void | fct_blok_zscalo_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
CODELETS_CPU (blok_zscalo, 3) | |
void | starpu_task_blok_zscalo (sopalin_data_t *sopalin_data, pastix_trans_t trans, const SolverCblk *cblk, SolverBlok *blok, int prio) |
TODO. | |
static void | fct_blok_cscalo_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
CODELETS_CPU (blok_cscalo, 3) | |
void | starpu_task_blok_cscalo (sopalin_data_t *sopalin_data, pastix_trans_t trans, const SolverCblk *cblk, SolverBlok *blok, int prio) |
TODO. | |
static void | fct_blok_dscalo_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
CODELETS_CPU (blok_dscalo, 3) | |
void | starpu_task_blok_dscalo (sopalin_data_t *sopalin_data, pastix_trans_t trans, const SolverCblk *cblk, SolverBlok *blok, int prio) |
TODO. | |
static void | fct_blok_sscalo_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
CODELETS_CPU (blok_sscalo, 3) | |
void | starpu_task_blok_sscalo (sopalin_data_t *sopalin_data, pastix_trans_t trans, const SolverCblk *cblk, SolverBlok *blok, int prio) |
TODO. | |
void | starpu_task_blok_zsytrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. | |
void | starpu_task_blok_csytrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. | |
void | starpu_task_blok_dsytrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. | |
void | starpu_task_blok_ssytrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. | |
static void | fct_blok_ztrsmsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
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. | |
static void | fct_blok_ctrsmsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
void | starpu_task_blok_ctrsmsp (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. | |
static void | fct_blok_dtrsmsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
void | starpu_task_blok_dtrsmsp (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. | |
static void | fct_blok_strsmsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
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. | |
static void | fct_cblk_zadd_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
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 cblk). Note that the caller always execute the task. | |
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 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. | |
static void | fct_cblk_cadd_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
void | starpu_task_cblk_cadd_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. | |
void | starpu_task_cblk_cadd_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. | |
static void | fct_cblk_dadd_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
void | starpu_task_cblk_dadd_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. | |
void | starpu_task_cblk_dadd_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. | |
static void | fct_cblk_sadd_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
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. | |
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. | |
static void | fct_cblk_zgemmsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
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. | |
static void | fct_cblk_cgemmsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
void | starpu_task_cblk_cgemmsp (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. | |
static void | fct_cblk_dgemmsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
void | starpu_task_cblk_dgemmsp (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. | |
static void | fct_cblk_sgemmsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. | |
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. | |
void | starpu_task_cblk_zgetrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. | |
void | starpu_task_cblk_cgetrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. | |
void | starpu_task_cblk_dgetrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. | |
void | starpu_task_cblk_sgetrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. | |
void | starpu_task_cblk_chetrfsp (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_cblk_zpotrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. | |
void | starpu_task_cblk_cpotrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. | |
void | starpu_task_cblk_dpotrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. | |
void | starpu_task_cblk_spotrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. | |
void | starpu_task_cblk_cpxtrfsp (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_cblk_zsytrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. | |
void | starpu_task_cblk_csytrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. | |
void | starpu_task_cblk_dsytrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. | |
void | starpu_task_cblk_ssytrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. | |
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 cblk). Note that the caller always execute the task. | |
void | starpu_stask_blok_cadd_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. | |
void | starpu_stask_blok_dadd_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. | |
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. | |
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 cblk). Note that the caller always execute the task. | |
void | starpu_stask_blok_ccpy_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. | |
void | starpu_stask_blok_dcpy_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. | |
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. | |
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_stask_blok_cgemm (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_stask_blok_dgemm (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_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. | |
void | starpu_sparse_matrix_init (SolverMatrix *solvmtx, pastix_mtxtype_t mtxtype, int nodes, int myrank, pastix_coeftype_t flttype) |
Generate the StarPU descriptor of the sparse matrix. | |
void | starpu_sparse_matrix_destroy (starpu_sparse_matrix_desc_t *desc) |
Free the StarPU descriptor of the sparse matrix. | |
void | starpu_sparse_matrix_getoncpu (starpu_sparse_matrix_desc_t *desc) |
Submit asynchronous calls to retrieve the data on main memory. | |
void | starpu_rhs_init (SolverMatrix *solvmtx, pastix_rhs_t rhsb, int typesze, int nodes, int myrank) |
Generate the StarPU descriptor of the dense matrix. | |
void | starpu_rhs_destroy (starpu_rhs_desc_t *desc) |
Free the StarPU descriptor of the dense matrix. | |
void | starpu_rhs_getoncpu (starpu_rhs_desc_t *desc) |
Submit asynchronous calls to retrieve the data on main memory. | |
void | starpu_sparse_cblk_wont_use (pastix_coefside_t coef, SolverCblk *cblk) |
Submit asynchronous calls to retrieve the data on main memory. | |
void | pastix_starpu_init (pastix_data_t *pastix, int *argc, char **argv[], const int *bindtab) |
Startup the StarPU runtime system. | |
void | pastix_starpu_finalize (pastix_data_t *pastix) |
Finalize the StarPU runtime system. | |
int | pastix_starpu_tag_init (pastix_data_t *pastix_data) |
Initialize the StarPU tags manager. | |
int64_t | pastix_starpu_tag_book (int64_t nbtags) |
Book a range of StarPU unique tags of size nbtags. | |
void | pastix_starpu_tag_release (int64_t min) |
Release the set of tags starting by min. | |
static void | profiling_display_allinfo () |
Displays all profiling data collected into all measurements tables of the profile_list. | |
void | pastix_starpu_register (starpu_data_handle_t *handleptr, const SolverCblk *cblk, pastix_coefside_t side, pastix_coeftype_t flttype) |
Register a cblk at the StarPU level. | |
void | pastix_starpu_register_ws (starpu_data_handle_t *handleptr, const SolverCblk *cblk, pastix_coeftype_t flttype) |
void | pastix_starpu_register_blok (starpu_data_handle_t *handleptr, const SolverCblk *cblk, const SolverBlok *blok, pastix_coeftype_t flttype) |
void | pastix_starpu_interface_init () |
Initialize the interface ID. | |
void | pastix_starpu_interface_fini () |
Finalize the interface and reset the ID. | |
Variables | |
static struct starpu_perfmodel | starpu_blok_zscalo_model |
Functions to profile the codelet. | |
static struct starpu_perfmodel | starpu_blok_cscalo_model |
Functions to profile the codelet. | |
static struct starpu_perfmodel | starpu_blok_dscalo_model |
Functions to profile the codelet. | |
static struct starpu_perfmodel | starpu_blok_sscalo_model |
Functions to profile the codelet. | |
struct starpu_data_interface_ops | pastix_starpu_interface_ops |
StarPU Interface to handle cblks and bloks. | |
struct starpu_codelet | cl_fanin_init_cpu |
Main structure for all tasks of fanin_init type. | |
struct starpu_codelet | cl_rhs_init_cpu |
Main structure for all tasks of rhs_init type. | |
struct starpu_data_interface_ops | pastix_starpu_interface_ops |
TODO. | |
void | pastix_starpu_cblk_destroy (int is_owner, SolverCblk *cblk, starpu_cblk_t *cblkhandle) |
Destroy a single cblk StarPU data structure of the sparse matrix. | |
This module describes the functionnality provided by the runtime system StarPU for the numerical factorization and solve.
struct starpu_cblk_s |
Additional StarPU handlers for a column-block when using 2D kernels.
Handle requirements for contiguous allocation of the block handlers when using StarPU data partitioning.
Definition at line 99 of file pastix_starpu.h.
Data Fields | ||
---|---|---|
pastix_int_t | handlenbr |
Number of 2D block handlers in the column-block |
starpu_data_handle_t * | handletab |
Array of 2D block handlers for the column-block |
struct starpu_sparse_matrix_desc_s |
StarPU descriptor stucture for the sparse matrix.
Definition at line 107 of file pastix_starpu.h.
Data Fields | ||
---|---|---|
int64_t | mpitag |
MPI id of StarPU |
int | typesze |
Arithmetic size |
pastix_mtxtype_t | mtxtype |
Matrix structure: PastixGeneral, PastixSymmetric or PastixHermitian. |
SolverMatrix * | solvmtx |
Solver matrix structure that describes the problem and stores the original data |
starpu_cblk_t * | cblktab_handle |
Array of 2D column-block handlers (NULL when using 1D kernels only) |
void ** | gpu_blocktab |
Pointer to GPU arrays that contains frownum,lrownum of each block for Fermi (NULL otherwise) |
struct starpu_rhs_desc_s |
StarPU descriptor for the vectors linked to a given sparse matrix.
Definition at line 119 of file pastix_starpu.h.
Data Fields | ||
---|---|---|
int64_t | mpitag |
MPI id of StarPU |
int | ncol |
Number of columns of the matrix |
int | typesze |
Arithmetic size |
SolverMatrix * | solvmtx |
Solver matrix structure that describes the problem and stores the original data |
starpu_data_handle_t * | handletab |
Array of handlers for the blocks |
void * | dataptr |
Store the main data pointer to check that the descriptor matches the reference |
struct profile_data_s |
Base structure to all codelet arguments that include the profiling data.
Definition at line 187 of file pastix_starpu.h.
Data Fields | ||
---|---|---|
double | flops |
struct pastix_starpu_interface_s |
Interface data structure to register the pieces of data in StarPU.
Definition at line 251 of file pastix_starpu.h.
Data Fields | ||
---|---|---|
enum starpu_data_interface_id | id |
Identifier of the interface |
pastix_coeftype_t | flttype |
Floating type of the elements |
int | offset |
-1 for cblk, blok offset for the subdatas |
int | nbblok |
Number of blocks |
size_t | allocsize |
size currently allocated |
const SolverCblk * | cblk |
Internal structure used to store the cblk |
void * | dataptr |
Pointer on data |
#define PASTIX_STARPU_INTERFACE_ID pastix_starpu_interface_ops.interfaceid |
Alias to get the Interface id.
Definition at line 246 of file pastix_starpu.h.
typedef struct starpu_cblk_s starpu_cblk_t |
Additional StarPU handlers for a column-block when using 2D kernels.
Handle requirements for contiguous allocation of the block handlers when using StarPU data partitioning.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 195 of file codelet_blok_zadd.c.
References cpublok_zadd().
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 cblk). Note that the caller always execute the task.
[in] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
[in] | side | Define which side of the cblk must be tested.
|
[in] | cblk | The column block of the matrix. |
[in] | blok | The block of the matrix. |
[in] | fcblk | The facing column block of the matrix. |
[in] | fblok | The facing block of the matrix. |
[in] | prio | The task priority. |
Definition at line 288 of file codelet_blok_zadd.c.
References solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_blok_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_zadd_2d_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 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.
[in] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
[in] | side | Define which side of the cblk must be tested.
|
[in] | cblk | The column block of the matrix. |
[in] | blok | The block of the matrix. |
[in] | prio | The task priority. |
Definition at line 380 of file codelet_blok_zadd.c.
References solver_cblk_s::cblktype, solver_blok_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_zadd_2d_fanin().
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 195 of file codelet_blok_cadd.c.
References cpublok_cadd().
void starpu_task_blok_cadd_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.
[in] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
[in] | side | Define which side of the cblk must be tested.
|
[in] | cblk | The column block of the matrix. |
[in] | blok | The block of the matrix. |
[in] | fcblk | The facing column block of the matrix. |
[in] | fblok | The facing block of the matrix. |
[in] | prio | The task priority. |
Definition at line 288 of file codelet_blok_cadd.c.
References solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_blok_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_cadd_2d_recv().
void starpu_task_blok_cadd_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.
[in] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
[in] | side | Define which side of the cblk must be tested.
|
[in] | cblk | The column block of the matrix. |
[in] | blok | The block of the matrix. |
[in] | prio | The task priority. |
Definition at line 380 of file codelet_blok_cadd.c.
References solver_cblk_s::cblktype, solver_blok_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_cadd_2d_fanin().
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 195 of file codelet_blok_dadd.c.
References cpublok_dadd().
void starpu_task_blok_dadd_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.
[in] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
[in] | side | Define which side of the cblk must be tested.
|
[in] | cblk | The column block of the matrix. |
[in] | blok | The block of the matrix. |
[in] | fcblk | The facing column block of the matrix. |
[in] | fblok | The facing block of the matrix. |
[in] | prio | The task priority. |
Definition at line 288 of file codelet_blok_dadd.c.
References solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_blok_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_dadd_2d_recv().
void starpu_task_blok_dadd_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.
[in] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
[in] | side | Define which side of the cblk must be tested.
|
[in] | cblk | The column block of the matrix. |
[in] | blok | The block of the matrix. |
[in] | prio | The task priority. |
Definition at line 380 of file codelet_blok_dadd.c.
References solver_cblk_s::cblktype, solver_blok_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_dadd_2d_fanin().
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 195 of file codelet_blok_sadd.c.
References cpublok_sadd().
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.
[in] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
[in] | side | Define which side of the cblk must be tested.
|
[in] | cblk | The column block of the matrix. |
[in] | blok | The block of the matrix. |
[in] | fcblk | The facing column block of the matrix. |
[in] | fblok | The facing block of the matrix. |
[in] | prio | The task priority. |
Definition at line 288 of file codelet_blok_sadd.c.
References solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_blok_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_sadd_2d_recv().
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.
[in] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
[in] | side | Define which side of the cblk must be tested.
|
[in] | cblk | The column block of the matrix. |
[in] | blok | The block of the matrix. |
[in] | prio | The task priority. |
Definition at line 380 of file codelet_blok_sadd.c.
References solver_cblk_s::cblktype, solver_blok_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_sadd_2d_fanin().
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 197 of file codelet_blok_zgemmsp.c.
References cpublok_zgemmsp().
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.
TODO
[in] | sopalin_data | TODO |
[in] | sideA | TODO |
[in] | sideB | TODO |
[in] | trans | TODO |
[in] | cblk | TODO |
[in] | fcblk | TODO |
[in] | blokA | TODO |
[in] | blokB | TODO |
[in] | prio | TODO |
Definition at line 287 of file codelet_blok_zgemmsp.c.
References solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_blok_s::frownum, solver_blok_s::handler, solver_blok_s::lcblknm, solver_blok_s::lrownum, solver_cblk_s::ownerid, and pastix_int_t.
Referenced by starpu_task_getrf_zgemmsp(), starpu_task_hetrf_zgemmsp(), starpu_task_potrf_zgemmsp(), starpu_task_pxtrf_zgemmsp(), and starpu_task_sytrf_zgemmsp().
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 197 of file codelet_blok_cgemmsp.c.
References cpublok_cgemmsp().
void starpu_task_blok_cgemmsp | ( | 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.
TODO
[in] | sopalin_data | TODO |
[in] | sideA | TODO |
[in] | sideB | TODO |
[in] | trans | TODO |
[in] | cblk | TODO |
[in] | fcblk | TODO |
[in] | blokA | TODO |
[in] | blokB | TODO |
[in] | prio | TODO |
Definition at line 287 of file codelet_blok_cgemmsp.c.
References solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_blok_s::frownum, solver_blok_s::handler, solver_blok_s::lcblknm, solver_blok_s::lrownum, solver_cblk_s::ownerid, and pastix_int_t.
Referenced by starpu_task_getrf_cgemmsp(), starpu_task_hetrf_cgemmsp(), starpu_task_potrf_cgemmsp(), starpu_task_pxtrf_cgemmsp(), and starpu_task_sytrf_cgemmsp().
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 197 of file codelet_blok_dgemmsp.c.
References cpublok_dgemmsp().
void starpu_task_blok_dgemmsp | ( | 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.
TODO
[in] | sopalin_data | TODO |
[in] | sideA | TODO |
[in] | sideB | TODO |
[in] | trans | TODO |
[in] | cblk | TODO |
[in] | fcblk | TODO |
[in] | blokA | TODO |
[in] | blokB | TODO |
[in] | prio | TODO |
Definition at line 287 of file codelet_blok_dgemmsp.c.
References solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_blok_s::frownum, solver_blok_s::handler, solver_blok_s::lcblknm, solver_blok_s::lrownum, solver_cblk_s::ownerid, and pastix_int_t.
Referenced by starpu_task_getrf_dgemmsp(), starpu_task_potrf_dgemmsp(), and starpu_task_sytrf_dgemmsp().
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 197 of file codelet_blok_sgemmsp.c.
References cpublok_sgemmsp().
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.
TODO
[in] | sopalin_data | TODO |
[in] | sideA | TODO |
[in] | sideB | TODO |
[in] | trans | TODO |
[in] | cblk | TODO |
[in] | fcblk | TODO |
[in] | blokA | TODO |
[in] | blokB | TODO |
[in] | prio | TODO |
Definition at line 287 of file codelet_blok_sgemmsp.c.
References solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_blok_s::frownum, solver_blok_s::handler, solver_blok_s::lcblknm, solver_blok_s::lrownum, solver_cblk_s::ownerid, and pastix_int_t.
Referenced by starpu_task_getrf_sgemmsp(), starpu_task_potrf_sgemmsp(), and starpu_task_sytrf_sgemmsp().
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 186 of file codelet_blok_zgetrfsp.c.
References cpucblk_zgetrfsp1d_getrf().
void starpu_task_blok_zgetrf | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 222 of file codelet_blok_zgetrfsp.c.
References solver_cblk_s::fblokptr, solver_blok_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_zgetrfsp().
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 186 of file codelet_blok_cgetrfsp.c.
References cpucblk_cgetrfsp1d_getrf().
void starpu_task_blok_cgetrf | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 222 of file codelet_blok_cgetrfsp.c.
References solver_cblk_s::fblokptr, solver_blok_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_cgetrfsp().
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 186 of file codelet_blok_dgetrfsp.c.
References cpucblk_dgetrfsp1d_getrf().
void starpu_task_blok_dgetrf | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 222 of file codelet_blok_dgetrfsp.c.
References solver_cblk_s::fblokptr, solver_blok_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_dgetrfsp().
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 186 of file codelet_blok_sgetrfsp.c.
References cpucblk_sgetrfsp1d_getrf().
void starpu_task_blok_sgetrf | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 222 of file codelet_blok_sgetrfsp.c.
References solver_cblk_s::fblokptr, solver_blok_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_sgetrfsp().
|
static |
Functions to profile the codelet.
Two levels of profiling are available: 1) A generic one that returns the flops per worker 2) A more detailed one that generate logs of the performance for each kernel
StarPU CPU implementation
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 185 of file codelet_blok_chetrfsp.c.
References cpucblk_chetrfsp1d_hetrf().
void starpu_task_blok_chetrf | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 220 of file codelet_blok_chetrfsp.c.
References solver_cblk_s::fblokptr, solver_blok_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_chetrfsp().
|
static |
Functions to profile the codelet.
Two levels of profiling are available: 1) A generic one that returns the flops per worker 2) A more detailed one that generate logs of the performance for each kernel
StarPU CPU implementation
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 185 of file codelet_blok_zhetrfsp.c.
References cpucblk_zhetrfsp1d_hetrf().
void starpu_task_blok_zhetrf | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 220 of file codelet_blok_zhetrfsp.c.
References solver_cblk_s::fblokptr, solver_blok_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_zhetrfsp().
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 185 of file codelet_blok_zpotrfsp.c.
References cpucblk_zpotrfsp1d_potrf().
void starpu_task_blok_zpotrf | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 220 of file codelet_blok_zpotrfsp.c.
References solver_cblk_s::fblokptr, solver_blok_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_zpotrfsp().
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 185 of file codelet_blok_cpotrfsp.c.
References cpucblk_cpotrfsp1d_potrf().
void starpu_task_blok_cpotrf | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 220 of file codelet_blok_cpotrfsp.c.
References solver_cblk_s::fblokptr, solver_blok_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_cpotrfsp().
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 185 of file codelet_blok_dpotrfsp.c.
References cpucblk_dpotrfsp1d_potrf().
void starpu_task_blok_dpotrf | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 220 of file codelet_blok_dpotrfsp.c.
References solver_cblk_s::fblokptr, solver_blok_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_dpotrfsp().
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 185 of file codelet_blok_spotrfsp.c.
References cpucblk_spotrfsp1d_potrf().
void starpu_task_blok_spotrf | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 220 of file codelet_blok_spotrfsp.c.
References solver_cblk_s::fblokptr, solver_blok_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_spotrfsp().
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 185 of file codelet_blok_cpxtrfsp.c.
References cpucblk_cpxtrfsp1d_pxtrf().
void starpu_task_blok_cpxtrf | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 220 of file codelet_blok_cpxtrfsp.c.
References solver_cblk_s::fblokptr, solver_blok_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_cpxtrfsp().
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 185 of file codelet_blok_zpxtrfsp.c.
References cpucblk_zpxtrfsp1d_pxtrf().
void starpu_task_blok_zpxtrf | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 220 of file codelet_blok_zpxtrfsp.c.
References solver_cblk_s::fblokptr, solver_blok_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_zpxtrfsp().
|
static |
StarPU CPU implementation.
Definition at line 128 of file codelet_blok_zscalo.c.
References cpublok_zscalo().
void starpu_task_blok_zscalo | ( | sopalin_data_t * | sopalin_data, |
pastix_trans_t | trans, | ||
const SolverCblk * | cblk, | ||
SolverBlok * | blok, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | trans | TODO |
[in] | cblk | TODO |
[in] | blok | TODO |
[in] | prio | TODO |
Definition at line 171 of file codelet_blok_zscalo.c.
References solver_cblk_s::fblokptr, solver_blok_s::handler, solver_cblk_s::ownerid, and pastix_int_t.
Referenced by starpu_task_hetrf_zgemmsp(), and starpu_task_sytrf_zgemmsp().
|
static |
StarPU CPU implementation.
Definition at line 128 of file codelet_blok_cscalo.c.
References cpublok_cscalo().
void starpu_task_blok_cscalo | ( | sopalin_data_t * | sopalin_data, |
pastix_trans_t | trans, | ||
const SolverCblk * | cblk, | ||
SolverBlok * | blok, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | trans | TODO |
[in] | cblk | TODO |
[in] | blok | TODO |
[in] | prio | TODO |
Definition at line 171 of file codelet_blok_cscalo.c.
References solver_cblk_s::fblokptr, solver_blok_s::handler, solver_cblk_s::ownerid, and pastix_int_t.
Referenced by starpu_task_hetrf_cgemmsp(), and starpu_task_sytrf_cgemmsp().
|
static |
StarPU CPU implementation.
Definition at line 128 of file codelet_blok_dscalo.c.
References cpublok_dscalo().
void starpu_task_blok_dscalo | ( | sopalin_data_t * | sopalin_data, |
pastix_trans_t | trans, | ||
const SolverCblk * | cblk, | ||
SolverBlok * | blok, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | trans | TODO |
[in] | cblk | TODO |
[in] | blok | TODO |
[in] | prio | TODO |
Definition at line 171 of file codelet_blok_dscalo.c.
References solver_cblk_s::fblokptr, solver_blok_s::handler, solver_cblk_s::ownerid, and pastix_int_t.
Referenced by starpu_task_sytrf_dgemmsp().
|
static |
StarPU CPU implementation.
Definition at line 128 of file codelet_blok_sscalo.c.
References cpublok_sscalo().
void starpu_task_blok_sscalo | ( | sopalin_data_t * | sopalin_data, |
pastix_trans_t | trans, | ||
const SolverCblk * | cblk, | ||
SolverBlok * | blok, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | trans | TODO |
[in] | cblk | TODO |
[in] | blok | TODO |
[in] | prio | TODO |
Definition at line 171 of file codelet_blok_sscalo.c.
References solver_cblk_s::fblokptr, solver_blok_s::handler, solver_cblk_s::ownerid, and pastix_int_t.
Referenced by starpu_task_sytrf_sgemmsp().
void starpu_task_blok_zsytrf | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 218 of file codelet_blok_zsytrfsp.c.
References solver_cblk_s::fblokptr, solver_blok_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_zsytrfsp().
void starpu_task_blok_csytrf | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 218 of file codelet_blok_csytrfsp.c.
References solver_cblk_s::fblokptr, solver_blok_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_csytrfsp().
void starpu_task_blok_dsytrf | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 218 of file codelet_blok_dsytrfsp.c.
References solver_cblk_s::fblokptr, solver_blok_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_dsytrfsp().
void starpu_task_blok_ssytrf | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 218 of file codelet_blok_ssytrfsp.c.
References solver_cblk_s::fblokptr, solver_blok_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_ssytrfsp().
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 195 of file codelet_blok_ztrsmsp.c.
References cpublok_ztrsmsp().
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.
TODO
[in] | sopalin_data | TODO |
[in] | coef | TODO |
[in] | side | TODO |
[in] | uplo | TODO |
[in] | trans | TODO |
[in] | diag | TODO |
[in] | cblk | TODO |
[in] | blok | TODO |
[in] | prio | TODO |
Definition at line 277 of file codelet_blok_ztrsmsp.c.
References solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_blok_s::handler, solver_cblk_s::ownerid, and pastix_int_t.
Referenced by starpu_task_zgetrfsp(), starpu_task_zhetrfsp(), starpu_task_zpotrfsp(), starpu_task_zpxtrfsp(), and starpu_task_zsytrfsp().
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 195 of file codelet_blok_ctrsmsp.c.
References cpublok_ctrsmsp().
void starpu_task_blok_ctrsmsp | ( | 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.
TODO
[in] | sopalin_data | TODO |
[in] | coef | TODO |
[in] | side | TODO |
[in] | uplo | TODO |
[in] | trans | TODO |
[in] | diag | TODO |
[in] | cblk | TODO |
[in] | blok | TODO |
[in] | prio | TODO |
Definition at line 277 of file codelet_blok_ctrsmsp.c.
References solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_blok_s::handler, solver_cblk_s::ownerid, and pastix_int_t.
Referenced by starpu_task_cgetrfsp(), starpu_task_chetrfsp(), starpu_task_cpotrfsp(), starpu_task_cpxtrfsp(), and starpu_task_csytrfsp().
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 195 of file codelet_blok_dtrsmsp.c.
References cpublok_dtrsmsp().
void starpu_task_blok_dtrsmsp | ( | 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.
TODO
[in] | sopalin_data | TODO |
[in] | coef | TODO |
[in] | side | TODO |
[in] | uplo | TODO |
[in] | trans | TODO |
[in] | diag | TODO |
[in] | cblk | TODO |
[in] | blok | TODO |
[in] | prio | TODO |
Definition at line 277 of file codelet_blok_dtrsmsp.c.
References solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_blok_s::handler, solver_cblk_s::ownerid, and pastix_int_t.
Referenced by starpu_task_dgetrfsp(), starpu_task_dpotrfsp(), and starpu_task_dsytrfsp().
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 195 of file codelet_blok_strsmsp.c.
References cpublok_strsmsp().
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.
TODO
[in] | sopalin_data | TODO |
[in] | coef | TODO |
[in] | side | TODO |
[in] | uplo | TODO |
[in] | trans | TODO |
[in] | diag | TODO |
[in] | cblk | TODO |
[in] | blok | TODO |
[in] | prio | TODO |
Definition at line 277 of file codelet_blok_strsmsp.c.
References solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_blok_s::handler, solver_cblk_s::ownerid, and pastix_int_t.
Referenced by starpu_task_sgetrfsp(), starpu_task_spotrfsp(), and starpu_task_ssytrfsp().
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 190 of file codelet_cblk_zadd.c.
References cpucblk_zadd().
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 cblk). Note that the caller always execute the task.
[in] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
[in] | side | Define which side of the cblk must be tested.
|
[in] | cblk | The column block of the matrix. |
[in] | fcblk | The facing column block of the matrix. |
[in] | prio | The task priority. |
Definition at line 275 of file codelet_cblk_zadd.c.
References solver_cblk_s::cblktype, solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_zadd_1dp_recv().
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 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.
[in] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
[in] | side | Define which side of the cblk must be tested.
|
[in] | cblk | The column block of the matrix. |
[in] | prio | The task priority. |
Definition at line 358 of file codelet_cblk_zadd.c.
References solver_cblk_s::cblktype, solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_zadd_1dp_fanin().
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 190 of file codelet_cblk_cadd.c.
References cpucblk_cadd().
void starpu_task_cblk_cadd_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.
[in] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
[in] | side | Define which side of the cblk must be tested.
|
[in] | cblk | The column block of the matrix. |
[in] | fcblk | The facing column block of the matrix. |
[in] | prio | The task priority. |
Definition at line 275 of file codelet_cblk_cadd.c.
References solver_cblk_s::cblktype, solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_cadd_1dp_recv().
void starpu_task_cblk_cadd_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.
[in] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
[in] | side | Define which side of the cblk must be tested.
|
[in] | cblk | The column block of the matrix. |
[in] | prio | The task priority. |
Definition at line 358 of file codelet_cblk_cadd.c.
References solver_cblk_s::cblktype, solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_cadd_1dp_fanin().
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 190 of file codelet_cblk_dadd.c.
References cpucblk_dadd().
void starpu_task_cblk_dadd_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.
[in] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
[in] | side | Define which side of the cblk must be tested.
|
[in] | cblk | The column block of the matrix. |
[in] | fcblk | The facing column block of the matrix. |
[in] | prio | The task priority. |
Definition at line 275 of file codelet_cblk_dadd.c.
References solver_cblk_s::cblktype, solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_dadd_1dp_recv().
void starpu_task_cblk_dadd_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.
[in] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
[in] | side | Define which side of the cblk must be tested.
|
[in] | cblk | The column block of the matrix. |
[in] | prio | The task priority. |
Definition at line 358 of file codelet_cblk_dadd.c.
References solver_cblk_s::cblktype, solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_dadd_1dp_fanin().
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 190 of file codelet_cblk_sadd.c.
References cpucblk_sadd().
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.
[in] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
[in] | side | Define which side of the cblk must be tested.
|
[in] | cblk | The column block of the matrix. |
[in] | fcblk | The facing column block of the matrix. |
[in] | prio | The task priority. |
Definition at line 275 of file codelet_cblk_sadd.c.
References solver_cblk_s::cblktype, solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_sadd_1dp_recv().
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.
[in] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
[in] | side | Define which side of the cblk must be tested.
|
[in] | cblk | The column block of the matrix. |
[in] | prio | The task priority. |
Definition at line 358 of file codelet_cblk_sadd.c.
References solver_cblk_s::cblktype, solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_sadd_1dp_fanin().
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 203 of file codelet_cblk_zgemmsp.c.
References cpucblk_zgemmsp().
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.
TODO
[in] | sopalin_data | TODO |
[in] | sideA | TODO |
[in] | sideB | TODO |
[in] | trans | TODO |
[in] | cblk | TODO |
[in] | blok | |
[in] | fcblk | TODO |
[in] | prio | TODO |
Definition at line 285 of file codelet_cblk_zgemmsp.c.
References solver_cblk_s::cblktype, solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_getrf_zgemmsp(), starpu_task_hetrf_zgemmsp(), starpu_task_potrf_zgemmsp(), starpu_task_pxtrf_zgemmsp(), starpu_task_sytrf_zgemmsp(), starpu_zgetrf_sp1dplus_ll(), starpu_zgetrf_sp1dplus_rl(), starpu_zhetrf_sp1dplus_ll(), starpu_zhetrf_sp1dplus_rl(), starpu_zpotrf_sp1dplus_ll(), starpu_zpotrf_sp1dplus_rl(), starpu_zpxtrf_sp1dplus_ll(), starpu_zpxtrf_sp1dplus_rl(), starpu_zsytrf_sp1dplus_ll(), and starpu_zsytrf_sp1dplus_rl().
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 203 of file codelet_cblk_cgemmsp.c.
References cpucblk_cgemmsp().
void starpu_task_cblk_cgemmsp | ( | 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.
TODO
[in] | sopalin_data | TODO |
[in] | sideA | TODO |
[in] | sideB | TODO |
[in] | trans | TODO |
[in] | cblk | TODO |
[in] | blok | |
[in] | fcblk | TODO |
[in] | prio | TODO |
Definition at line 285 of file codelet_cblk_cgemmsp.c.
References solver_cblk_s::cblktype, solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_cgetrf_sp1dplus_ll(), starpu_cgetrf_sp1dplus_rl(), starpu_chetrf_sp1dplus_ll(), starpu_chetrf_sp1dplus_rl(), starpu_cpotrf_sp1dplus_ll(), starpu_cpotrf_sp1dplus_rl(), starpu_cpxtrf_sp1dplus_ll(), starpu_cpxtrf_sp1dplus_rl(), starpu_csytrf_sp1dplus_ll(), starpu_csytrf_sp1dplus_rl(), starpu_task_getrf_cgemmsp(), starpu_task_hetrf_cgemmsp(), starpu_task_potrf_cgemmsp(), starpu_task_pxtrf_cgemmsp(), and starpu_task_sytrf_cgemmsp().
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 203 of file codelet_cblk_dgemmsp.c.
References cpucblk_dgemmsp().
void starpu_task_cblk_dgemmsp | ( | 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.
TODO
[in] | sopalin_data | TODO |
[in] | sideA | TODO |
[in] | sideB | TODO |
[in] | trans | TODO |
[in] | cblk | TODO |
[in] | blok | |
[in] | fcblk | TODO |
[in] | prio | TODO |
Definition at line 285 of file codelet_cblk_dgemmsp.c.
References solver_cblk_s::cblktype, solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_dgetrf_sp1dplus_ll(), starpu_dgetrf_sp1dplus_rl(), starpu_dpotrf_sp1dplus_ll(), starpu_dpotrf_sp1dplus_rl(), starpu_dsytrf_sp1dplus_ll(), starpu_dsytrf_sp1dplus_rl(), starpu_task_getrf_dgemmsp(), starpu_task_potrf_dgemmsp(), and starpu_task_sytrf_dgemmsp().
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 203 of file codelet_cblk_sgemmsp.c.
References cpucblk_sgemmsp().
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.
TODO
[in] | sopalin_data | TODO |
[in] | sideA | TODO |
[in] | sideB | TODO |
[in] | trans | TODO |
[in] | cblk | TODO |
[in] | blok | |
[in] | fcblk | TODO |
[in] | prio | TODO |
Definition at line 285 of file codelet_cblk_sgemmsp.c.
References solver_cblk_s::cblktype, solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_sgetrf_sp1dplus_ll(), starpu_sgetrf_sp1dplus_rl(), starpu_spotrf_sp1dplus_ll(), starpu_spotrf_sp1dplus_rl(), starpu_ssytrf_sp1dplus_ll(), starpu_ssytrf_sp1dplus_rl(), starpu_task_getrf_sgemmsp(), starpu_task_potrf_sgemmsp(), and starpu_task_sytrf_sgemmsp().
void starpu_task_cblk_zgetrfsp | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 225 of file codelet_cblk_zgetrfsp.c.
References solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_zgetrfsp().
void starpu_task_cblk_cgetrfsp | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 225 of file codelet_cblk_cgetrfsp.c.
References solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_cgetrfsp().
void starpu_task_cblk_dgetrfsp | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 225 of file codelet_cblk_dgetrfsp.c.
References solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_dgetrfsp().
void starpu_task_cblk_sgetrfsp | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 225 of file codelet_cblk_sgetrfsp.c.
References solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_sgetrfsp().
void starpu_task_cblk_chetrfsp | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 231 of file codelet_cblk_chetrfsp.c.
References solver_cblk_s::gcblknum, solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_chetrf_sp1dplus_ll(), starpu_chetrf_sp1dplus_rl(), and starpu_task_chetrfsp().
void starpu_task_cblk_zhetrfsp | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 231 of file codelet_cblk_zhetrfsp.c.
References solver_cblk_s::gcblknum, solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_zhetrfsp(), starpu_zhetrf_sp1dplus_ll(), and starpu_zhetrf_sp1dplus_rl().
void starpu_task_cblk_zpotrfsp | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 223 of file codelet_cblk_zpotrfsp.c.
References solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_zpotrfsp(), starpu_zpotrf_sp1dplus_ll(), and starpu_zpotrf_sp1dplus_rl().
void starpu_task_cblk_cpotrfsp | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 223 of file codelet_cblk_cpotrfsp.c.
References solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_cpotrf_sp1dplus_ll(), starpu_cpotrf_sp1dplus_rl(), and starpu_task_cpotrfsp().
void starpu_task_cblk_dpotrfsp | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 223 of file codelet_cblk_dpotrfsp.c.
References solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_dpotrf_sp1dplus_ll(), starpu_dpotrf_sp1dplus_rl(), and starpu_task_dpotrfsp().
void starpu_task_cblk_spotrfsp | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 223 of file codelet_cblk_spotrfsp.c.
References solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_spotrf_sp1dplus_ll(), starpu_spotrf_sp1dplus_rl(), and starpu_task_spotrfsp().
void starpu_task_cblk_cpxtrfsp | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 222 of file codelet_cblk_cpxtrfsp.c.
References solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_cpxtrf_sp1dplus_ll(), starpu_cpxtrf_sp1dplus_rl(), and starpu_task_cpxtrfsp().
void starpu_task_cblk_zpxtrfsp | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 222 of file codelet_cblk_zpxtrfsp.c.
References solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_zpxtrfsp(), starpu_zpxtrf_sp1dplus_ll(), and starpu_zpxtrf_sp1dplus_rl().
void starpu_task_cblk_zsytrfsp | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 231 of file codelet_cblk_zsytrfsp.c.
References solver_cblk_s::gcblknum, solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_zsytrfsp(), starpu_zsytrf_sp1dplus_ll(), and starpu_zsytrf_sp1dplus_rl().
void starpu_task_cblk_csytrfsp | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 231 of file codelet_cblk_csytrfsp.c.
References solver_cblk_s::gcblknum, solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_csytrf_sp1dplus_ll(), starpu_csytrf_sp1dplus_rl(), and starpu_task_csytrfsp().
void starpu_task_cblk_dsytrfsp | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 231 of file codelet_cblk_dsytrfsp.c.
References solver_cblk_s::gcblknum, solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_dsytrf_sp1dplus_ll(), starpu_dsytrf_sp1dplus_rl(), and starpu_task_dsytrfsp().
void starpu_task_cblk_ssytrfsp | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 231 of file codelet_cblk_ssytrfsp.c.
References solver_cblk_s::gcblknum, solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_ssytrf_sp1dplus_ll(), starpu_ssytrf_sp1dplus_rl(), and starpu_task_ssytrfsp().
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 cblk). Note that the caller always execute the task.
[in] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
[in] | side | Define which side of the cblk must be tested.
|
[in,out] | rhsb | The pointer to the rhs data structure that holds the vectors of the right hand side. |
[in] | cblk | The column block of the matrix. |
[in] | fcblk | The facing column block of the matrix. |
[in] | prio | The task priority. |
Definition at line 128 of file codelet_solve_zadd.c.
References cblk_colnbr(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, solver_cblk_s::gcblknum, solver_cblk_s::ownerid, and pastix_int_t.
Referenced by starpu_ztrsm_sp1dplus().
void starpu_stask_blok_cadd_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.
[in] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
[in] | side | Define which side of the cblk must be tested.
|
[in,out] | rhsb | The pointer to the rhs data structure that holds the vectors of the right hand side. |
[in] | cblk | The column block of the matrix. |
[in] | fcblk | The facing column block of the matrix. |
[in] | prio | The task priority. |
Definition at line 128 of file codelet_solve_cadd.c.
References cblk_colnbr(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, solver_cblk_s::gcblknum, solver_cblk_s::ownerid, and pastix_int_t.
Referenced by starpu_ctrsm_sp1dplus().
void starpu_stask_blok_dadd_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.
[in] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
[in] | side | Define which side of the cblk must be tested.
|
[in,out] | rhsb | The pointer to the rhs data structure that holds the vectors of the right hand side. |
[in] | cblk | The column block of the matrix. |
[in] | fcblk | The facing column block of the matrix. |
[in] | prio | The task priority. |
Definition at line 128 of file codelet_solve_dadd.c.
References cblk_colnbr(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, solver_cblk_s::gcblknum, solver_cblk_s::ownerid, and pastix_int_t.
Referenced by starpu_dtrsm_sp1dplus().
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.
[in] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
[in] | side | Define which side of the cblk must be tested.
|
[in,out] | rhsb | The pointer to the rhs data structure that holds the vectors of the right hand side. |
[in] | cblk | The column block of the matrix. |
[in] | fcblk | The facing column block of the matrix. |
[in] | prio | The task priority. |
Definition at line 128 of file codelet_solve_sadd.c.
References cblk_colnbr(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, solver_cblk_s::gcblknum, solver_cblk_s::ownerid, and pastix_int_t.
Referenced by starpu_strsm_sp1dplus().
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 cblk). Note that the caller always execute the task.
[in] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
[in] | side | Define which side of the cblk must be tested.
|
[in,out] | rhsb | The pointer to the rhs data structure that holds the vectors of the right hand side. |
[in] | cblk | The column block of the matrix. |
[in] | fcblk | The facing column block of the matrix. |
[in] | prio | The task priority. |
Definition at line 135 of file codelet_solve_zcpy.c.
References cblk_colnbr(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, solver_cblk_s::gcblknum, solver_cblk_s::ownerid, and pastix_int_t.
Referenced by starpu_ztrsm_sp1dplus().
void starpu_stask_blok_ccpy_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.
[in] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
[in] | side | Define which side of the cblk must be tested.
|
[in,out] | rhsb | The pointer to the rhs data structure that holds the vectors of the right hand side. |
[in] | cblk | The column block of the matrix. |
[in] | fcblk | The facing column block of the matrix. |
[in] | prio | The task priority. |
Definition at line 135 of file codelet_solve_ccpy.c.
References cblk_colnbr(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, solver_cblk_s::gcblknum, solver_cblk_s::ownerid, and pastix_int_t.
Referenced by starpu_ctrsm_sp1dplus().
void starpu_stask_blok_dcpy_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.
[in] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
[in] | side | Define which side of the cblk must be tested.
|
[in,out] | rhsb | The pointer to the rhs data structure that holds the vectors of the right hand side. |
[in] | cblk | The column block of the matrix. |
[in] | fcblk | The facing column block of the matrix. |
[in] | prio | The task priority. |
Definition at line 135 of file codelet_solve_dcpy.c.
References cblk_colnbr(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, solver_cblk_s::gcblknum, solver_cblk_s::ownerid, and pastix_int_t.
Referenced by starpu_dtrsm_sp1dplus().
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.
[in] | sopalin_data | Solver matrix information structure that will guide the algorithm. |
[in] | side | Define which side of the cblk must be tested.
|
[in,out] | rhsb | The pointer to the rhs data structure that holds the vectors of the right hand side. |
[in] | cblk | The column block of the matrix. |
[in] | fcblk | The facing column block of the matrix. |
[in] | prio | The task priority. |
Definition at line 135 of file codelet_solve_scpy.c.
References cblk_colnbr(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, solver_cblk_s::gcblknum, solver_cblk_s::ownerid, and pastix_int_t.
Referenced by starpu_strsm_sp1dplus().
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.
[in] | coef | Specify whether the computation are made with the L part, or the U part of A. It has to be either PastixLCoef, or PastixUCoef. |
[in,out] | rhsb | The pointer to the rhs data structure that holds the vectors of the right hand side. |
[in] | side | Specify the side parameter of the TRSM. |
[in] | trans | Specify the transposition used for the matrix A in the computation. It has to be either PastixTrans or PastixConjTrans. |
[in] | cblk | The cblk structure that corresponds to the A and B matrix. |
[in] | blok | The blok structure that corresponds to the A matrix, and that belongs either to cblk or fcbk depending on the side parameter. |
[in,out] | fcbk | The cblk structure that corresponds to the C matrix. |
[in] | sopalin_data | The data that provide the SolverMatrix structure from PaStiX, and descriptor of b (providing nrhs, b and ldb). |
[in] | prio | The priority of the task in th DAG. |
Definition at line 157 of file codelet_solve_zgemm.c.
References cblk_colnbr(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, solver_cblk_s::gcblknum, solver_cblk_s::handler, solver_cblk_s::ownerid, pastix_int_t, and PastixRight.
Referenced by starpu_cblk_ztrsmsp_backward(), and starpu_cblk_ztrsmsp_forward().
void starpu_stask_blok_cgemm | ( | 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.
[in] | coef | Specify whether the computation are made with the L part, or the U part of A. It has to be either PastixLCoef, or PastixUCoef. |
[in,out] | rhsb | The pointer to the rhs data structure that holds the vectors of the right hand side. |
[in] | side | Specify the side parameter of the TRSM. |
[in] | trans | Specify the transposition used for the matrix A in the computation. It has to be either PastixTrans or PastixConjTrans. |
[in] | cblk | The cblk structure that corresponds to the A and B matrix. |
[in] | blok | The blok structure that corresponds to the A matrix, and that belongs either to cblk or fcbk depending on the side parameter. |
[in,out] | fcbk | The cblk structure that corresponds to the C matrix. |
[in] | sopalin_data | The data that provide the SolverMatrix structure from PaStiX, and descriptor of b (providing nrhs, b and ldb). |
[in] | prio | The priority of the task in th DAG. |
Definition at line 157 of file codelet_solve_cgemm.c.
References cblk_colnbr(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, solver_cblk_s::gcblknum, solver_cblk_s::handler, solver_cblk_s::ownerid, pastix_int_t, and PastixRight.
Referenced by starpu_cblk_ctrsmsp_backward(), and starpu_cblk_ctrsmsp_forward().
void starpu_stask_blok_dgemm | ( | 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.
[in] | coef | Specify whether the computation are made with the L part, or the U part of A. It has to be either PastixLCoef, or PastixUCoef. |
[in,out] | rhsb | The pointer to the rhs data structure that holds the vectors of the right hand side. |
[in] | side | Specify the side parameter of the TRSM. |
[in] | trans | Specify the transposition used for the matrix A in the computation. It has to be either PastixTrans or PastixTrans. |
[in] | cblk | The cblk structure that corresponds to the A and B matrix. |
[in] | blok | The blok structure that corresponds to the A matrix, and that belongs either to cblk or fcbk depending on the side parameter. |
[in,out] | fcbk | The cblk structure that corresponds to the C matrix. |
[in] | sopalin_data | The data that provide the SolverMatrix structure from PaStiX, and descriptor of b (providing nrhs, b and ldb). |
[in] | prio | The priority of the task in th DAG. |
Definition at line 157 of file codelet_solve_dgemm.c.
References cblk_colnbr(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, solver_cblk_s::gcblknum, solver_cblk_s::handler, solver_cblk_s::ownerid, pastix_int_t, and PastixRight.
Referenced by starpu_cblk_dtrsmsp_backward(), and starpu_cblk_dtrsmsp_forward().
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.
[in] | coef | Specify whether the computation are made with the L part, or the U part of A. It has to be either PastixLCoef, or PastixUCoef. |
[in,out] | rhsb | The pointer to the rhs data structure that holds the vectors of the right hand side. |
[in] | side | Specify the side parameter of the TRSM. |
[in] | trans | Specify the transposition used for the matrix A in the computation. It has to be either PastixTrans or PastixTrans. |
[in] | cblk | The cblk structure that corresponds to the A and B matrix. |
[in] | blok | The blok structure that corresponds to the A matrix, and that belongs either to cblk or fcbk depending on the side parameter. |
[in,out] | fcbk | The cblk structure that corresponds to the C matrix. |
[in] | sopalin_data | The data that provide the SolverMatrix structure from PaStiX, and descriptor of b (providing nrhs, b and ldb). |
[in] | prio | The priority of the task in th DAG. |
Definition at line 157 of file codelet_solve_sgemm.c.
References cblk_colnbr(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, solver_cblk_s::gcblknum, solver_cblk_s::handler, solver_cblk_s::ownerid, pastix_int_t, and PastixRight.
Referenced by starpu_cblk_strsmsp_backward(), and starpu_cblk_strsmsp_forward().
void starpu_sparse_matrix_init | ( | SolverMatrix * | solvmtx, |
pastix_mtxtype_t | mtxtype, | ||
int | nodes, | ||
int | myrank, | ||
pastix_coeftype_t | flttype | ||
) |
Generate the StarPU descriptor of the sparse matrix.
This function creates the StarPU descriptor that will provide tha data mapping and memory location to StarPU for the computation.
[in,out] | solvmtx | The solver matrix structure that describes the sparse matrix for PaStiX. |
[in] | mtxtype | The type of sparse matrix to describe.
|
[in] | nodes | The number of processes used to solve the problem. |
[in] | myrank | The rank of the calling process. |
[in] | flttype | The memory size of the arithmetic used to store the matrix coefficients. |
Definition at line 224 of file starpu_sparse_matrix.c.
References solver_matrix_s::cblkmin2d, solver_matrix_s::cblknbr, solver_matrix_s::cblktab, starpu_sparse_matrix_desc_s::cblktab_handle, solver_cblk_s::fblokptr, solver_matrix_s::gbloknbr, solver_matrix_s::gcblknbr, solver_matrix_s::gfaninbloknbr, solver_matrix_s::gfanincblknbr, starpu_sparse_matrix_desc_s::gpu_blocktab, starpu_cblk_s::handlenbr, solver_blok_s::handler, starpu_cblk_s::handletab, starpu_sparse_matrix_desc_s::mpitag, starpu_sparse_matrix_desc_s::mtxtype, pastix_int_t, pastix_starpu_tag_book(), PastixGeneral, starpu_sparse_matrix_desc_s::solvmtx, starpu_sparse_matrix_destroy(), and starpu_sparse_matrix_desc_s::typesze.
Referenced by pastix_subtask_bcsc2ctab(), starpu_cdiag(), starpu_cgetrf(), starpu_chetrf(), starpu_cpotrf(), starpu_cpxtrf(), starpu_csytrf(), starpu_ctrsm(), starpu_ddiag(), starpu_dgetrf(), starpu_dpotrf(), starpu_dsytrf(), starpu_dtrsm(), starpu_sdiag(), starpu_sgetrf(), starpu_spotrf(), starpu_ssytrf(), starpu_strsm(), starpu_zdiag(), starpu_zgetrf(), starpu_zhetrf(), starpu_zpotrf(), starpu_zpxtrf(), starpu_zsytrf(), and starpu_ztrsm().
void starpu_sparse_matrix_destroy | ( | starpu_sparse_matrix_desc_t * | spmtx | ) |
Free the StarPU descriptor of the sparse matrix.
This function destroys the StarPU descriptor, but do not free the matrix data that are managed by PaStiX.
[in,out] | spmtx | The descriptor to free. |
Definition at line 550 of file starpu_sparse_matrix.c.
References solver_matrix_s::cblkmin2d, solver_matrix_s::cblknbr, solver_matrix_s::cblktab, starpu_sparse_matrix_desc_s::cblktab_handle, starpu_sparse_matrix_desc_s::mpitag, solver_cblk_s::ownerid, pastix_int_t, pastix_starpu_cblk_destroy(), pastix_starpu_tag_release(), and starpu_sparse_matrix_desc_s::solvmtx.
Referenced by coeftabExit(), and starpu_sparse_matrix_init().
void starpu_sparse_matrix_getoncpu | ( | starpu_sparse_matrix_desc_t * | spmtx | ) |
Submit asynchronous calls to retrieve the data on main memory.
[in,out] | spmtx | The sparse matrix descriptor to retrieve on main memory. |
Definition at line 447 of file starpu_sparse_matrix.c.
References solver_matrix_s::cblknbr, solver_matrix_s::cblktab, solver_cblk_s::handler, solver_cblk_s::ownerid, pastix_int_t, starpu_sparse_matrix_desc_s::solvmtx, and solver_cblk_s::ucoeftab.
Referenced by starpu_cdiag(), starpu_cgetrf(), starpu_chetrf(), starpu_cpotrf(), starpu_cpxtrf(), starpu_csytrf(), starpu_ctrsm(), starpu_ddiag(), starpu_dgetrf(), starpu_dpotrf(), starpu_dsytrf(), starpu_dtrsm(), starpu_sdiag(), starpu_sgetrf(), starpu_spotrf(), starpu_ssytrf(), starpu_strsm(), starpu_zdiag(), starpu_zgetrf(), starpu_zhetrf(), starpu_zpotrf(), starpu_zpxtrf(), starpu_zsytrf(), and starpu_ztrsm().
void starpu_rhs_init | ( | SolverMatrix * | solvmtx, |
pastix_rhs_t | rhsb, | ||
int | typesize, | ||
int | nodes, | ||
int | myrank | ||
) |
Generate the StarPU descriptor of the dense matrix.
This function creates the StarPU descriptor that will provide tha data mapping and memory location to StarPU for the computation.
[in,out] | solvmtx | The solver matrix structure that describes the dense matrix for PaStiX. |
[in,out] | rhsb | The pointer to the rhs data structure that holds the vectors of the right hand side. |
[in] | typesize | The memory size of the arithmetic used to store the matrix coefficients. |
[in] | nodes | The number of processes used to solve the problem. |
[in] | myrank | The rank of the calling process. |
Definition at line 152 of file starpu_rhs.c.
References pastix_rhs_s::b, cblk_colnbr(), solver_matrix_s::cblknbr, solver_matrix_s::cblktab, starpu_rhs_desc_s::dataptr, solver_matrix_s::gcblknbr, solver_matrix_s::gfanincblknbr, starpu_rhs_desc_s::handletab, solver_cblk_s::lcolidx, pastix_rhs_s::ld, starpu_rhs_desc_s::mpitag, pastix_rhs_s::n, starpu_rhs_desc_s::ncol, pastix_int_t, pastix_starpu_rhs_data_register(), pastix_starpu_tag_book(), starpu_rhs_desc_s::solvmtx, starpu_rhs_destroy(), and starpu_rhs_desc_s::typesze.
Referenced by starpu_cdiag(), starpu_ctrsm(), starpu_ddiag(), starpu_dtrsm(), starpu_sdiag(), starpu_strsm(), starpu_zdiag(), and starpu_ztrsm().
void starpu_rhs_destroy | ( | starpu_rhs_desc_t * | rhsdesc | ) |
Free the StarPU descriptor of the dense matrix.
This function destroys the StarPU descriptor, but do not free the matrix data that are managed by PaStiX.
[in,out] | rhsdesc | The descriptor to free. |
Definition at line 255 of file starpu_rhs.c.
References solver_matrix_s::cblknbr, solver_matrix_s::cblktab, starpu_rhs_desc_s::handletab, starpu_rhs_desc_s::mpitag, pastix_int_t, pastix_starpu_tag_release(), and starpu_rhs_desc_s::solvmtx.
Referenced by pastixRhsFinalize(), and starpu_rhs_init().
void starpu_rhs_getoncpu | ( | starpu_rhs_desc_t * | rhsdesc | ) |
Submit asynchronous calls to retrieve the data on main memory.
[in,out] | rhsdesc | The dense matrix descriptor to retrieve on main memory. |
Definition at line 217 of file starpu_rhs.c.
References solver_matrix_s::cblknbr, solver_matrix_s::cblktab, starpu_rhs_desc_s::handletab, solver_cblk_s::ownerid, pastix_int_t, and starpu_rhs_desc_s::solvmtx.
Referenced by starpu_cdiag(), starpu_ctrsm(), starpu_ddiag(), starpu_dtrsm(), starpu_sdiag(), starpu_strsm(), starpu_zdiag(), and starpu_ztrsm().
void starpu_sparse_cblk_wont_use | ( | pastix_coefside_t | side, |
SolverCblk * | cblk | ||
) |
Submit asynchronous calls to retrieve the data on main memory.
[in] | side | The cblk for which the data needs to be flushed. |
[in,out] | cblk | The cblk for which the data needs to be flushed. |
Definition at line 417 of file starpu_sparse_matrix.c.
References solver_cblk_s::handler, PastixLCoef, and PastixUCoef.
Referenced by starpu_cgetrf_sp1dplus_ll(), starpu_cgetrf_sp1dplus_rl(), starpu_cgetrf_sp2d_ll(), starpu_cgetrf_sp2d_rl(), starpu_chetrf_sp1dplus_ll(), starpu_chetrf_sp1dplus_rl(), starpu_chetrf_sp2d_ll(), starpu_chetrf_sp2d_rl(), starpu_cpotrf_sp1dplus_ll(), starpu_cpotrf_sp1dplus_rl(), starpu_cpotrf_sp2d_ll(), starpu_cpotrf_sp2d_rl(), starpu_cpxtrf_sp1dplus_ll(), starpu_cpxtrf_sp1dplus_rl(), starpu_cpxtrf_sp2d_ll(), starpu_cpxtrf_sp2d_rl(), starpu_csytrf_sp1dplus_ll(), starpu_csytrf_sp1dplus_rl(), starpu_csytrf_sp2d_ll(), starpu_csytrf_sp2d_rl(), starpu_dgetrf_sp1dplus_ll(), starpu_dgetrf_sp1dplus_rl(), starpu_dgetrf_sp2d_ll(), starpu_dgetrf_sp2d_rl(), starpu_dpotrf_sp1dplus_ll(), starpu_dpotrf_sp1dplus_rl(), starpu_dpotrf_sp2d_ll(), starpu_dpotrf_sp2d_rl(), starpu_dsytrf_sp1dplus_ll(), starpu_dsytrf_sp1dplus_rl(), starpu_dsytrf_sp2d_ll(), starpu_dsytrf_sp2d_rl(), starpu_sgetrf_sp1dplus_ll(), starpu_sgetrf_sp1dplus_rl(), starpu_sgetrf_sp2d_ll(), starpu_sgetrf_sp2d_rl(), starpu_spotrf_sp1dplus_ll(), starpu_spotrf_sp1dplus_rl(), starpu_spotrf_sp2d_ll(), starpu_spotrf_sp2d_rl(), starpu_ssytrf_sp1dplus_ll(), starpu_ssytrf_sp1dplus_rl(), starpu_ssytrf_sp2d_ll(), starpu_ssytrf_sp2d_rl(), starpu_zgetrf_sp1dplus_ll(), starpu_zgetrf_sp1dplus_rl(), starpu_zgetrf_sp2d_ll(), starpu_zgetrf_sp2d_rl(), starpu_zhetrf_sp1dplus_ll(), starpu_zhetrf_sp1dplus_rl(), starpu_zhetrf_sp2d_ll(), starpu_zhetrf_sp2d_rl(), starpu_zpotrf_sp1dplus_ll(), starpu_zpotrf_sp1dplus_rl(), starpu_zpotrf_sp2d_ll(), starpu_zpotrf_sp2d_rl(), starpu_zpxtrf_sp1dplus_ll(), starpu_zpxtrf_sp1dplus_rl(), starpu_zpxtrf_sp2d_ll(), starpu_zpxtrf_sp2d_rl(), starpu_zsytrf_sp1dplus_ll(), starpu_zsytrf_sp1dplus_rl(), starpu_zsytrf_sp2d_ll(), and starpu_zsytrf_sp2d_rl().
void pastix_starpu_init | ( | pastix_data_t * | pastix, |
int * | argc, | ||
char ** | argv[], | ||
const int * | bindtab | ||
) |
Startup the StarPU runtime system.
This function initialize and startup the StarPU runtime system with PaStix configuration variables
[in,out] | pastix | The main pastix_data structure. |
[in,out] | argc | The number of arguments of the main program. |
[in,out] | argv | The list of argument given to the main program. |
[in] | bindtab | The binding array of size the number of threads if a specific binding is required, NULL otherwise. |
Definition at line 92 of file starpu.c.
References IPARM_GPU_NBR, IPARM_THREAD_NBR, pastix(), pastix_gendirectories(), pastix_int_t, pastix_starpu_interface_init(), and pastix_starpu_tag_init().
Referenced by pastixInitWithAffinity(), starpu_cdiag(), starpu_cgetrf(), starpu_chetrf(), starpu_cpotrf(), starpu_cpxtrf(), starpu_csytrf(), starpu_ctrsm(), starpu_ddiag(), starpu_dgetrf(), starpu_dpotrf(), starpu_dsytrf(), starpu_dtrsm(), starpu_sdiag(), starpu_sgetrf(), starpu_spotrf(), starpu_ssytrf(), starpu_strsm(), starpu_zdiag(), starpu_zgetrf(), starpu_zhetrf(), starpu_zpotrf(), starpu_zpxtrf(), starpu_zsytrf(), and starpu_ztrsm().
void pastix_starpu_finalize | ( | pastix_data_t * | pastix | ) |
Finalize the StarPU runtime system.
This function stop the StarPU runtime system.
[in,out] | pastix | The main pastix_data structure. |
Definition at line 227 of file starpu.c.
References pastix(), pastix_starpu_interface_fini(), and profiling_display_allinfo().
Referenced by pastixFinalize().
int pastix_starpu_tag_init | ( | pastix_data_t * | pastix_data | ) |
Initialize the StarPU tags manager.
MPI tag management
[in] | pastix_data | The main pastix_data structure to provide the MPI communicator. |
TODO |
Definition at line 219 of file starpu_tags.c.
References PASTIX_SUCCESS.
Referenced by pastix_starpu_init().
int64_t pastix_starpu_tag_book | ( | int64_t | nbtags | ) |
Book a range of StarPU unique tags of size nbtags.
This function returns the minimal tag value available to allow the registration of nbtags data in a continuous range.
Note that this function must be called exactly the same way on all nodes to make sure the tags are identical from one node to another.
[in] | nbtags | The number of tags required to register the sparse matrix or right hand side. |
Definition at line 246 of file starpu_tags.c.
Referenced by starpu_rhs_init(), and starpu_sparse_matrix_init().
void pastix_starpu_tag_release | ( | int64_t | min | ) |
Release the set of tags starting by min.
This function releases the range of tags that starts by the min value.
[in] | min | The initial value in the range |
Definition at line 264 of file starpu_tags.c.
Referenced by starpu_rhs_destroy(), and starpu_sparse_matrix_destroy().
|
inlinestatic |
Displays all profiling data collected into all measurements tables of the profile_list.
Definition at line 206 of file pastix_starpu.h.
Referenced by pastix_starpu_finalize().
void pastix_starpu_register | ( | starpu_data_handle_t * | handleptr, |
const SolverCblk * | cblk, | ||
pastix_coefside_t | side, | ||
pastix_coeftype_t | flttype | ||
) |
Register a cblk at the StarPU level.
[out] | handleptr | The StarPU data handle to the registered data. Space must be allocated on call. |
[in] | home_node | The StarPU memory node enum to specify where the initial data is located -1 if not local, STARPU_MAIN_RAM if local. |
[in] | cblk | The cblk to register |
[in] | side | Specify which part of the cblk (Upper or Lower) to register |
[in] | flttype | Specify the arithmetic floating type of the coefficients |
Definition at line 644 of file pastix_starpu_interface.c.
References pastix_starpu_interface_s::allocsize, cblk_colnbr(), solver_cblk_s::cblktype, pastix_starpu_interface_s::dataptr, solver_cblk_s::fblokptr, pastix_starpu_interface_s::id, solver_cblk_s::lcoeftab, solver_blok_s::LRblock, pastix_starpu_interface_s::nbblok, PASTIX_STARPU_INTERFACE_ID, pastix_starpu_interface_ops, PastixLCoef, PastixLUCoef, solver_cblk_s::stride, and solver_cblk_s::ucoeftab.
void pastix_starpu_register_ws | ( | starpu_data_handle_t * | handleptr, |
const SolverCblk * | cblk, | ||
pastix_coeftype_t | flttype | ||
) |
Definition at line 708 of file pastix_starpu_interface.c.
void pastix_starpu_register_blok | ( | starpu_data_handle_t * | handleptr, |
const SolverCblk * | cblk, | ||
const SolverBlok * | blok, | ||
pastix_coeftype_t | flttype | ||
) |
Definition at line 760 of file pastix_starpu_interface.c.
void pastix_starpu_interface_init | ( | ) |
Initialize the interface ID.
Definition at line 578 of file pastix_starpu_interface.c.
References pastix_starpu_interface_ops.
Referenced by pastix_starpu_init().
void pastix_starpu_interface_fini | ( | ) |
Finalize the interface and reset the ID.
Definition at line 608 of file pastix_starpu_interface.c.
References pastix_starpu_interface_ops.
Referenced by pastix_starpu_finalize().
void pastix_starpu_cblk_destroy | ( | int | is_owner, |
SolverCblk * | cblk, | ||
starpu_cblk_t * | cblkhandle | ||
) |
Destroy a single cblk StarPU data structure of the sparse matrix.
[in] | is_owner | Boolean to specify if the calling process owns the cblk or not |
[in,out] | cblk | Pointer to the cblk data structure |
[in,out] | starpu_cblk | Pointer to the starpu data structure associated to the cblk |
Definition at line 492 of file starpu_sparse_matrix.c.
References solver_cblk_s::cblktype, starpu_cblk_s::handlenbr, solver_cblk_s::handler, and starpu_cblk_s::handletab.
Referenced by starpu_sparse_matrix_destroy().
|
static |
Functions to profile the codelet.
Two levels of profiling are available: 1) A generic one that returns the flops per worker 2) A more detailed one that generate logs of the performance for each kernel
Definition at line 113 of file codelet_blok_zscalo.c.
|
static |
Functions to profile the codelet.
Two levels of profiling are available: 1) A generic one that returns the flops per worker 2) A more detailed one that generate logs of the performance for each kernel
Definition at line 113 of file codelet_blok_cscalo.c.
|
static |
Functions to profile the codelet.
Two levels of profiling are available: 1) A generic one that returns the flops per worker 2) A more detailed one that generate logs of the performance for each kernel
Definition at line 113 of file codelet_blok_dscalo.c.
|
static |
Functions to profile the codelet.
Two levels of profiling are available: 1) A generic one that returns the flops per worker 2) A more detailed one that generate logs of the performance for each kernel
Definition at line 113 of file codelet_blok_sscalo.c.
|
extern |
StarPU Interface to handle cblks and bloks.
StarPU Interface to handle cblks and bloks.
Definition at line 545 of file pastix_starpu_interface.c.
Referenced by pastix_starpu_interface_fini(), pastix_starpu_interface_init(), and pastix_starpu_register().
struct starpu_data_interface_ops pastix_starpu_interface_ops |
TODO.
StarPU Interface to handle cblks and bloks.
Definition at line 545 of file pastix_starpu_interface.c.
Referenced by pastix_starpu_interface_fini(), pastix_starpu_interface_init(), and pastix_starpu_register().