|
PaStiX Handbook 6.4.0
|
Macros | |
| #define | PastixKernelStop 0 |
| Main stop enum event for all the events in traces. | |
| #define | PastixKernelsNbr (PastixKernelLvl0Nbr + PastixKernelLvl1Nbr + PastixKernelLvl2Nbr) |
| Total number of kernel events. | |
Typedefs | |
| typedef enum pastix_ktype0_e | pastix_ktype0_t |
| List of the Level 0 events that may be traced in PaStiX. | |
| typedef enum pastix_ktype_e | pastix_ktype_t |
| List of the Level 1 events that may be traced in PaStiX. | |
| typedef enum pastix_ktype2_e | pastix_ktype2_t |
| List of the Level 2 events that may be traced in PaStiX. | |
Enumerations | |
| enum | pastix_ktype0_e { PastixKernelLvl0Facto , PastixKernelLvl0Solve , PastixKernelLvl0Diag , PastixKernelLvl0Nbr } |
| List of the Level 0 events that may be traced in PaStiX. More... | |
| enum | pastix_ktype_e { PastixKernelGETRF , PastixKernelHETRF , PastixKernelPOTRF , PastixKernelPXTRF , PastixKernelSYTRF , PastixKernelSCALOCblk , PastixKernelSCALOBlok , PastixKernelTRSMForw , PastixKernelTRSMBack , PastixKernelTRSMCblk1d , PastixKernelTRSMCblk2d , PastixKernelTRSMCblkLR , PastixKernelTRSMBlok2d , PastixKernelTRSMBlokLR , PastixKernelGEMMCblk1d1d , PastixKernelGEMMCblk1d2d , PastixKernelGEMMCblk2d2d , PastixKernelGEMMCblkFRLR , PastixKernelGEMMCblkLRLR , PastixKernelGEMMBlok2d2d , PastixKernelGEMMBlokLRLR , PastixKernelGEADDCblkFRFR , PastixKernelGEADDCblkFRLR , PastixKernelGEADDCblkLRLR , PastixKernelLvl1Nbr } |
| List of the Level 1 events that may be traced in PaStiX. More... | |
| enum | pastix_ktype2_e { PastixKernelLvl2GETRF , PastixKernelLvl2HETRF , PastixKernelLvl2POTRF , PastixKernelLvl2PXTRF , PastixKernelLvl2SYTRF , PastixKernelLvl2_FR_TRSM , PastixKernelLvl2_LR_TRSM , PastixKernelLvl2_FR_GEMM , PastixKernelLvl2_LR_FRFR2FR , PastixKernelLvl2_LR_FRLR2FR , PastixKernelLvl2_LR_LRFR2FR , PastixKernelLvl2_LR_LRLR2FR , PastixKernelLvl2_LR_FRFR2LR , PastixKernelLvl2_LR_FRLR2LR , PastixKernelLvl2_LR_LRFR2LR , PastixKernelLvl2_LR_LRLR2LR , PastixKernelLvl2_LR_FRFR2null , PastixKernelLvl2_LR_FRLR2null , PastixKernelLvl2_LR_LRFR2null , PastixKernelLvl2_LR_LRLR2null , PastixKernelLvl2_LR_init_compress , PastixKernelLvl2_LR_add2C_uncompress , PastixKernelLvl2_LR_add2C_recompress , PastixKernelLvl2_LR_add2C_updateCfr , PastixKernelLvl2_LR_add2C_orthou , PastixKernelLvl2_LR_add2C_rradd_orthogonalize , PastixKernelLvl2_LR_add2C_rradd_recompression , PastixKernelLvl2_LR_add2C_rradd_computeNewU , PastixKernelLvl2Nbr } |
| List of the Level 2 events that may be traced in PaStiX. More... | |
Functions | |
| static void | kernel_trace_start_lvl0 (pastix_ktype0_t ktype) |
| static void | kernel_trace_stop_lvl0 (double flops) |
| static void | kernel_trace_start_lvl2 (pastix_ktype2_t ktype) |
| static void | kernel_trace_stop_lvl2 (double flops) |
| static void | kernel_trace_stop_lvl2_rank (double flops, int rank) |
| void | kernelsTraceInit (const pastix_data_t *pastix_data, pastix_trace_t trace) |
| Starts the trace module. | |
| void | kernelsTraceFinalize (const pastix_data_t *pastix_data) |
| Stops the trace module. | |
| void | kernelsTraceStop (void) |
| Pauses the trace module. | |
| void | kernelsTraceStart (void) |
| Resumes the trace module. | |
| static double | kernel_trace_start (pastix_ktype_t ktype) |
| Start the trace of a single kernel. | |
| static void | kernel_trace_stop (int8_t inlast, pastix_ktype_t ktype, int m, int n, int k, double flops, double starttime) |
| Stop the trace of a single kernel. | |
| #define PastixKernelStop 0 |
Main stop enum event for all the events in traces.
Definition at line 27 of file kernels_enums.h.
| #define PastixKernelsNbr (PastixKernelLvl0Nbr + PastixKernelLvl1Nbr + PastixKernelLvl2Nbr) |
Total number of kernel events.
Definition at line 130 of file kernels_enums.h.
| typedef enum pastix_ktype0_e pastix_ktype0_t |
List of the Level 0 events that may be traced in PaStiX.
This is only the high level steps.
| typedef enum pastix_ktype_e pastix_ktype_t |
List of the Level 1 events that may be traced in PaStiX.
This is the main information that traces all the major kernels during the factorization step.
| typedef enum pastix_ktype2_e pastix_ktype2_t |
List of the Level 2 events that may be traced in PaStiX.
This is the low-level information that traces all the individual calls to blas/lapack routines in the code. It is used to compute the number of flops in low-rank compression, and to distinguish the amount of flops spent in each part of the low-rank updates.
| enum pastix_ktype0_e |
List of the Level 0 events that may be traced in PaStiX.
This is only the high level steps.
Definition at line 34 of file kernels_enums.h.
| enum pastix_ktype_e |
List of the Level 1 events that may be traced in PaStiX.
This is the main information that traces all the major kernels during the factorization step.
Definition at line 47 of file kernels_enums.h.
| enum pastix_ktype2_e |
List of the Level 2 events that may be traced in PaStiX.
This is the low-level information that traces all the individual calls to blas/lapack routines in the code. It is used to compute the number of flops in low-rank compression, and to distinguish the amount of flops spent in each part of the low-rank updates.
Definition at line 84 of file kernels_enums.h.
|
inlinestatic |
Definition at line 142 of file kernels_enums.h.
|
inlinestatic |
Definition at line 143 of file kernels_enums.h.
|
inlinestatic |
Definition at line 144 of file kernels_enums.h.
|
inlinestatic |
Definition at line 145 of file kernels_enums.h.
|
inlinestatic |
Definition at line 146 of file kernels_enums.h.
| void kernelsTraceInit | ( | const pastix_data_t * | pastix_data, |
| pastix_trace_t | trace | ||
| ) |
Starts the trace module.
| [in] | pastix_data | The pastix_data structure of the problem to give input information to the different trace modes. |
| [in] | trace | Value of iparm_trace :
|
Definition at line 147 of file kernels_trace.c.
References solver_matrix_s::bloknbr, solver_matrix_s::cblkmaxblk, solver_matrix_s::cblkmin2d, solver_matrix_s::cblknbr, solver_matrix_s::cblktab, pastix_data_s::dir_global, solver_matrix_s::factotype, solver_cblk_s::fblokptr, kernels_flops, lock_flops, overall_flops, pastix_int_t, PastixFactLU, PastixTraceNot, and pastix_data_s::solvmatr.
Referenced by pastixInitWithAffinity().
| void kernelsTraceFinalize | ( | const pastix_data_t * | pastix_data | ) |
Stops the trace module.
| [in] | pastix_data | The pastix_data structure of the problem to get input information for the different trace modes, and store output statistics. |
Definition at line 259 of file kernels_trace.c.
References pastix_data_s::bcsc, pastix_data_s::dparm, DPARM_FACT_RLFLOPS, pastix_data_s::iparm, IPARM_GPU_NBR, IPARM_VERBOSE, lock_flops, overall_flops, pastix_int_t, PastixKernelGEMMBlokLRLR, PastixKernelGEMMCblk1d1d, PastixKernelGEMMCblkFRLR, PastixKernelGEMMCblkLRLR, PastixKernelGETRF, PastixKernelHETRF, PastixKernelPOTRF, PastixKernelPXTRF, PastixKernelSCALOBlok, PastixKernelSCALOCblk, PastixKernelSYTRF, PastixKernelTRSMBlokLR, PastixKernelTRSMCblk1d, PastixKernelTRSMCblk2d, PastixKernelTRSMCblkLR, and PastixVerboseNot.
Referenced by pastixFinalize().
| void kernelsTraceStop | ( | void | ) |
Pauses the trace module.
Definition at line 112 of file kernels_trace.c.
Referenced by pastix_subtask_solve_adv(), and pastix_subtask_sopalin().
| void kernelsTraceStart | ( | void | ) |
Resumes the trace module.
Definition at line 90 of file kernels_trace.c.
Referenced by pastix_subtask_solve_adv(), and pastix_subtask_sopalin().
|
inlinestatic |
Start the trace of a single kernel.
| [in] | ktype | Type of the kernel starting that need to be traced. With EZTrace mode, this call is empty if the environment variable PASTIX_EZTRACE_LEVEL is different from 1. |
Definition at line 87 of file kernels_trace.h.
Referenced by core_cgemmsp_block_frfr(), core_cgemmsp_block_frlr(), core_cgemmsp_block_lrlr(), core_ctrsmsp_2dsub(), core_ctrsmsp_lrsub(), core_dgemmsp_block_frfr(), core_dgemmsp_block_frlr(), core_dgemmsp_block_lrlr(), core_dtrsmsp_2dsub(), core_dtrsmsp_lrsub(), core_sgemmsp_block_frfr(), core_sgemmsp_block_frlr(), core_sgemmsp_block_lrlr(), core_strsmsp_2dsub(), core_strsmsp_lrsub(), core_zgemmsp_block_frfr(), core_zgemmsp_block_frlr(), core_zgemmsp_block_lrlr(), core_ztrsmsp_2dsub(), core_ztrsmsp_lrsub(), cpublok_cadd(), cpublok_dadd(), cpublok_sadd(), cpublok_zadd(), cpucblk_cadd(), cpucblk_cgemmsp(), cpucblk_cgetrfsp1d_getrf(), cpucblk_chetrfsp1d_hetrf(), cpucblk_cpotrfsp1d_potrf(), cpucblk_cpxtrfsp1d_pxtrf(), cpucblk_cscalo(), cpucblk_csytrfsp1d_sytrf(), cpucblk_ctrsmsp(), cpucblk_dadd(), cpucblk_dgemmsp(), cpucblk_dgetrfsp1d_getrf(), cpucblk_dpotrfsp1d_potrf(), cpucblk_dscalo(), cpucblk_dsytrfsp1d_sytrf(), cpucblk_dtrsmsp(), cpucblk_sadd(), cpucblk_sgemmsp(), cpucblk_sgetrfsp1d_getrf(), cpucblk_spotrfsp1d_potrf(), cpucblk_sscalo(), cpucblk_ssytrfsp1d_sytrf(), cpucblk_strsmsp(), cpucblk_zadd(), cpucblk_zgemmsp(), cpucblk_zgetrfsp1d_getrf(), cpucblk_zhetrfsp1d_hetrf(), cpucblk_zpotrfsp1d_potrf(), cpucblk_zpxtrfsp1d_pxtrf(), cpucblk_zscalo(), cpucblk_zsytrfsp1d_sytrf(), cpucblk_ztrsmsp(), solve_cblk_ctrsmsp_backward(), solve_cblk_ctrsmsp_forward(), solve_cblk_dtrsmsp_backward(), solve_cblk_dtrsmsp_forward(), solve_cblk_strsmsp_backward(), solve_cblk_strsmsp_forward(), solve_cblk_ztrsmsp_backward(), and solve_cblk_ztrsmsp_forward().
|
inlinestatic |
Stop the trace of a single kernel.
| [in] | ktype | Type of the kernel starting that need to be traced. With EZTrace mode, this call is empty if the environment variable PASTIX_EZTRACE_LEVEL is different from 1. |
| [in] | m | The m parameter of the kernel (used by xxTRF, TRSM, and GEMM) |
| [in] | n | The n parameter of the kernel (used by TRSM, and GEMM) |
| [in] | k | The k parameter of the kernel (used by GEMM) |
| [in] | flops | The number of flops of the kernel |
| [in] | starttime | The stating time of the kernel. Used only if PASTIX_GENERATE_MODEL is enabled. |
Definition at line 139 of file kernels_trace.h.
References lock_flops, overall_flops, and PastixKernelStop.
Referenced by core_cgemmsp_block_frfr(), core_cgemmsp_block_frlr(), core_cgemmsp_block_lrlr(), core_ctrsmsp_2dsub(), core_ctrsmsp_lrsub(), core_dgemmsp_block_frfr(), core_dgemmsp_block_frlr(), core_dgemmsp_block_lrlr(), core_dtrsmsp_2dsub(), core_dtrsmsp_lrsub(), core_sgemmsp_block_frfr(), core_sgemmsp_block_frlr(), core_sgemmsp_block_lrlr(), core_strsmsp_2dsub(), core_strsmsp_lrsub(), core_zgemmsp_block_frfr(), core_zgemmsp_block_frlr(), core_zgemmsp_block_lrlr(), core_ztrsmsp_2dsub(), core_ztrsmsp_lrsub(), cpublok_cadd(), cpublok_dadd(), cpublok_sadd(), cpublok_zadd(), cpucblk_cadd(), cpucblk_cgemmsp(), cpucblk_cgetrfsp1d_getrf(), cpucblk_chetrfsp1d_hetrf(), cpucblk_cpotrfsp1d_potrf(), cpucblk_cpxtrfsp1d_pxtrf(), cpucblk_cscalo(), cpucblk_csytrfsp1d_sytrf(), cpucblk_ctrsmsp(), cpucblk_dadd(), cpucblk_dgemmsp(), cpucblk_dgetrfsp1d_getrf(), cpucblk_dpotrfsp1d_potrf(), cpucblk_dscalo(), cpucblk_dsytrfsp1d_sytrf(), cpucblk_dtrsmsp(), cpucblk_sadd(), cpucblk_sgemmsp(), cpucblk_sgetrfsp1d_getrf(), cpucblk_spotrfsp1d_potrf(), cpucblk_sscalo(), cpucblk_ssytrfsp1d_sytrf(), cpucblk_strsmsp(), cpucblk_zadd(), cpucblk_zgemmsp(), cpucblk_zgetrfsp1d_getrf(), cpucblk_zhetrfsp1d_hetrf(), cpucblk_zpotrfsp1d_potrf(), cpucblk_zpxtrfsp1d_pxtrf(), cpucblk_zscalo(), cpucblk_zsytrfsp1d_sytrf(), cpucblk_ztrsmsp(), solve_cblk_ctrsmsp_backward(), solve_cblk_ctrsmsp_forward(), solve_cblk_dtrsmsp_backward(), solve_cblk_dtrsmsp_forward(), solve_cblk_strsmsp_backward(), solve_cblk_strsmsp_forward(), solve_cblk_ztrsmsp_backward(), and solve_cblk_ztrsmsp_forward().