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. More... | |
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 pastix_fixdbl_t | fct_blok_cadd_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
static void | fct_blok_cadd_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
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. More... | |
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. More... | |
static pastix_fixdbl_t | fct_blok_zadd_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
static void | fct_blok_zadd_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
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. More... | |
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. More... | |
static pastix_fixdbl_t | fct_blok_dadd_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
static void | fct_blok_dadd_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
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. More... | |
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. More... | |
static pastix_fixdbl_t | fct_blok_sadd_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
static void | fct_blok_sadd_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
void | starpu_task_blok_sadd_recv (sopalin_data_t *sopalin_data, pastix_coefside_t side, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, SolverBlok *fblok, int prio) |
Insert the task to add a fanin cblk on the receiver side (The fanin is seen on this side as the RECV cblk). Note that the caller always execute the task. More... | |
void | starpu_task_blok_sadd_fanin (sopalin_data_t *sopalin_data, pastix_coefside_t side, const SolverCblk *cblk, const SolverBlok *blok, int prio) |
Insert the task to add a fanin cblk on the emitter side. Note that this task is submitted only to emit a send to the owner of the associated recv cblk that will perform the add. Thus, the task is always submitted but never executed. More... | |
static pastix_fixdbl_t | fct_blok_cgemmsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
static void | fct_blok_cgemmsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
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. More... | |
static pastix_fixdbl_t | fct_blok_zgemmsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
static void | fct_blok_zgemmsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
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. More... | |
static pastix_fixdbl_t | fct_blok_dgemmsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
static void | fct_blok_dgemmsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
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. More... | |
static pastix_fixdbl_t | fct_blok_sgemmsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
static void | fct_blok_sgemmsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
void | starpu_task_blok_sgemmsp (sopalin_data_t *sopalin_data, pastix_coefside_t sideA, pastix_coefside_t sideB, pastix_trans_t trans, SolverCblk *cblk, SolverCblk *fcblk, const SolverBlok *blokA, const SolverBlok *blokB, int prio) |
StarPU GPU implementation. More... | |
static pastix_fixdbl_t | fct_blok_cgetrfsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
static void | fct_blok_cgetrfsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
void | starpu_task_blok_cgetrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
static pastix_fixdbl_t | fct_blok_zgetrfsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
static void | fct_blok_zgetrfsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
void | starpu_task_blok_zgetrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
static pastix_fixdbl_t | fct_blok_dgetrfsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
static void | fct_blok_dgetrfsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
void | starpu_task_blok_dgetrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
static pastix_fixdbl_t | fct_blok_sgetrfsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
static void | fct_blok_sgetrfsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
void | starpu_task_blok_sgetrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
static pastix_fixdbl_t | fct_blok_chetrfsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Functions to profile the codelet. More... | |
static void | fct_blok_chetrfsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
void | starpu_task_blok_chetrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
static pastix_fixdbl_t | fct_blok_zhetrfsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Functions to profile the codelet. More... | |
static void | fct_blok_zhetrfsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
void | starpu_task_blok_zhetrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
static pastix_fixdbl_t | fct_blok_cpotrfsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
static void | fct_blok_cpotrfsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
void | starpu_task_blok_cpotrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
static pastix_fixdbl_t | fct_blok_zpotrfsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
static void | fct_blok_zpotrfsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
void | starpu_task_blok_zpotrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
static pastix_fixdbl_t | fct_blok_dpotrfsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
static void | fct_blok_dpotrfsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
void | starpu_task_blok_dpotrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
static pastix_fixdbl_t | fct_blok_spotrfsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
static void | fct_blok_spotrfsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
void | starpu_task_blok_spotrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
static void | fct_blok_cpxtrfsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
void | starpu_task_blok_cpxtrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
static void | fct_blok_zpxtrfsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
void | starpu_task_blok_zpxtrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
static pastix_fixdbl_t | fct_blok_cscalo_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Functions to profile the codelet. More... | |
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. More... | |
static pastix_fixdbl_t | fct_blok_zscalo_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Functions to profile the codelet. More... | |
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. More... | |
static pastix_fixdbl_t | fct_blok_dscalo_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Functions to profile the codelet. More... | |
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. More... | |
static pastix_fixdbl_t | fct_blok_sscalo_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Functions to profile the codelet. More... | |
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. More... | |
void | starpu_task_blok_csytrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
void | starpu_task_blok_zsytrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
void | starpu_task_blok_dsytrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
void | starpu_task_blok_ssytrf (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
static pastix_fixdbl_t | fct_blok_ctrsmsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
static void | fct_blok_ctrsmsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
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. More... | |
static pastix_fixdbl_t | fct_blok_ztrsmsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
static void | fct_blok_ztrsmsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
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. More... | |
static pastix_fixdbl_t | fct_blok_dtrsmsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
static void | fct_blok_dtrsmsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
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. More... | |
static pastix_fixdbl_t | fct_blok_strsmsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
static void | fct_blok_strsmsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
void | starpu_task_blok_strsmsp (sopalin_data_t *sopalin_data, pastix_coefside_t coef, pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, SolverBlok *blok, int prio) |
StarPU GPU implementation. More... | |
static pastix_fixdbl_t | fct_cblk_cadd_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
static void | fct_cblk_cadd_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
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. More... | |
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. More... | |
static pastix_fixdbl_t | fct_cblk_zadd_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
static void | fct_cblk_zadd_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
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. More... | |
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. More... | |
static pastix_fixdbl_t | fct_cblk_dadd_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
static void | fct_cblk_dadd_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
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. More... | |
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. More... | |
static pastix_fixdbl_t | fct_cblk_sadd_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
static void | fct_cblk_sadd_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
void | starpu_task_cblk_sadd_recv (sopalin_data_t *sopalin_data, pastix_coefside_t side, const SolverCblk *cblk, SolverCblk *fcblk, int prio) |
Insert the task to add a fanin cblk on the receiver side (The fanin is seen on this side as the RECV cblk). Note that the caller always execute the task. More... | |
void | starpu_task_cblk_sadd_fanin (sopalin_data_t *sopalin_data, pastix_coefside_t side, const SolverCblk *cblk, int prio) |
Insert the task to add a fanin cblk on the emitter side. Note that this task is submitted only to emit a send to the owner of the associated recv cblk that will perform the add. Thus, the task is always submitted but never executed. More... | |
static pastix_fixdbl_t | fct_cblk_cgemmsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
static void | fct_cblk_cgemmsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
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. More... | |
static pastix_fixdbl_t | fct_cblk_zgemmsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
static void | fct_cblk_zgemmsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
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. More... | |
static pastix_fixdbl_t | fct_cblk_dgemmsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
static void | fct_cblk_dgemmsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
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. More... | |
static pastix_fixdbl_t | fct_cblk_sgemmsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
static void | fct_cblk_sgemmsp_cpu (void *descr[], void *cl_arg) |
StarPU CPU implementation. More... | |
void | starpu_task_cblk_sgemmsp (sopalin_data_t *sopalin_data, pastix_coefside_t sideA, pastix_coefside_t sideB, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, int prio) |
StarPU GPU implementation. More... | |
static pastix_fixdbl_t | fct_cblk_cgetrfsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
void | starpu_task_cblk_cgetrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
static pastix_fixdbl_t | fct_cblk_zgetrfsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
void | starpu_task_cblk_zgetrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
static pastix_fixdbl_t | fct_cblk_dgetrfsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
void | starpu_task_cblk_dgetrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
static pastix_fixdbl_t | fct_cblk_sgetrfsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
void | starpu_task_cblk_sgetrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
static pastix_fixdbl_t | fct_cblk_chetrfsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
void | starpu_task_cblk_chetrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
static pastix_fixdbl_t | fct_cblk_zhetrfsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
void | starpu_task_cblk_zhetrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
static pastix_fixdbl_t | fct_cblk_cpotrfsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
void | starpu_task_cblk_cpotrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
static pastix_fixdbl_t | fct_cblk_zpotrfsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
void | starpu_task_cblk_zpotrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
static pastix_fixdbl_t | fct_cblk_dpotrfsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
void | starpu_task_cblk_dpotrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
static pastix_fixdbl_t | fct_cblk_spotrfsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
void | starpu_task_cblk_spotrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
static pastix_fixdbl_t | fct_cblk_cpxtrfsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
void | starpu_task_cblk_cpxtrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
static pastix_fixdbl_t | fct_cblk_zpxtrfsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
void | starpu_task_cblk_zpxtrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
static pastix_fixdbl_t | fct_cblk_csytrfsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
void | starpu_task_cblk_csytrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
static pastix_fixdbl_t | fct_cblk_zsytrfsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
void | starpu_task_cblk_zsytrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
static pastix_fixdbl_t | fct_cblk_dsytrfsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
void | starpu_task_cblk_dsytrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
static pastix_fixdbl_t | fct_cblk_ssytrfsp_cost (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl) |
Cost model function. More... | |
void | starpu_task_cblk_ssytrfsp (sopalin_data_t *sopalin_data, SolverCblk *cblk, int prio) |
TODO. More... | |
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. More... | |
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. More... | |
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. More... | |
void | starpu_stask_blok_sadd_fwd_recv (sopalin_data_t *sopalin_data, pastix_rhs_t rhsb, const SolverCblk *cblk, SolverCblk *fcblk, int prio) |
Insert the task to add a fanin cblk on the receiver side (The fanin is seen on this side as the RECV cblk). Note that the caller always execute the task. More... | |
void | starpu_stask_blok_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. More... | |
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. More... | |
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. More... | |
void | starpu_stask_blok_scpy_bwd_recv (sopalin_data_t *sopalin_data, pastix_rhs_t rhsb, SolverCblk *cblk, const SolverCblk *fcblk, int prio) |
Insert the task to add a fanin cblk on the receiver side (The fanin is seen on this side as the RECV cblk). Note that the caller always execute the task. More... | |
void | starpu_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. More... | |
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. More... | |
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. More... | |
void | starpu_stask_blok_sgemm (sopalin_data_t *sopalin_data, pastix_rhs_t rhsb, pastix_coefside_t coef, pastix_side_t side, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcbk, pastix_int_t prio) |
Submit a task to perform a gemm. More... | |
void | starpu_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. More... | |
void | starpu_sparse_matrix_destroy (starpu_sparse_matrix_desc_t *desc) |
Free the StarPU descriptor of the sparse matrix. More... | |
void | starpu_sparse_matrix_getoncpu (starpu_sparse_matrix_desc_t *desc) |
Submit asynchronous calls to retrieve the data on main memory. More... | |
void | starpu_rhs_init (SolverMatrix *solvmtx, pastix_rhs_t rhsb, int typesze, int nodes, int myrank) |
Generate the StarPU descriptor of the dense matrix. More... | |
void | starpu_rhs_destroy (starpu_rhs_desc_t *desc) |
Free the StarPU descriptor of the dense matrix. More... | |
void | starpu_rhs_getoncpu (starpu_rhs_desc_t *desc) |
Submit asynchronous calls to retrieve the data on main memory. More... | |
void | starpu_sparse_cblk_wont_use (pastix_coefside_t coef, SolverCblk *cblk) |
Submit asynchronous calls to retrieve the data on main memory. More... | |
void | pastix_starpu_init (pastix_data_t *pastix, int *argc, char **argv[], const int *bindtab) |
Startup the StarPU runtime system. More... | |
void | pastix_starpu_finalize (pastix_data_t *pastix) |
Finalize the StarPU runtime system. More... | |
int | pastix_starpu_tag_init (pastix_data_t *pastix_data) |
Initialize the StarPU tags manager. More... | |
int64_t | pastix_starpu_tag_book (int64_t nbtags) |
Book a range of StarPU unique tags of size nbtags. More... | |
void | pastix_starpu_tag_release (int64_t min) |
Release the set of tags starting by min. More... | |
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. More... | |
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_cscalo_model |
static struct starpu_perfmodel | starpu_blok_zscalo_model |
static struct starpu_perfmodel | starpu_blok_dscalo_model |
static struct starpu_perfmodel | starpu_blok_sscalo_model |
struct starpu_data_interface_ops | pastix_starpu_interface_ops |
StarPU Interface to handle cblks and bloks. More... | |
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. More... | |
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. More... | |
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 |
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.
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 134 of file codelet_blok_cadd.c.
References blok_rownbr(), cblk_colnbr(), cost(), pastix_int_t, and PastixKernelGEADDCblkFRFR.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 193 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 286 of file codelet_blok_cadd.c.
References solver_blok_s::fcblknm.
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 378 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 134 of file codelet_blok_zadd.c.
References blok_rownbr(), cblk_colnbr(), cost(), pastix_int_t, and PastixKernelGEADDCblkFRFR.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 193 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 286 of file codelet_blok_zadd.c.
References solver_blok_s::fcblknm.
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 378 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 134 of file codelet_blok_dadd.c.
References blok_rownbr(), cblk_colnbr(), cost(), pastix_int_t, and PastixKernelGEADDCblkFRFR.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 193 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 286 of file codelet_blok_dadd.c.
References solver_blok_s::fcblknm.
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 378 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 134 of file codelet_blok_sadd.c.
References blok_rownbr(), cblk_colnbr(), cost(), pastix_int_t, and PastixKernelGEADDCblkFRFR.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 193 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 286 of file codelet_blok_sadd.c.
References solver_blok_s::fcblknm.
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 378 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 136 of file codelet_blok_cgemmsp.c.
References blok_rownbr_ext(), cblk_colnbr(), cost(), pastix_int_t, and PastixKernelGEMMBlok2d2d.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 196 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 286 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 136 of file codelet_blok_zgemmsp.c.
References blok_rownbr_ext(), cblk_colnbr(), cost(), pastix_int_t, and PastixKernelGEMMBlok2d2d.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 196 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 286 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 136 of file codelet_blok_dgemmsp.c.
References blok_rownbr_ext(), cblk_colnbr(), cost(), pastix_int_t, and PastixKernelGEMMBlok2d2d.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 196 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 286 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 136 of file codelet_blok_sgemmsp.c.
References blok_rownbr_ext(), cblk_colnbr(), cost(), pastix_int_t, and PastixKernelGEMMBlok2d2d.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 196 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 286 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 126 of file codelet_blok_cgetrfsp.c.
References cblk_colnbr(), cost(), pastix_int_t, and PastixKernelGETRF.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 184 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 220 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 126 of file codelet_blok_zgetrfsp.c.
References cblk_colnbr(), cost(), pastix_int_t, and PastixKernelGETRF.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 184 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 220 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 126 of file codelet_blok_dgetrfsp.c.
References cblk_colnbr(), cost(), pastix_int_t, and PastixKernelGETRF.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 184 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 220 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 126 of file codelet_blok_sgetrfsp.c.
References cblk_colnbr(), cost(), pastix_int_t, and PastixKernelGETRF.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 184 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 220 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().
|
inlinestatic |
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
Cost model function
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 126 of file codelet_blok_chetrfsp.c.
References cblk_colnbr(), cost(), pastix_int_t, and PastixKernelHETRF.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 183 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 218 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().
|
inlinestatic |
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
Cost model function
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 126 of file codelet_blok_zhetrfsp.c.
References cblk_colnbr(), cost(), pastix_int_t, and PastixKernelHETRF.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 183 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 218 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 126 of file codelet_blok_cpotrfsp.c.
References cblk_colnbr(), cost(), pastix_int_t, and PastixKernelPOTRF.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 183 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 218 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 126 of file codelet_blok_zpotrfsp.c.
References cblk_colnbr(), cost(), pastix_int_t, and PastixKernelPOTRF.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 183 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 218 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 126 of file codelet_blok_dpotrfsp.c.
References cblk_colnbr(), cost(), pastix_int_t, and PastixKernelPOTRF.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 183 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 218 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 126 of file codelet_blok_spotrfsp.c.
References cblk_colnbr(), cost(), pastix_int_t, and PastixKernelPOTRF.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 183 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 218 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 183 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 218 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 183 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 218 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().
|
inlinestatic |
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
Cost model function
The user can switch from the pastix static model to an history based model computed automatically.
Definition at line 81 of file codelet_blok_cscalo.c.
References blok_rownbr_ext(), cblk_colnbr(), cost(), pastix_int_t, and PastixKernelSCALOBlok.
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 169 of file codelet_blok_cscalo.c.
References solver_cblk_s::fblokptr, solver_blok_s::handler, and pastix_int_t.
Referenced by starpu_task_hetrf_cgemmsp(), and starpu_task_sytrf_cgemmsp().
|
inlinestatic |
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
Cost model function
The user can switch from the pastix static model to an history based model computed automatically.
Definition at line 81 of file codelet_blok_zscalo.c.
References blok_rownbr_ext(), cblk_colnbr(), cost(), pastix_int_t, and PastixKernelSCALOBlok.
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 169 of file codelet_blok_zscalo.c.
References solver_cblk_s::fblokptr, solver_blok_s::handler, and pastix_int_t.
Referenced by starpu_task_hetrf_zgemmsp(), and starpu_task_sytrf_zgemmsp().
|
inlinestatic |
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
Cost model function
The user can switch from the pastix static model to an history based model computed automatically.
Definition at line 81 of file codelet_blok_dscalo.c.
References blok_rownbr_ext(), cblk_colnbr(), cost(), pastix_int_t, and PastixKernelSCALOBlok.
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 169 of file codelet_blok_dscalo.c.
References solver_cblk_s::fblokptr, solver_blok_s::handler, and pastix_int_t.
Referenced by starpu_task_sytrf_dgemmsp().
|
inlinestatic |
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
Cost model function
The user can switch from the pastix static model to an history based model computed automatically.
Definition at line 81 of file codelet_blok_sscalo.c.
References blok_rownbr_ext(), cblk_colnbr(), cost(), pastix_int_t, and PastixKernelSCALOBlok.
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 169 of file codelet_blok_sscalo.c.
References solver_cblk_s::fblokptr, solver_blok_s::handler, and pastix_int_t.
Referenced by starpu_task_sytrf_sgemmsp().
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 216 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_zsytrf | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 216 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_dsytrf | ( | sopalin_data_t * | sopalin_data, |
SolverCblk * | cblk, | ||
int | prio | ||
) |
TODO.
[in] | sopalin_data | TODO |
[in] | cblk | TODO |
[in] | prio | TODO |
Definition at line 216 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 216 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 135 of file codelet_blok_ctrsmsp.c.
References blok_rownbr_ext(), cblk_colnbr(), cost(), pastix_int_t, and PastixKernelTRSMBlok2d.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 193 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 275 of file codelet_blok_ctrsmsp.c.
References 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 135 of file codelet_blok_ztrsmsp.c.
References blok_rownbr_ext(), cblk_colnbr(), cost(), pastix_int_t, and PastixKernelTRSMBlok2d.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 193 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 275 of file codelet_blok_ztrsmsp.c.
References 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 135 of file codelet_blok_dtrsmsp.c.
References blok_rownbr_ext(), cblk_colnbr(), cost(), pastix_int_t, and PastixKernelTRSMBlok2d.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 193 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 275 of file codelet_blok_dtrsmsp.c.
References 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 135 of file codelet_blok_strsmsp.c.
References blok_rownbr_ext(), cblk_colnbr(), cost(), pastix_int_t, and PastixKernelTRSMBlok2d.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 193 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 275 of file codelet_blok_strsmsp.c.
References 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 130 of file codelet_cblk_cadd.c.
References cblk_colnbr(), cost(), pastix_int_t, and PastixKernelGEADDCblkFRFR.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 188 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 273 of file codelet_cblk_cadd.c.
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 356 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 130 of file codelet_cblk_zadd.c.
References cblk_colnbr(), cost(), pastix_int_t, and PastixKernelGEADDCblkFRFR.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 188 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 273 of file codelet_cblk_zadd.c.
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 356 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 130 of file codelet_cblk_dadd.c.
References cblk_colnbr(), cost(), pastix_int_t, and PastixKernelGEADDCblkFRFR.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 188 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 273 of file codelet_cblk_dadd.c.
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 356 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 130 of file codelet_cblk_sadd.c.
References cblk_colnbr(), cost(), pastix_int_t, and PastixKernelGEADDCblkFRFR.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 188 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 273 of file codelet_cblk_sadd.c.
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 356 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 139 of file codelet_cblk_cgemmsp.c.
References blok_rownbr(), cblk_colnbr(), cost(), pastix_int_t, PastixKernelGEMMCblk2d2d, and PastixUCoef.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 201 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 283 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 139 of file codelet_cblk_zgemmsp.c.
References blok_rownbr(), cblk_colnbr(), cost(), pastix_int_t, PastixKernelGEMMCblk2d2d, and PastixUCoef.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 201 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 283 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 139 of file codelet_cblk_dgemmsp.c.
References blok_rownbr(), cblk_colnbr(), cost(), pastix_int_t, PastixKernelGEMMCblk2d2d, and PastixUCoef.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 201 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 283 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 139 of file codelet_cblk_sgemmsp.c.
References blok_rownbr(), cblk_colnbr(), cost(), pastix_int_t, PastixKernelGEMMCblk2d2d, and PastixUCoef.
|
static |
StarPU CPU implementation.
[in] | descr | TODO |
[in] | cl_arg | TODO |
Definition at line 201 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 283 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 128 of file codelet_cblk_cgetrfsp.c.
References cblk_colnbr(), cost(), pastix_int_t, PastixKernelGETRF, and PastixKernelTRSMCblk2d.
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 223 of file codelet_cblk_cgetrfsp.c.
References solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_cgetrfsp().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 128 of file codelet_cblk_zgetrfsp.c.
References cblk_colnbr(), cost(), pastix_int_t, PastixKernelGETRF, and PastixKernelTRSMCblk2d.
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 223 of file codelet_cblk_zgetrfsp.c.
References solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_zgetrfsp().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 128 of file codelet_cblk_dgetrfsp.c.
References cblk_colnbr(), cost(), pastix_int_t, PastixKernelGETRF, and PastixKernelTRSMCblk2d.
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 223 of file codelet_cblk_dgetrfsp.c.
References solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_dgetrfsp().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 128 of file codelet_cblk_sgetrfsp.c.
References cblk_colnbr(), cost(), pastix_int_t, PastixKernelGETRF, and PastixKernelTRSMCblk2d.
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 223 of file codelet_cblk_sgetrfsp.c.
References solver_cblk_s::handler, and solver_cblk_s::ownerid.
Referenced by starpu_task_sgetrfsp().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 129 of file codelet_cblk_chetrfsp.c.
References cblk_colnbr(), cost(), pastix_int_t, PastixKernelHETRF, and PastixKernelTRSMCblk2d.
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 229 of file codelet_cblk_chetrfsp.c.
References solver_cblk_s::handler.
Referenced by starpu_chetrf_sp1dplus_ll(), starpu_chetrf_sp1dplus_rl(), and starpu_task_chetrfsp().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 129 of file codelet_cblk_zhetrfsp.c.
References cblk_colnbr(), cost(), pastix_int_t, PastixKernelHETRF, and PastixKernelTRSMCblk2d.
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 229 of file codelet_cblk_zhetrfsp.c.
References solver_cblk_s::handler.
Referenced by starpu_task_zhetrfsp(), starpu_zhetrf_sp1dplus_ll(), and starpu_zhetrf_sp1dplus_rl().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 128 of file codelet_cblk_cpotrfsp.c.
References cblk_colnbr(), cost(), pastix_int_t, PastixKernelPOTRF, and PastixKernelTRSMCblk2d.
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 221 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 128 of file codelet_cblk_zpotrfsp.c.
References cblk_colnbr(), cost(), pastix_int_t, PastixKernelPOTRF, and PastixKernelTRSMCblk2d.
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 221 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 128 of file codelet_cblk_dpotrfsp.c.
References cblk_colnbr(), cost(), pastix_int_t, PastixKernelPOTRF, and PastixKernelTRSMCblk2d.
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 221 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 128 of file codelet_cblk_spotrfsp.c.
References cblk_colnbr(), cost(), pastix_int_t, PastixKernelPOTRF, and PastixKernelTRSMCblk2d.
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 221 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 127 of file codelet_cblk_cpxtrfsp.c.
References cblk_colnbr(), cost(), pastix_int_t, PastixKernelPXTRF, and PastixKernelTRSMCblk2d.
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 220 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 127 of file codelet_cblk_zpxtrfsp.c.
References cblk_colnbr(), cost(), pastix_int_t, PastixKernelPXTRF, and PastixKernelTRSMCblk2d.
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 220 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().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 129 of file codelet_cblk_csytrfsp.c.
References cblk_colnbr(), cost(), pastix_int_t, PastixKernelSYTRF, and PastixKernelTRSMCblk2d.
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 229 of file codelet_cblk_csytrfsp.c.
References solver_cblk_s::handler.
Referenced by starpu_csytrf_sp1dplus_ll(), starpu_csytrf_sp1dplus_rl(), and starpu_task_csytrfsp().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 129 of file codelet_cblk_zsytrfsp.c.
References cblk_colnbr(), cost(), pastix_int_t, PastixKernelSYTRF, and PastixKernelTRSMCblk2d.
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 229 of file codelet_cblk_zsytrfsp.c.
References solver_cblk_s::handler.
Referenced by starpu_task_zsytrfsp(), starpu_zsytrf_sp1dplus_ll(), and starpu_zsytrf_sp1dplus_rl().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 129 of file codelet_cblk_dsytrfsp.c.
References cblk_colnbr(), cost(), pastix_int_t, PastixKernelSYTRF, and PastixKernelTRSMCblk2d.
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 229 of file codelet_cblk_dsytrfsp.c.
References solver_cblk_s::handler.
Referenced by starpu_dsytrf_sp1dplus_ll(), starpu_dsytrf_sp1dplus_rl(), and starpu_task_dsytrfsp().
|
inlinestatic |
Cost model function.
The user can switch from the pastix static model to an history based model computed automatically.
[in] | task | TODO |
[in] | arch | TODO |
[in] | nimpl | TODO |
TODO |
Definition at line 129 of file codelet_cblk_ssytrfsp.c.
References cblk_colnbr(), cost(), pastix_int_t, PastixKernelSYTRF, and PastixKernelTRSMCblk2d.
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 229 of file codelet_cblk_ssytrfsp.c.
References solver_cblk_s::handler.
Referenced by starpu_ssytrf_sp1dplus_ll(), starpu_ssytrf_sp1dplus_rl(), and starpu_task_ssytrfsp().
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::gcblknum, solver_cblk_s::ownerid, and pastix_int_t.
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::gcblknum, solver_cblk_s::ownerid, and pastix_int_t.
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::gcblknum, solver_cblk_s::ownerid, and pastix_int_t.
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::gcblknum, solver_cblk_s::ownerid, and pastix_int_t.
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::gcblknum, solver_cblk_s::ownerid, and pastix_int_t.
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::gcblknum, solver_cblk_s::ownerid, and pastix_int_t.
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::gcblknum, solver_cblk_s::ownerid, and pastix_int_t.
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::gcblknum, solver_cblk_s::ownerid, and pastix_int_t.
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::ownerid, and pastix_int_t.
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::ownerid, and pastix_int_t.
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::ownerid, and pastix_int_t.
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::ownerid, and pastix_int_t.
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::gbloknbr, solver_matrix_s::gcblknbr, solver_matrix_s::gfaninbloknbr, solver_matrix_s::gfanincblknbr, starpu_sparse_matrix_desc_s::mpitag, pastix_int_t, pastix_starpu_tag_book(), starpu_sparse_matrix_destroy(), and starpu_sparse_matrix_desc_s::typesze.
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_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, solver_matrix_s::cblknbr, starpu_rhs_desc_s::dataptr, solver_matrix_s::gcblknbr, solver_matrix_s::gfanincblknbr, starpu_rhs_desc_s::mpitag, pastix_rhs_s::n, starpu_rhs_desc_s::ncol, pastix_int_t, pastix_starpu_tag_book(), 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 254 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 216 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().
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 cblk_colnbr(), solver_cblk_s::cblktype, solver_cblk_s::fblokptr, pastix_starpu_interface_s::id, PASTIX_STARPU_INTERFACE_ID, PastixLUCoef, and solver_cblk_s::stride.
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 |
Definition at line 81 of file codelet_blok_cscalo.c.
|
static |
Definition at line 81 of file codelet_blok_zscalo.c.
|
static |
Definition at line 81 of file codelet_blok_dscalo.c.
|
static |
Definition at line 81 of file codelet_blok_sscalo.c.
|
extern |
StarPU Interface to handle cblks and bloks.
StarPU Interface to handle cblks and bloks.
Definition at line 1 of file pastix_starpu_interface.c.
Referenced by pastix_starpu_interface_fini(), and pastix_starpu_interface_init().
struct starpu_data_interface_ops pastix_starpu_interface_ops |
TODO.
StarPU Interface to handle cblks and bloks.
Definition at line 1 of file pastix_starpu_interface.c.
Referenced by pastix_starpu_interface_fini(), and pastix_starpu_interface_init().