libflame
12600
|
Go to the source code of this file.
void FLA_Cntl_finalize_flash | ( | void | ) |
References FLASH_Apply_CAQ2_UT_cntl_finalize(), FLASH_Apply_CAQ_UT_inc_cntl_finalize(), FLASH_Apply_pivots_cntl_finalize(), FLASH_Apply_Q2_UT_cntl_finalize(), FLASH_Apply_Q_UT_cntl_finalize(), FLASH_Apply_Q_UT_inc_cntl_finalize(), FLASH_Apply_QUD_UT_cntl_finalize(), FLASH_Apply_QUD_UT_inc_cntl_finalize(), FLASH_Axpy_cntl_finalize(), FLASH_Axpyt_cntl_finalize(), FLASH_CAQR2_UT_cntl_finalize(), FLASH_CAQR_UT_inc_cntl_finalize(), FLASH_Chol_cntl_finalize(), FLASH_Copy_cntl_finalize(), FLASH_Copyr_cntl_finalize(), FLASH_Copyt_cntl_finalize(), FLASH_Eig_gest_cntl_finalize(), FLASH_Gemm_cntl_finalize(), FLASH_Gemv_cntl_finalize(), FLASH_Hemm_cntl_finalize(), FLASH_Her2k_cntl_finalize(), FLASH_Herk_cntl_finalize(), FLASH_LQ_UT_cntl_finalize(), FLASH_LU_incpiv_cntl_finalize(), FLASH_LU_nopiv_cntl_finalize(), FLASH_LU_piv_cntl_finalize(), FLASH_Lyap_cntl_finalize(), FLASH_QR2_UT_cntl_finalize(), FLASH_QR_UT_cntl_finalize(), FLASH_QR_UT_inc_cntl_finalize(), FLASH_Scal_cntl_finalize(), FLASH_Scalr_cntl_finalize(), FLASH_SPDinv_cntl_finalize(), FLASH_Sylv_cntl_finalize(), FLASH_Symm_cntl_finalize(), FLASH_Syr2k_cntl_finalize(), FLASH_Syrk_cntl_finalize(), FLASH_Trinv_cntl_finalize(), FLASH_Trmm_cntl_finalize(), FLASH_Trsm_cntl_finalize(), FLASH_Trsv_cntl_finalize(), FLASH_Ttmm_cntl_finalize(), FLASH_UDdate_UT_cntl_finalize(), and FLASH_UDdate_UT_inc_cntl_finalize().
Referenced by FLA_Cntl_finalize().
{ // Level-1 BLAS FLASH_Axpy_cntl_finalize(); FLASH_Axpyt_cntl_finalize(); FLASH_Copy_cntl_finalize(); FLASH_Copyt_cntl_finalize(); FLASH_Copyr_cntl_finalize(); FLASH_Scal_cntl_finalize(); FLASH_Scalr_cntl_finalize(); // Level-2 BLAS FLASH_Gemv_cntl_finalize(); FLASH_Trsv_cntl_finalize(); // Level-3 BLAS FLASH_Gemm_cntl_finalize(); FLASH_Hemm_cntl_finalize(); FLASH_Herk_cntl_finalize(); FLASH_Her2k_cntl_finalize(); FLASH_Symm_cntl_finalize(); FLASH_Syrk_cntl_finalize(); FLASH_Syr2k_cntl_finalize(); FLASH_Trmm_cntl_finalize(); FLASH_Trsm_cntl_finalize(); // LAPACK-level FLASH_Apply_pivots_cntl_finalize(); FLASH_Chol_cntl_finalize(); FLASH_LU_nopiv_cntl_finalize(); FLASH_LU_piv_cntl_finalize(); FLASH_LU_incpiv_cntl_finalize(); FLASH_Trinv_cntl_finalize(); FLASH_Ttmm_cntl_finalize(); FLASH_Sylv_cntl_finalize(); FLASH_QR2_UT_cntl_finalize(); FLASH_CAQR2_UT_cntl_finalize(); FLASH_Apply_Q_UT_cntl_finalize(); FLASH_Apply_Q2_UT_cntl_finalize(); FLASH_Apply_CAQ2_UT_cntl_finalize(); FLASH_Apply_QUD_UT_cntl_finalize(); FLASH_Eig_gest_cntl_finalize(); // Compound LAPACK operations FLASH_Lyap_cntl_finalize(); FLASH_SPDinv_cntl_finalize(); FLASH_QR_UT_cntl_finalize(); FLASH_QR_UT_inc_cntl_finalize(); FLASH_LQ_UT_cntl_finalize(); FLASH_CAQR_UT_inc_cntl_finalize(); FLASH_Apply_Q_UT_inc_cntl_finalize(); FLASH_Apply_CAQ_UT_inc_cntl_finalize(); FLASH_UDdate_UT_cntl_finalize(); FLASH_UDdate_UT_inc_cntl_finalize(); FLASH_Apply_QUD_UT_inc_cntl_finalize(); }
void FLA_Cntl_init_flash | ( | void | ) |
References FLASH_Apply_CAQ2_UT_cntl_init(), FLASH_Apply_CAQ_UT_inc_cntl_init(), FLASH_Apply_pivots_cntl_init(), FLASH_Apply_Q2_UT_cntl_init(), FLASH_Apply_Q_UT_cntl_init(), FLASH_Apply_Q_UT_inc_cntl_init(), FLASH_Apply_QUD_UT_cntl_init(), FLASH_Apply_QUD_UT_inc_cntl_init(), FLASH_Axpy_cntl_init(), FLASH_Axpyt_cntl_init(), FLASH_CAQR2_UT_cntl_init(), FLASH_CAQR_UT_inc_cntl_init(), FLASH_Chol_cntl_init(), FLASH_Copy_cntl_init(), FLASH_Copyr_cntl_init(), FLASH_Copyt_cntl_init(), FLASH_Eig_gest_cntl_init(), FLASH_Gemm_cntl_init(), FLASH_Gemv_cntl_init(), FLASH_Hemm_cntl_init(), FLASH_Her2k_cntl_init(), FLASH_Herk_cntl_init(), FLASH_LQ_UT_cntl_init(), FLASH_LU_incpiv_cntl_init(), FLASH_LU_nopiv_cntl_init(), FLASH_LU_piv_cntl_init(), FLASH_Lyap_cntl_init(), FLASH_QR2_UT_cntl_init(), FLASH_QR_UT_cntl_init(), FLASH_QR_UT_inc_cntl_init(), FLASH_Scal_cntl_init(), FLASH_Scalr_cntl_init(), FLASH_SPDinv_cntl_init(), FLASH_Sylv_cntl_init(), FLASH_Symm_cntl_init(), FLASH_Syr2k_cntl_init(), FLASH_Syrk_cntl_init(), FLASH_Trinv_cntl_init(), FLASH_Trmm_cntl_init(), FLASH_Trsm_cntl_init(), FLASH_Trsv_cntl_init(), FLASH_Ttmm_cntl_init(), FLASH_UDdate_UT_cntl_init(), and FLASH_UDdate_UT_inc_cntl_init().
Referenced by FLA_Cntl_init().
{ // Level-1 BLAS FLASH_Axpy_cntl_init(); FLASH_Axpyt_cntl_init(); FLASH_Copy_cntl_init(); FLASH_Copyt_cntl_init(); FLASH_Copyr_cntl_init(); FLASH_Scal_cntl_init(); FLASH_Scalr_cntl_init(); // Level-2 BLAS FLASH_Gemv_cntl_init(); FLASH_Trsv_cntl_init(); // Level-3 BLAS // Note gemm must be first since it is used by all other level-3 BLAS. FLASH_Gemm_cntl_init(); FLASH_Hemm_cntl_init(); FLASH_Herk_cntl_init(); FLASH_Her2k_cntl_init(); FLASH_Symm_cntl_init(); FLASH_Syrk_cntl_init(); FLASH_Syr2k_cntl_init(); FLASH_Trmm_cntl_init(); FLASH_Trsm_cntl_init(); // LAPACK-level // These require level-3 BLAS operations to be initialized. FLASH_Apply_pivots_cntl_init(); FLASH_Chol_cntl_init(); FLASH_LU_nopiv_cntl_init(); FLASH_LU_piv_cntl_init(); FLASH_LU_incpiv_cntl_init(); FLASH_Trinv_cntl_init(); FLASH_Ttmm_cntl_init(); FLASH_Sylv_cntl_init(); FLASH_QR2_UT_cntl_init(); FLASH_CAQR2_UT_cntl_init(); FLASH_Apply_Q_UT_cntl_init(); FLASH_Apply_Q2_UT_cntl_init(); FLASH_Apply_CAQ2_UT_cntl_init(); FLASH_Apply_QUD_UT_cntl_init(); FLASH_Eig_gest_cntl_init(); // Compound LAPACK operations // These require previous LAPACK operations to already be initialized. FLASH_Lyap_cntl_init(); FLASH_SPDinv_cntl_init(); FLASH_QR_UT_cntl_init(); FLASH_QR_UT_inc_cntl_init(); FLASH_LQ_UT_cntl_init(); FLASH_CAQR_UT_inc_cntl_init(); FLASH_Apply_Q_UT_inc_cntl_init(); FLASH_Apply_CAQ_UT_inc_cntl_init(); FLASH_UDdate_UT_cntl_init(); FLASH_UDdate_UT_inc_cntl_init(); FLASH_Apply_QUD_UT_inc_cntl_init(); }
void FLASH_Apply_CAQ2_UT_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Apply_CAQ2_UT_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_apcaq2ut_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksizes for hierarchical storage. flash_apcaq2ut_var2_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); flash_apcaq2ut_var3_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree to invoke variant 1. flash_apcaq2ut_cntl_leaf = FLA_Cntl_apcaq2ut_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ); // Create a control tree to invoke variant 2. flash_apcaq2ut_cntl_mid = FLA_Cntl_apcaq2ut_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT2, flash_apcaq2ut_var2_bsize, flash_apcaq2ut_cntl_leaf, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ); // Create a control tree to invoke variant 3. flash_apcaq2ut_cntl = FLA_Cntl_apcaq2ut_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT3, flash_apcaq2ut_var3_bsize, flash_apcaq2ut_cntl_mid, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ); }
void FLASH_Apply_CAQ_UT_inc_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Apply_CAQ_UT_inc_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_apcaqutinc_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksizes for hierarchical storage. flash_apcaqutinc_var1_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree to invoke variant 1. flash_apcaqutinc_cntl = FLA_Cntl_apcaqutinc_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT1, flash_apcaqutinc_var1_bsize, flash_apcaq2ut_cntl ); }
void FLASH_Apply_pivots_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Apply_pivots_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_appiv_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksize for hierarchical storage. flash_appiv_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree that assumes A is a b x b block. flash_appiv_cntl_leaf = FLA_Cntl_appiv_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL ); // Create a control tree that assumes A is large. flash_appiv_cntl_bp = FLA_Cntl_appiv_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT1, flash_appiv_bsize, flash_appiv_cntl_leaf ); // Create a control tree that assumes A and p are large. flash_appiv_cntl = FLA_Cntl_appiv_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT2, flash_appiv_bsize, flash_appiv_cntl_bp ); }
void FLASH_Apply_Q2_UT_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Apply_Q2_UT_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_apq2ut_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksizes for hierarchical storage. flash_apq2ut_var2_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); flash_apq2ut_var3_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree to invoke variant 1. flash_apq2ut_cntl_leaf = FLA_Cntl_apq2ut_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL, NULL, NULL, NULL, NULL ); // Create a control tree to invoke variant 2. flash_apq2ut_cntl_mid = FLA_Cntl_apq2ut_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT2, flash_apq2ut_var2_bsize, flash_apq2ut_cntl_leaf, NULL, NULL, NULL, NULL, NULL ); // Create a control tree to invoke variant 3. flash_apq2ut_cntl = FLA_Cntl_apq2ut_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT3, flash_apq2ut_var3_bsize, flash_apq2ut_cntl_mid, NULL, NULL, NULL, NULL, NULL ); }
void FLASH_Apply_Q_UT_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Apply_Q_UT_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_apqut_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksize for hierarchical storage. flash_apqut_var1_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); flash_apqut_var2_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree to dereference block operands and perform // flat subproblem. flash_apqut_cntl_leaf = FLA_Cntl_apqut_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ); // Create a control tree to invoke variant 2 to further partition blocks. flash_apqut_cntl = FLA_Cntl_apqut_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT2, flash_apqut_var2_bsize, flash_apqut_cntl_leaf, NULL, NULL, NULL, NULL, NULL, NULL, NULL ); // Create a control tree to invoke variant 3, using hierarchical level-3 // BLAS control trees. flash_apqut_cntl_blas = FLA_Cntl_apqut_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT3, flash_apqut_var1_bsize, NULL, flash_trmm_cntl_bp, flash_trmm_cntl_bp, flash_gemm_cntl_pm, flash_gemm_cntl_op, flash_trsm_cntl_bp, flash_copyt_cntl, flash_axpyt_cntl ); }
void FLASH_Apply_Q_UT_inc_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Apply_Q_UT_inc_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_apqutinc_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksizes for hierarchical storage. flash_apqutinc_var1_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree to invoke variant 1. flash_apqutinc_cntl = FLA_Cntl_apqutinc_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT1, flash_apqutinc_var1_bsize, flash_apqut_cntl, flash_apq2ut_cntl ); }
void FLASH_Apply_QUD_UT_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Apply_QUD_UT_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_apqudut_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksizes for hierarchical storage. flash_apqudut_var2_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); flash_apqudut_var3_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree to invoke variant 1. flash_apqudut_cntl_leaf = FLA_Cntl_apqudut_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ); // Create a control tree to invoke variant 2. flash_apqudut_cntl_mid = FLA_Cntl_apqudut_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT2, flash_apqudut_var2_bsize, flash_apqudut_cntl_leaf, NULL, NULL, NULL, NULL, NULL, NULL, NULL ); // Create a control tree to invoke variant 3. flash_apqudut_cntl = FLA_Cntl_apqudut_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT3, flash_apqudut_var3_bsize, flash_apqudut_cntl_mid, NULL, NULL, NULL, NULL, NULL, NULL, NULL ); }
void FLASH_Apply_QUD_UT_inc_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Apply_QUD_UT_inc_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_apqudutinc_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksizes for hierarchical storage. flash_apqudutinc_var1_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree to invoke variant 1. flash_apqudutinc_cntl = FLA_Cntl_apqudutinc_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT1, flash_apqudutinc_var1_bsize, flash_apqudut_cntl ); }
void FLASH_Axpy_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Axpy_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_axpy_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksize for hierarchical storage. flash_axpy_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree that assumes A and B are small. flash_axpy_cntl_blas = FLA_Cntl_axpy_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL ); // Create a control tree that marches through A and B vertically. flash_axpy_cntl_tb = FLA_Cntl_axpy_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT1, flash_axpy_bsize, flash_axpy_cntl_blas ); // Create a control tree that marches through A and B horizontally, then // vertically. flash_axpy_cntl = FLA_Cntl_axpy_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT3, flash_axpy_bsize, flash_axpy_cntl_tb ); }
void FLASH_Axpyt_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Axpyt_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_axpyt_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksize for hierarchical storage. flash_axpyt_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree that assumes A and B are small. flash_axpyt_cntl_blas = FLA_Cntl_axpyt_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL ); // Create a control tree that marches through A and B vertically. flash_axpyt_cntl_tb = FLA_Cntl_axpyt_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT1, flash_axpyt_bsize, flash_axpyt_cntl_blas ); // Create a control tree that marches through A and B horizontally. flash_axpyt_cntl_lr = FLA_Cntl_axpyt_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT3, flash_axpyt_bsize, flash_axpyt_cntl_blas ); // Create a control tree that marches through A and B horizontally, then // vertically. flash_axpyt_cntl = FLA_Cntl_axpyt_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT3, flash_axpyt_bsize, flash_axpyt_cntl_tb ); }
void FLASH_CAQR2_UT_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_CAQR2_UT_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_caqr2ut_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksize for hierarchical storage. flash_caqr2ut_var2_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree to invoke variant 1. flash_caqr2ut_cntl_leaf = FLA_Cntl_caqr2ut_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ); // Create a control tree to invoke variant 2. flash_caqr2ut_cntl = FLA_Cntl_caqr2ut_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT2, flash_caqr2ut_var2_bsize, flash_caqr2ut_cntl_leaf, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ); }
void FLASH_CAQR_UT_inc_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_CAQR_UT_inc_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_caqrutinc_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksizes for hierarchical storage. flash_caqrutinc_var1_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree to invoke variant 1. flash_caqrutinc_cntl = FLA_Cntl_caqrutinc_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT1, flash_caqrutinc_var1_bsize, flash_caqr2ut_cntl, flash_apcaq2ut_cntl ); }
void FLASH_Chol_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Chol_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_chol_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksize for hierarchical storage. flash_chol_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree that assumes A is a b x b block. flash_chol_cntl_leaf = FLA_Cntl_chol_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL, NULL, NULL ); // Create a control tree that assumes A is large. flash_chol_cntl = FLA_Cntl_chol_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT3, flash_chol_bsize, flash_chol_cntl_leaf, flash_herk_cntl_op, flash_trsm_cntl_bp, NULL ); }
void FLASH_Copy_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Copy_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_copy_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksize for hierarchical storage. flash_copy_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree that assumes A and B are small. flash_copy_cntl_blas = FLA_Cntl_copy_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL ); // Create a control tree that marches through A and B vertically. flash_copy_cntl_tb = FLA_Cntl_copy_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT1, flash_copy_bsize, flash_copy_cntl_blas ); // Create a control tree that marches through A and B horizontally, then // vertically. flash_copy_cntl = FLA_Cntl_copy_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT3, flash_copy_bsize, flash_copy_cntl_tb ); }
void FLASH_Copyr_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Copyr_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_copyr_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksize for hierarchical storage. flash_copyr_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree that assumes A and B are small. flash_copyr_cntl_blas = FLA_Cntl_copyr_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL ); // Create a control tree that marches through A and B from TL to BR. flash_copyr_cntl = FLA_Cntl_copyr_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT3, flash_copyr_bsize, flash_copyr_cntl_blas, flash_copy_cntl_tb ); }
void FLASH_Copyt_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Copyt_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_copyt_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksize for hierarchical storage. flash_copyt_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree that assumes A and B are small. flash_copyt_cntl_blas = FLA_Cntl_copyt_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL ); // Create a control tree that marches through A and B vertically. flash_copyt_cntl_tb = FLA_Cntl_copyt_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT1, flash_copyt_bsize, flash_copyt_cntl_blas ); // Create a control tree that marches through A and B horizontally. flash_copyt_cntl_lr = FLA_Cntl_copyt_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT3, flash_copyt_bsize, flash_copyt_cntl_blas ); // Create a control tree that marches through A and B horizontally, then // vertically. flash_copyt_cntl = FLA_Cntl_copyt_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT3, flash_copyt_bsize, flash_copyt_cntl_tb ); }
void FLASH_Eig_gest_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Eig_gest_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_eig_gest_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksize for hierarchical storage. flash_eig_gest_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree that assumes A is a b x b block. flash_eig_gest_cntl_leaf = FLA_Cntl_eig_gest_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ); // Create a control tree that assumes A is large. flash_eig_gest_cntl = FLA_Cntl_eig_gest_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT1, flash_eig_gest_bsize, flash_eig_gest_cntl_leaf, flash_axpy_cntl, flash_axpy_cntl, NULL, NULL, NULL, flash_hemm_cntl_mm, flash_her2k_cntl_mm, flash_trmm_cntl_mm, flash_trmm_cntl_mm, flash_trsm_cntl_mm, flash_trsm_cntl_mm ); }
void FLASH_Gemm_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
{ FLA_Cntl_obj_free( flash_gemm_cntl_blas ); FLA_Cntl_obj_free( flash_gemm_cntl_pb_bb ); FLA_Cntl_obj_free( flash_gemm_cntl_bp_bb ); FLA_Cntl_obj_free( flash_gemm_cntl_ip_bb ); FLA_Cntl_obj_free( flash_gemm_cntl_mp_ip ); FLA_Cntl_obj_free( flash_gemm_cntl_op_bp ); FLA_Cntl_obj_free( flash_gemm_cntl_pm_ip ); FLA_Cntl_obj_free( flash_gemm_cntl_op_pb ); FLA_Cntl_obj_free( flash_gemm_cntl_mp_pb ); FLA_Cntl_obj_free( flash_gemm_cntl_pm_bp ); FLA_Cntl_obj_free( flash_gemm_cntl_mm_pm ); FLA_Cntl_obj_free( flash_gemm_cntl_mm_mp ); FLA_Cntl_obj_free( flash_gemm_cntl_mm_op ); FLA_Blocksize_free( flash_gemm_bsize ); }
void FLASH_Gemm_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), FLA_Cntl_gemm_obj_create(), flash_gemm_cntl_bp_bb, flash_gemm_cntl_ip_bb, flash_gemm_cntl_mm_op, flash_gemm_cntl_mp_pb, flash_gemm_cntl_op_pb, flash_gemm_cntl_pb_bb, and flash_gemm_cntl_pm_bp.
Referenced by FLA_Cntl_init_flash().
{ // Set gemm blocksize for hierarchical storage. flash_gemm_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree node that executes a gemm subproblem. flash_gemm_cntl_blas = FLA_Cntl_gemm_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL ); // Create control trees for situations where one dimension is large. flash_gemm_cntl_pb_bb = FLA_Cntl_gemm_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT1, flash_gemm_bsize, flash_scal_cntl, flash_gemm_cntl_blas ); flash_gemm_cntl_bp_bb = FLA_Cntl_gemm_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT3, flash_gemm_bsize, flash_scal_cntl, flash_gemm_cntl_blas ); flash_gemm_cntl_ip_bb = FLA_Cntl_gemm_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT5, flash_gemm_bsize, flash_scal_cntl, flash_gemm_cntl_blas ); // Create control trees for situations where two dimensions are large. flash_gemm_cntl_mp_ip = FLA_Cntl_gemm_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT1, flash_gemm_bsize, flash_scal_cntl, flash_gemm_cntl_ip_bb ); flash_gemm_cntl_op_bp = FLA_Cntl_gemm_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT1, flash_gemm_bsize, flash_scal_cntl, flash_gemm_cntl_bp_bb ); flash_gemm_cntl_pm_ip = FLA_Cntl_gemm_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT3, flash_gemm_bsize, flash_scal_cntl, flash_gemm_cntl_ip_bb ); flash_gemm_cntl_op_pb = FLA_Cntl_gemm_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT3, flash_gemm_bsize, flash_scal_cntl, flash_gemm_cntl_pb_bb ); flash_gemm_cntl_mp_pb = FLA_Cntl_gemm_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT5, flash_gemm_bsize, flash_scal_cntl, flash_gemm_cntl_pb_bb ); flash_gemm_cntl_pm_bp = FLA_Cntl_gemm_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT5, flash_gemm_bsize, flash_scal_cntl, flash_gemm_cntl_bp_bb ); // Create control trees for situations where all dimensions are large. flash_gemm_cntl_mm_pm = FLA_Cntl_gemm_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT1, flash_gemm_bsize, flash_scal_cntl, flash_gemm_cntl_pm_ip ); flash_gemm_cntl_mm_mp = FLA_Cntl_gemm_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT3, flash_gemm_bsize, flash_scal_cntl, flash_gemm_cntl_mp_ip ); flash_gemm_cntl_mm_op = FLA_Cntl_gemm_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT5, flash_gemm_bsize, flash_scal_cntl, flash_gemm_cntl_op_bp ); // Alias select control trees for convenience, when the caller doesn't // care (as he usually doesn't when partitioning hierarchical matricies) // which order the matrix is partitioned into blocks flash_gemm_cntl_mm = flash_gemm_cntl_mm_op; flash_gemm_cntl_mp = flash_gemm_cntl_mp_pb; flash_gemm_cntl_pm = flash_gemm_cntl_pm_bp; flash_gemm_cntl_op = flash_gemm_cntl_op_pb; flash_gemm_cntl_pb = flash_gemm_cntl_pb_bb; flash_gemm_cntl_bp = flash_gemm_cntl_bp_bb; flash_gemm_cntl_ip = flash_gemm_cntl_ip_bb; }
void FLASH_Gemv_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Gemv_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_gemv_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set gemv blocksize for hierarchical storage. flash_gemv_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree node that executes a gemv subproblem. flash_gemv_cntl_blas = FLA_Cntl_gemv_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL ); // Create control trees for situations where one dimension is large. flash_gemv_cntl_cp_bv = FLA_Cntl_gemv_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT1, flash_gemv_bsize, flash_scal_cntl, flash_gemv_cntl_blas ); flash_gemv_cntl_rp_bv = FLA_Cntl_gemv_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT5, flash_gemv_bsize, flash_scal_cntl, flash_gemv_cntl_blas ); // Create control trees for situations where both dimensions are large. flash_gemv_cntl_fm_rp = FLA_Cntl_gemv_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT1, flash_gemv_bsize, flash_scal_cntl, flash_gemv_cntl_rp_bv ); flash_gemv_cntl_fm_cp = FLA_Cntl_gemv_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT5, flash_gemv_bsize, flash_scal_cntl, flash_gemv_cntl_cp_bv ); }
void FLASH_Hemm_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Hemm_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_hemm_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set hemm blocksize for hierarchical storage. flash_hemm_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree that assumes A and B are b x b blocks. flash_hemm_cntl_blas = FLA_Cntl_hemm_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL, NULL, NULL ); // Create a control tree that assumes A is a block and B is a panel. flash_hemm_cntl_bp = FLA_Cntl_hemm_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT9, flash_hemm_bsize, flash_scal_cntl, flash_hemm_cntl_blas, NULL, NULL ); // Create a control tree that assumes A is large and B is a panel. flash_hemm_cntl_mp = FLA_Cntl_hemm_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT1, flash_hemm_bsize, flash_scal_cntl, flash_hemm_cntl_blas, flash_gemm_cntl_op_bp, flash_gemm_cntl_mm_mp ); // Create a control tree that assumes A and B are both large. flash_hemm_cntl_mm = FLA_Cntl_hemm_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT9, flash_hemm_bsize, flash_scal_cntl, flash_hemm_cntl_mp, NULL, NULL ); }
void FLASH_Her2k_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Her2k_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_her2k_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set her2k blocksize for hierarchical storage. flash_her2k_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree that assumes A and B are b x b blocks. flash_her2k_cntl_blas = FLA_Cntl_her2k_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL, NULL, NULL ); // Create a control tree that assumes A and B form an inner panel product. flash_her2k_cntl_ip = FLA_Cntl_her2k_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT9, flash_her2k_bsize, flash_scalr_cntl, flash_her2k_cntl_blas, NULL, NULL ); // Create a control tree that assumes A and B form an outer panel product. flash_her2k_cntl_op = FLA_Cntl_her2k_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT4, flash_her2k_bsize, flash_scalr_cntl, flash_her2k_cntl_blas, flash_gemm_cntl_pb_bb, flash_gemm_cntl_pb_bb ); // Create a control tree that assumes A and B are both large. flash_her2k_cntl_mm = FLA_Cntl_her2k_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT9, flash_her2k_bsize, flash_scalr_cntl, flash_her2k_cntl_op, NULL, NULL ); }
void FLASH_Herk_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Herk_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_herk_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set herk blocksize for hierarchical storage. flash_herk_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree that assumes A is a b x b block. flash_herk_cntl_blas = FLA_Cntl_herk_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL, NULL ); // Create a control tree that assumes A * A' forms an inner panel product. flash_herk_cntl_ip = FLA_Cntl_herk_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT5, flash_herk_bsize, flash_scalr_cntl, flash_herk_cntl_blas, NULL ); // Create a control tree that assumes A * A' forms an outer panel product. flash_herk_cntl_op = FLA_Cntl_herk_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT2, flash_herk_bsize, flash_scalr_cntl, flash_herk_cntl_blas, flash_gemm_cntl_pb_bb ); // Create a control tree that assumes A is large. flash_herk_cntl_mm = FLA_Cntl_herk_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT5, flash_herk_bsize, flash_scalr_cntl, flash_herk_cntl_op, NULL ); }
void FLASH_LQ_UT_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_LQ_UT_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_lqut_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksizes for hierarchical storage. flash_lqut_var3_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree to compute the subproblem. flash_lqut_cntl_leaf = FLA_Cntl_lqut_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL ); // Create a control tree to invoke variant 2. flash_lqut_cntl = FLA_Cntl_lqut_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT3, flash_lqut_var3_bsize, flash_lqut_cntl_leaf, flash_apqut_cntl_blas ); }
void FLASH_LU_incpiv_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_LU_incpiv_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_lu_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksize for hierarchical storage. flash_lu_incpiv_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree that assumes A is a b x b block. flash_lu_incpiv_cntl_leaf = FLA_Cntl_lu_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ); // Create a control tree that assumes A is large. flash_lu_incpiv_cntl = FLA_Cntl_lu_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT1, flash_lu_incpiv_bsize, flash_lu_incpiv_cntl_leaf, flash_gemm_cntl_bp_bb, NULL, NULL, flash_trsm_cntl_bp, flash_trsm_cntl_bp, flash_appiv_cntl_bp, NULL ); }
void FLASH_LU_nopiv_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_LU_nopiv_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_lu_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksize for hierarchical storage. flash_lu_nopiv_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree that assumes A is a b x b block. flash_lu_nopiv_cntl_leaf = FLA_Cntl_lu_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ); // Create a control tree that assumes A is large. flash_lu_nopiv_cntl = FLA_Cntl_lu_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT5, flash_lu_nopiv_bsize, flash_lu_nopiv_cntl_leaf, flash_gemm_cntl_op_bp, NULL, NULL, flash_trsm_cntl_bp, flash_trsm_cntl_bp, NULL, NULL ); }
void FLASH_LU_piv_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_LU_piv_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_lu_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksize for hierarchical storage. flash_lu_piv_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree that assumes A is a b x b block. flash_lu_piv_cntl_leaf = FLA_Cntl_lu_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ); // Create a control tree that assumes A is large. flash_lu_piv_cntl = FLA_Cntl_lu_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT5, flash_lu_piv_bsize, flash_lu_piv_cntl_leaf, flash_gemm_cntl_op_bp, NULL, NULL, flash_trsm_cntl_bp, flash_trsm_cntl_bp, flash_appiv_cntl_bp, NULL ); }
void FLASH_Lyap_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Lyap_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_lyap_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksize for hierarchical storage. flash_lyap_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree that assumes A and C are b x b blocks. flash_lyap_cntl_leaf = FLA_Cntl_lyap_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ); // Create a control tree that assumes A is a matrix and C is a matrix. flash_lyap_cntl = FLA_Cntl_lyap_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT1, flash_lyap_bsize, flash_scal_cntl, flash_lyap_cntl_leaf, flash_sylv_cntl, NULL, //flash_gemm_cntl_pm, NULL, //flash_gemm_cntl_pm, flash_hemm_cntl_mp, flash_her2k_cntl_ip ); }
void FLASH_QR2_UT_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_QR2_UT_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_qr2ut_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksize for hierarchical storage. flash_qr2ut_var2_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree to invoke variant 1. flash_qr2ut_cntl_leaf = FLA_Cntl_qr2ut_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL, NULL, NULL, NULL, NULL ); // Create a control tree to invoke variant 2. flash_qr2ut_cntl = FLA_Cntl_qr2ut_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT2, flash_qr2ut_var2_bsize, flash_qr2ut_cntl_leaf, NULL, NULL, NULL, NULL, NULL ); }
void FLASH_QR_UT_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_QR_UT_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_qrut_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksizes for hierarchical storage. flash_qrut_var3_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree to compute the subproblem. flash_qrut_cntl_leaf = FLA_Cntl_qrut_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL ); // Create a control tree to invoke variant 3. flash_qrut_cntl = FLA_Cntl_qrut_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT3, flash_qrut_var3_bsize, flash_qrut_cntl_leaf, flash_apqut_cntl_blas ); }
void FLASH_QR_UT_inc_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_QR_UT_inc_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_qrutinc_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksizes for hierarchical storage. flash_qrutinc_var1_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree to invoke variant 1. flash_qrutinc_cntl = FLA_Cntl_qrutinc_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT1, flash_qrutinc_var1_bsize, flash_qrut_cntl_leaf, flash_apqut_cntl, flash_qr2ut_cntl, flash_apq2ut_cntl ); }
void FLASH_Scal_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Scal_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_scal_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksize for hierarchical storage. flash_scal_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree that assumes A is small. flash_scal_cntl_blas = FLA_Cntl_scal_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL ); // Create a control tree that marches through A vertically. flash_scal_cntl_tb = FLA_Cntl_scal_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT1, flash_scal_bsize, flash_scal_cntl_blas ); // Create a control tree that marches through A horizontally. flash_scal_cntl_lr = FLA_Cntl_scal_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT3, flash_scal_bsize, flash_scal_cntl_blas ); // Create a control tree that marches through A horizontally, then // vertically. flash_scal_cntl = FLA_Cntl_scal_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT3, flash_scal_bsize, flash_scal_cntl_tb ); }
void FLASH_Scalr_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Scalr_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_scalr_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksize for hierarchical storage. flash_scalr_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree that assumes A is small. flash_scalr_cntl_blas = FLA_Cntl_scalr_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL ); // Create a control tree that computes column panels, top-left to // bottom-right. flash_scalr_cntl = FLA_Cntl_scalr_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT3, flash_scalr_bsize, flash_scalr_cntl_blas, flash_scal_cntl_tb ); }
void FLASH_SPDinv_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_SPDinv_cntl_init | ( | void | ) |
References FLA_Cntl_spdinv_obj_create(), and FLA_Query_blocksizes().
Referenced by FLA_Cntl_init_flash().
{ // Rather than embed a blocksize, we store the cutoff matrix size for // switching from external routines to internal FLAME variants. flash_spdinv_size_cutoff = FLA_Query_blocksizes( FLA_DIMENSION_MIN ); // Initialize a control tree node that calls the top-level Cholesky // factorization, Trinagular inversion, and Triangular-transpose matrix // multiply control trees. flash_spdinv_cntl = FLA_Cntl_spdinv_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT1, flash_spdinv_size_cutoff, flash_chol_cntl, flash_trinv_cntl, flash_ttmm_cntl ); }
void FLASH_Sylv_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Sylv_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_sylv_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksize for hierarchical storage. flash_sylv_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree that assumes A and B are b x b blocks. flash_sylv_cntl_leaf = FLA_Cntl_sylv_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ); // Create a control tree that assumes A is a matrix and B is a block. flash_sylv_cntl_mb = FLA_Cntl_sylv_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT17, flash_sylv_bsize, flash_sylv_cntl_leaf, NULL, NULL, flash_gemm_cntl_ip_bb, NULL, NULL, NULL, NULL, NULL, NULL, NULL ); // Create a control tree that assumes A is a matrix and B is a matrix. flash_sylv_cntl = FLA_Cntl_sylv_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT15, flash_sylv_bsize, flash_sylv_cntl_mb, NULL, NULL, flash_gemm_cntl_pm_bp, NULL, NULL, NULL, NULL, NULL, NULL, NULL ); }
void FLASH_Symm_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Symm_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_symm_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set symm blocksize for hierarchical storage. flash_symm_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree that assumes A and B are b x b blocks. flash_symm_cntl_blas = FLA_Cntl_symm_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL, NULL, NULL ); // Create a control tree that assumes A is a block and B is a panel. flash_symm_cntl_bp = FLA_Cntl_symm_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT9, flash_symm_bsize, flash_scal_cntl, flash_symm_cntl_blas, NULL, NULL ); // Create a control tree that assumes A is large and B is a panel. flash_symm_cntl_mp = FLA_Cntl_symm_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT1, flash_symm_bsize, flash_scal_cntl, flash_symm_cntl_blas, flash_gemm_cntl_op_bp, flash_gemm_cntl_mm_mp ); // Create a control tree that assumes A and B are both large. flash_symm_cntl_mm = FLA_Cntl_symm_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT9, flash_symm_bsize, flash_scal_cntl, flash_symm_cntl_mp, NULL, NULL ); }
void FLASH_Syr2k_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Syr2k_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_syr2k_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set syr2k blocksize for hierarchical storage. flash_syr2k_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree that assumes A and B are b x b blocks. flash_syr2k_cntl_blas = FLA_Cntl_syr2k_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL, NULL, NULL ); // Create a control tree that assumes A and B form an inner panel product. flash_syr2k_cntl_ip = FLA_Cntl_syr2k_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT9, flash_syr2k_bsize, flash_scalr_cntl, flash_syr2k_cntl_blas, NULL, NULL ); // Create a control tree that assumes A and B form an outer panel product. flash_syr2k_cntl_op = FLA_Cntl_syr2k_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT4, flash_syr2k_bsize, flash_scalr_cntl, flash_syr2k_cntl_blas, flash_gemm_cntl_pb_bb, flash_gemm_cntl_pb_bb ); // Create a control tree that assumes A and B are both large. flash_syr2k_cntl_mm = FLA_Cntl_syr2k_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT9, flash_syr2k_bsize, flash_scalr_cntl, flash_syr2k_cntl_op, NULL, NULL ); }
void FLASH_Syrk_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Syrk_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_syrk_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set syrk blocksize for hierarchical storage. flash_syrk_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree that assumes A is a b x b block. flash_syrk_cntl_blas = FLA_Cntl_syrk_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL, NULL ); // Create a control tree that assumes A * A' forms an inner panel product. flash_syrk_cntl_ip = FLA_Cntl_syrk_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT5, flash_syrk_bsize, flash_scalr_cntl, flash_syrk_cntl_blas, NULL ); // Create a control tree that assumes A * A' forms an outer panel product. flash_syrk_cntl_op = FLA_Cntl_syrk_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT2, flash_syrk_bsize, flash_scalr_cntl, flash_syrk_cntl_blas, flash_gemm_cntl_pb_bb ); // Create a control tree that assumes A is large. flash_syrk_cntl_mm = FLA_Cntl_syrk_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT5, flash_syrk_bsize, flash_scalr_cntl, flash_syrk_cntl_op, NULL ); }
void FLASH_Transpose_cntl_finalize | ( | void | ) |
void FLASH_Transpose_cntl_init | ( | void | ) |
void FLASH_Trinv_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Trinv_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_trinv_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksize for hierarchical storage. flash_trinv_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree that assumes A is a b x b block. flash_trinv_cntl_leaf = FLA_Cntl_trinv_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL, NULL, NULL, NULL ); // Create a control tree that assumes A is large. flash_trinv_cntl = FLA_Cntl_trinv_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT3, flash_trinv_bsize, flash_trinv_cntl_leaf, NULL, flash_trsm_cntl_bp, flash_trsm_cntl_bp, flash_gemm_cntl_op_bp ); }
void FLASH_Trmm_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Trmm_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_trmm_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set trmm blocksize for hierarchical storage. flash_trmm_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree that assumes A and B are b x b blocks. flash_trmm_cntl_blas = FLA_Cntl_trmm_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL, NULL ); // Create a control tree that assumes A is a block and B is a panel. flash_trmm_cntl_bp = FLA_Cntl_trmm_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT3, flash_trmm_bsize, flash_scal_cntl, flash_trmm_cntl_blas, NULL ); // Create a control tree that assumes A is large and B is a panel. flash_trmm_cntl_mp = FLA_Cntl_trmm_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT2, flash_trmm_bsize, flash_scal_cntl, flash_trmm_cntl_blas, flash_gemm_cntl_op_bp ); // Create a control tree that assumes A and B are both large. flash_trmm_cntl_mm = FLA_Cntl_trmm_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT3, flash_trmm_bsize, flash_scal_cntl, flash_trmm_cntl_mp, NULL ); }
void FLASH_Trsm_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Trsm_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_trsm_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set trsm blocksize for hierarchical storage. flash_trsm_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree that assumes A and B are b x b blocks. flash_trsm_cntl_blas = FLA_Cntl_trsm_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL, NULL ); // Create a control tree that assumes A is a block and B is a panel. flash_trsm_cntl_bp = FLA_Cntl_trsm_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT3, flash_trsm_bsize, flash_scal_cntl, flash_trsm_cntl_blas, NULL ); // Create a control tree that assumes A is large and B is a panel. flash_trsm_cntl_mp = FLA_Cntl_trsm_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT2, flash_trsm_bsize, flash_scal_cntl, flash_trsm_cntl_blas, flash_gemm_cntl_op_bp ); // Create a control tree that assumes A and B are both large. flash_trsm_cntl_mm = FLA_Cntl_trsm_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT3, flash_trsm_bsize, flash_scal_cntl, flash_trsm_cntl_mp, NULL ); }
void FLASH_Trsv_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Trsv_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_trsv_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set trsv blocksize for hierarchical storage. flash_trsv_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree that assumes A is a b x b block. flash_trsv_cntl_blas = FLA_Cntl_trsv_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL ); // Create a control tree that assumes A is large. flash_trsv_cntl = FLA_Cntl_trsv_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT2, flash_trsv_bsize, flash_trsv_cntl_blas, flash_gemv_cntl_cp_bv ); }
void FLASH_Ttmm_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_Ttmm_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_ttmm_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksize for hierarchical storage. flash_ttmm_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree that assumes A is a b x b block. flash_ttmm_cntl_leaf = FLA_Cntl_ttmm_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL, NULL, NULL ); // Create a control tree that assumes A is large. flash_ttmm_cntl = FLA_Cntl_ttmm_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT1, flash_ttmm_bsize, flash_ttmm_cntl_leaf, flash_herk_cntl_op, flash_trmm_cntl_bp, NULL ); }
void FLASH_UDdate_UT_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_UDdate_UT_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_uddateut_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksize for hierarchical storage. flash_uddateut_var2_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree to invoke variant 1. flash_uddateut_cntl_leaf = FLA_Cntl_uddateut_obj_create( FLA_HIER, FLA_SUBPROBLEM, NULL, NULL, NULL ); // Create a control tree to invoke variant 2. flash_uddateut_cntl = FLA_Cntl_uddateut_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT2, flash_uddateut_var2_bsize, flash_uddateut_cntl_leaf, NULL ); }
void FLASH_UDdate_UT_inc_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
void FLASH_UDdate_UT_inc_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_uddateutinc_obj_create().
Referenced by FLA_Cntl_init_flash().
{ // Set blocksizes for hierarchical storage. flash_uddateutinc_var1_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); // Create a control tree to invoke variant 1. flash_uddateutinc_cntl = FLA_Cntl_uddateutinc_obj_create( FLA_HIER, FLA_BLOCKED_VARIANT1, flash_uddateutinc_var1_bsize, flash_uddateut_cntl, flash_apqudut_cntl ); }