void blas_set_parameter | ( | void | ) |
fla_blocksize_t* FLA_Blocksize_create | ( | dim_t | b_s, | |
dim_t | b_d, | |||
dim_t | b_c, | |||
dim_t | b_z | |||
) |
References FLA_Blocksize_s::c, FLA_Blocksize_s::d, FLA_malloc(), FLA_Blocksize_s::s, and FLA_Blocksize_s::z.
Referenced by FLA_Query_blocksizes(), FLASH_Apply_Q_UT_cntl_init(), FLASH_Apply_Q_UT_inc_cntl_init(), FLASH_Apply_Q_UT_UD_cntl_init(), FLASH_Axpy_cntl_init(), FLASH_Chol_cntl_init(), FLASH_Copy_cntl_init(), FLASH_Gemm_cntl_init(), FLASH_Gemv_cntl_init(), FLASH_Hemm_cntl_init(), FLASH_Her2k_cntl_init(), FLASH_Herk_cntl_init(), FLASH_LU_nopiv_cntl_init(), FLASH_QR_UT_inc_cntl_init(), FLASH_QR_UT_UD_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(), and FLASH_Ttmm_cntl_init().
00059 { 00060 fla_blocksize_t* bp; 00061 00062 // Allocate memory for the blocksize structure. 00063 bp = ( fla_blocksize_t* ) FLA_malloc( sizeof(fla_blocksize_t) ); 00064 00065 // Assign the provided blocksize values into the corresponding fields. 00066 bp->s = b_s; 00067 bp->d = b_d; 00068 bp->c = b_c; 00069 bp->z = b_z; 00070 00071 // Return a pointer to the structure. 00072 return bp; 00073 }
fla_blocksize_t* FLA_Blocksize_create_copy | ( | fla_blocksize_t * | bp | ) |
References FLA_Blocksize_s::c, FLA_Blocksize_s::d, FLA_Check_error_level(), FLA_Check_null_pointer(), FLA_malloc(), FLA_Blocksize_s::s, and FLA_Blocksize_s::z.
Referenced by FLA_Chol_cntl_init(), FLA_LU_nopiv_cntl_init(), and FLA_LU_piv_cntl_init().
00106 { 00107 fla_blocksize_t* bp_copy; 00108 FLA_Error e_val; 00109 00110 // Verify that the given blocksize pointer is valid. 00111 if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING ) 00112 { 00113 e_val = FLA_Check_null_pointer( bp ); 00114 FLA_Check_error_code( e_val ); 00115 } 00116 00117 // Allocate memory for the blocksize structure. 00118 bp_copy = ( fla_blocksize_t* ) FLA_malloc( sizeof(fla_blocksize_t) ); 00119 00120 // Assign the provided blocksize object's values into the corresponding 00121 // fields of the new object. 00122 bp_copy->s = bp->s; 00123 bp_copy->d = bp->d; 00124 bp_copy->c = bp->c; 00125 bp_copy->z = bp->z; 00126 00127 // Return a pointer to the structure. 00128 return bp_copy; 00129 }
dim_t FLA_Blocksize_extract | ( | FLA_Datatype | dt, | |
fla_blocksize_t * | bp | |||
) |
References FLA_Blocksize_s::c, FLA_Blocksize_s::d, FLA_Check_error_level(), FLA_Check_null_pointer(), FLA_Blocksize_s::s, and FLA_Blocksize_s::z.
Referenced by FLA_Check_blocksize_object(), FLA_Determine_blocksize(), FLA_Gemm(), FLA_Hemm(), FLA_Her2k(), FLA_Herk(), FLA_SPDinv(), FLA_Symm(), FLA_Syr2k(), FLA_Syrk(), FLA_Trinv(), FLA_Trmm(), FLA_Trsm(), and FLA_Ttmm().
00139 { 00140 dim_t b = 0; 00141 FLA_Error e_val; 00142 00143 // Verify that the given blocksize pointer is valid. 00144 if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING ) 00145 { 00146 e_val = FLA_Check_null_pointer( bp ); 00147 FLA_Check_error_code( e_val ); 00148 } 00149 00150 if ( dt == FLA_FLOAT ) 00151 b = bp->s; 00152 else if ( dt == FLA_DOUBLE ) 00153 b = bp->d; 00154 else if ( dt == FLA_COMPLEX ) 00155 b = bp->c; 00156 else if ( dt == FLA_DOUBLE_COMPLEX ) 00157 b = bp->z; 00158 00159 // Return the blocksize corresponding with the datatype. 00160 return b; 00161 }
void FLA_Blocksize_free | ( | fla_blocksize_t * | bp | ) |
References FLA_free().
Referenced by FLA_Apply_Q_UT_cntl_finalize(), FLA_Apply_Q_UT_UD_cntl_finalize(), FLA_Chol_cntl_finalize(), FLA_Gemm_cntl_finalize(), FLA_Hemm_cntl_finalize(), FLA_Her2k_cntl_finalize(), FLA_Herk_cntl_finalize(), FLA_Hess_cntl_finalize(), FLA_LQ_UT_cntl_finalize(), FLA_LU_nopiv_cntl_finalize(), FLA_LU_piv_cntl_finalize(), FLA_QR_UT_cntl_finalize(), FLA_QR_UT_UD_cntl_finalize(), FLA_SPDinv_cntl_finalize(), FLA_Sylv_cntl_finalize(), FLA_Symm_cntl_finalize(), FLA_Syr2k_cntl_finalize(), FLA_Syrk_cntl_finalize(), FLA_Transpose_cntl_finalize(), FLA_Trinv_cntl_finalize(), FLA_Trmm_cntl_finalize(), FLA_Trsm_cntl_finalize(), FLA_Ttmm_cntl_finalize(), FLASH_Apply_Q_UT_cntl_finalize(), FLASH_Apply_Q_UT_inc_cntl_finalize(), FLASH_Apply_Q_UT_UD_cntl_finalize(), FLASH_Axpy_cntl_finalize(), FLASH_Chol_cntl_finalize(), FLASH_Copy_cntl_finalize(), FLASH_Gemm_cntl_finalize(), FLASH_Gemv_cntl_finalize(), FLASH_Hemm_cntl_finalize(), FLASH_Her2k_cntl_finalize(), FLASH_Herk_cntl_finalize(), FLASH_LU_nopiv_cntl_finalize(), FLASH_QR_UT_inc_cntl_finalize(), FLASH_QR_UT_UD_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(), and FLASH_Ttmm_cntl_finalize().
00133 { 00134 FLA_free( bp ); 00135 }
void FLA_Blocksize_scale | ( | fla_blocksize_t * | bp, | |
double | factor | |||
) |
References FLA_Blocksize_s::c, FLA_Blocksize_s::d, FLA_Check_error_level(), FLA_Check_null_pointer(), FLA_Blocksize_s::s, and FLA_Blocksize_s::z.
Referenced by FLA_Apply_Q_UT_cntl_init(), FLA_Apply_Q_UT_UD_cntl_init(), FLA_Chol_cntl_init(), FLA_LQ_UT_cntl_init(), FLA_LU_nopiv_cntl_init(), FLA_LU_piv_cntl_init(), FLA_QR_UT_cntl_init(), and FLA_QR_UT_UD_cntl_init().
00087 { 00088 FLA_Error e_val; 00089 00090 // Verify that the given blocksize pointer is valid. 00091 if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING ) 00092 { 00093 e_val = FLA_Check_null_pointer( bp ); 00094 FLA_Check_error_code( e_val ); 00095 } 00096 00097 // Assign the provided blocksize values into the corresponding fields. 00098 bp->s = ( dim_t )( ( double ) bp->s * factor ); 00099 bp->d = ( dim_t )( ( double ) bp->d * factor ); 00100 bp->c = ( dim_t )( ( double ) bp->c * factor ); 00101 bp->z = ( dim_t )( ( double ) bp->z * factor ); 00102 }
void FLA_Blocksize_set | ( | fla_blocksize_t * | bp, | |
dim_t | b_s, | |||
dim_t | b_d, | |||
dim_t | b_c, | |||
dim_t | b_z | |||
) |
References FLA_Blocksize_s::c, FLA_Blocksize_s::d, FLA_Blocksize_s::s, and FLA_Blocksize_s::z.
Referenced by FLA_Apply_Q_UT(), FLA_LQ_UT(), FLA_QR_UT(), FLASH_Apply_Q_UT(), FLASH_Apply_Q_UT_inc(), FLASH_Apply_Q_UT_UD(), FLASH_QR_UT_inc_noopt(), FLASH_QR_UT_inc_opt1(), and FLASH_QR_UT_UD().
00077 { 00078 // Assign the provided blocksize values into the corresponding fields. 00079 if ( b_s != 0 ) bp->s = b_s; 00080 if ( b_d != 0 ) bp->d = b_d; 00081 if ( b_c != 0 ) bp->c = b_c; 00082 if ( b_z != 0 ) bp->z = b_z; 00083 }
dim_t FLA_Determine_blocksize | ( | FLA_Obj | A_unproc, | |
FLA_Quadrant | to_dir, | |||
fla_blocksize_t * | bp | |||
) |
References FLA_Blocksize_extract(), FLA_Check_blocksize_value(), FLA_Check_error_level(), FLA_determine_matrix_size(), and FLA_Obj_datatype().
Referenced by FLA_Apply_Q_UT_inc_lhc_blk_var1(), FLA_Apply_Q_UT_lhc_blk_var1(), FLA_Apply_Q_UT_lhc_blk_var2(), FLA_Apply_Q_UT_UD_lhc_blk_var1(), FLA_Apply_Q_UT_UD_lhc_blk_var2(), FLA_Apply_Q_UT_UD_lhc_blk_var3(), FLA_Axpy_blk_var1(), FLA_Axpy_blk_var2(), FLA_Axpy_blk_var3(), FLA_Axpy_blk_var4(), FLA_Chol_l_blk_var1(), FLA_Chol_l_blk_var2(), FLA_Chol_l_blk_var3(), FLA_Chol_u_blk_var1(), FLA_Chol_u_blk_var2(), FLA_Chol_u_blk_var3(), FLA_Copy_blk_var1(), FLA_Copy_blk_var2(), FLA_Copy_blk_var3(), FLA_Copy_blk_var4(), FLA_Gemm_hh_blk_var1(), FLA_Gemm_hh_blk_var2(), FLA_Gemm_hh_blk_var3(), FLA_Gemm_hh_blk_var4(), FLA_Gemm_hh_blk_var5(), FLA_Gemm_hh_blk_var6(), FLA_Gemm_hn_blk_var1(), FLA_Gemm_hn_blk_var2(), FLA_Gemm_hn_blk_var3(), FLA_Gemm_hn_blk_var4(), FLA_Gemm_hn_blk_var5(), FLA_Gemm_hn_blk_var6(), FLA_Gemm_ht_blk_var1(), FLA_Gemm_ht_blk_var2(), FLA_Gemm_ht_blk_var3(), FLA_Gemm_ht_blk_var4(), FLA_Gemm_ht_blk_var5(), FLA_Gemm_ht_blk_var6(), FLA_Gemm_nh_blk_var1(), FLA_Gemm_nh_blk_var2(), FLA_Gemm_nh_blk_var3(), FLA_Gemm_nh_blk_var4(), FLA_Gemm_nh_blk_var5(), FLA_Gemm_nh_blk_var6(), FLA_Gemm_nn_blk_var1(), FLA_Gemm_nn_blk_var2(), FLA_Gemm_nn_blk_var3(), FLA_Gemm_nn_blk_var4(), FLA_Gemm_nn_blk_var5(), FLA_Gemm_nn_blk_var6(), FLA_Gemm_nt_blk_var1(), FLA_Gemm_nt_blk_var2(), FLA_Gemm_nt_blk_var3(), FLA_Gemm_nt_blk_var4(), FLA_Gemm_nt_blk_var5(), FLA_Gemm_nt_blk_var6(), FLA_Gemm_th_blk_var1(), FLA_Gemm_th_blk_var2(), FLA_Gemm_th_blk_var3(), FLA_Gemm_th_blk_var4(), FLA_Gemm_th_blk_var5(), FLA_Gemm_th_blk_var6(), FLA_Gemm_tn_blk_var1(), FLA_Gemm_tn_blk_var2(), FLA_Gemm_tn_blk_var3(), FLA_Gemm_tn_blk_var4(), FLA_Gemm_tn_blk_var5(), FLA_Gemm_tn_blk_var6(), FLA_Gemm_tt_blk_var1(), FLA_Gemm_tt_blk_var2(), FLA_Gemm_tt_blk_var3(), FLA_Gemm_tt_blk_var4(), FLA_Gemm_tt_blk_var5(), FLA_Gemm_tt_blk_var6(), FLA_Gemv_c_blk_var1(), FLA_Gemv_c_blk_var2(), FLA_Gemv_c_blk_var5(), FLA_Gemv_c_blk_var6(), FLA_Gemv_n_blk_var1(), FLA_Gemv_n_blk_var2(), FLA_Gemv_n_blk_var5(), FLA_Gemv_n_blk_var6(), FLA_Gemv_t_blk_var1(), FLA_Gemv_t_blk_var2(), FLA_Gemv_t_blk_var5(), FLA_Gemv_t_blk_var6(), FLA_Hemm_ll_blk_var1(), FLA_Hemm_ll_blk_var10(), FLA_Hemm_ll_blk_var2(), FLA_Hemm_ll_blk_var3(), FLA_Hemm_ll_blk_var4(), FLA_Hemm_ll_blk_var5(), FLA_Hemm_ll_blk_var6(), FLA_Hemm_ll_blk_var7(), FLA_Hemm_ll_blk_var8(), FLA_Hemm_ll_blk_var9(), FLA_Hemm_lu_blk_var1(), FLA_Hemm_lu_blk_var10(), FLA_Hemm_lu_blk_var2(), FLA_Hemm_lu_blk_var3(), FLA_Hemm_lu_blk_var4(), FLA_Hemm_lu_blk_var5(), FLA_Hemm_lu_blk_var6(), FLA_Hemm_lu_blk_var7(), FLA_Hemm_lu_blk_var8(), FLA_Hemm_lu_blk_var9(), FLA_Hemm_rl_blk_var1(), FLA_Hemm_rl_blk_var10(), FLA_Hemm_rl_blk_var2(), FLA_Hemm_rl_blk_var3(), FLA_Hemm_rl_blk_var4(), FLA_Hemm_rl_blk_var5(), FLA_Hemm_rl_blk_var6(), FLA_Hemm_rl_blk_var7(), FLA_Hemm_rl_blk_var8(), FLA_Hemm_rl_blk_var9(), FLA_Hemm_ru_blk_var1(), FLA_Hemm_ru_blk_var10(), FLA_Hemm_ru_blk_var2(), FLA_Hemm_ru_blk_var3(), FLA_Hemm_ru_blk_var4(), FLA_Hemm_ru_blk_var5(), FLA_Hemm_ru_blk_var6(), FLA_Hemm_ru_blk_var7(), FLA_Hemm_ru_blk_var8(), FLA_Hemm_ru_blk_var9(), FLA_Her2k_lh_blk_var1(), FLA_Her2k_lh_blk_var10(), FLA_Her2k_lh_blk_var2(), FLA_Her2k_lh_blk_var3(), FLA_Her2k_lh_blk_var4(), FLA_Her2k_lh_blk_var5(), FLA_Her2k_lh_blk_var6(), FLA_Her2k_lh_blk_var7(), FLA_Her2k_lh_blk_var8(), FLA_Her2k_lh_blk_var9(), FLA_Her2k_ln_blk_var1(), FLA_Her2k_ln_blk_var10(), FLA_Her2k_ln_blk_var2(), FLA_Her2k_ln_blk_var3(), FLA_Her2k_ln_blk_var4(), FLA_Her2k_ln_blk_var5(), FLA_Her2k_ln_blk_var6(), FLA_Her2k_ln_blk_var7(), FLA_Her2k_ln_blk_var8(), FLA_Her2k_ln_blk_var9(), FLA_Her2k_uh_blk_var1(), FLA_Her2k_uh_blk_var10(), FLA_Her2k_uh_blk_var2(), FLA_Her2k_uh_blk_var3(), FLA_Her2k_uh_blk_var4(), FLA_Her2k_uh_blk_var5(), FLA_Her2k_uh_blk_var6(), FLA_Her2k_uh_blk_var7(), FLA_Her2k_uh_blk_var8(), FLA_Her2k_uh_blk_var9(), FLA_Her2k_un_blk_var1(), FLA_Her2k_un_blk_var10(), FLA_Her2k_un_blk_var2(), FLA_Her2k_un_blk_var3(), FLA_Her2k_un_blk_var4(), FLA_Her2k_un_blk_var5(), FLA_Her2k_un_blk_var6(), FLA_Her2k_un_blk_var7(), FLA_Her2k_un_blk_var8(), FLA_Her2k_un_blk_var9(), FLA_Herk_lh_blk_var1(), FLA_Herk_lh_blk_var2(), FLA_Herk_lh_blk_var3(), FLA_Herk_lh_blk_var4(), FLA_Herk_lh_blk_var5(), FLA_Herk_lh_blk_var6(), FLA_Herk_ln_blk_var1(), FLA_Herk_ln_blk_var2(), FLA_Herk_ln_blk_var3(), FLA_Herk_ln_blk_var4(), FLA_Herk_ln_blk_var5(), FLA_Herk_ln_blk_var6(), FLA_Herk_uh_blk_var1(), FLA_Herk_uh_blk_var2(), FLA_Herk_uh_blk_var3(), FLA_Herk_uh_blk_var4(), FLA_Herk_uh_blk_var5(), FLA_Herk_uh_blk_var6(), FLA_Herk_un_blk_var1(), FLA_Herk_un_blk_var2(), FLA_Herk_un_blk_var3(), FLA_Herk_un_blk_var4(), FLA_Herk_un_blk_var5(), FLA_Herk_un_blk_var6(), FLA_LQ_UT_Accum_T_blk_var1(), FLA_LQ_UT_blk_var2(), FLA_LU_nopiv_blk_var1(), FLA_LU_nopiv_blk_var2(), FLA_LU_nopiv_blk_var3(), FLA_LU_nopiv_blk_var4(), FLA_LU_nopiv_blk_var5(), FLA_LU_piv_blk_var3(), FLA_LU_piv_blk_var4(), FLA_LU_piv_blk_var5(), FLA_QR_UT_Accum_T_blk_var1(), FLA_QR_UT_blk_var2(), FLA_QR_UT_inc_blk_var1(), FLA_QR_UT_inc_blk_var2(), FLA_QR_UT_UD_blk_var1(), FLA_QR_UT_UD_blk_var2(), FLA_Swap_t_blk_var1(), FLA_Swap_t_blk_var2(), FLA_Sylv_nn_blk_var1(), FLA_Sylv_nn_blk_var10(), FLA_Sylv_nn_blk_var11(), FLA_Sylv_nn_blk_var12(), FLA_Sylv_nn_blk_var13(), FLA_Sylv_nn_blk_var14(), FLA_Sylv_nn_blk_var15(), FLA_Sylv_nn_blk_var16(), FLA_Sylv_nn_blk_var17(), FLA_Sylv_nn_blk_var18(), FLA_Sylv_nn_blk_var2(), FLA_Sylv_nn_blk_var3(), FLA_Sylv_nn_blk_var4(), FLA_Sylv_nn_blk_var5(), FLA_Sylv_nn_blk_var6(), FLA_Sylv_nn_blk_var7(), FLA_Sylv_nn_blk_var8(), FLA_Sylv_nn_blk_var9(), FLA_Sylv_nt_blk_var1(), FLA_Sylv_nt_blk_var10(), FLA_Sylv_nt_blk_var11(), FLA_Sylv_nt_blk_var12(), FLA_Sylv_nt_blk_var13(), FLA_Sylv_nt_blk_var14(), FLA_Sylv_nt_blk_var15(), FLA_Sylv_nt_blk_var16(), FLA_Sylv_nt_blk_var17(), FLA_Sylv_nt_blk_var18(), FLA_Sylv_nt_blk_var2(), FLA_Sylv_nt_blk_var3(), FLA_Sylv_nt_blk_var4(), FLA_Sylv_nt_blk_var5(), FLA_Sylv_nt_blk_var6(), FLA_Sylv_nt_blk_var7(), FLA_Sylv_nt_blk_var8(), FLA_Sylv_nt_blk_var9(), FLA_Sylv_tn_blk_var1(), FLA_Sylv_tn_blk_var10(), FLA_Sylv_tn_blk_var11(), FLA_Sylv_tn_blk_var12(), FLA_Sylv_tn_blk_var13(), FLA_Sylv_tn_blk_var14(), FLA_Sylv_tn_blk_var15(), FLA_Sylv_tn_blk_var16(), FLA_Sylv_tn_blk_var17(), FLA_Sylv_tn_blk_var18(), FLA_Sylv_tn_blk_var2(), FLA_Sylv_tn_blk_var3(), FLA_Sylv_tn_blk_var4(), FLA_Sylv_tn_blk_var5(), FLA_Sylv_tn_blk_var6(), FLA_Sylv_tn_blk_var7(), FLA_Sylv_tn_blk_var8(), FLA_Sylv_tn_blk_var9(), FLA_Sylv_tt_blk_var1(), FLA_Sylv_tt_blk_var10(), FLA_Sylv_tt_blk_var11(), FLA_Sylv_tt_blk_var12(), FLA_Sylv_tt_blk_var13(), FLA_Sylv_tt_blk_var14(), FLA_Sylv_tt_blk_var15(), FLA_Sylv_tt_blk_var16(), FLA_Sylv_tt_blk_var17(), FLA_Sylv_tt_blk_var18(), FLA_Sylv_tt_blk_var2(), FLA_Sylv_tt_blk_var3(), FLA_Sylv_tt_blk_var4(), FLA_Sylv_tt_blk_var5(), FLA_Sylv_tt_blk_var6(), FLA_Sylv_tt_blk_var7(), FLA_Sylv_tt_blk_var8(), FLA_Sylv_tt_blk_var9(), FLA_Symm_ll_blk_var1(), FLA_Symm_ll_blk_var10(), FLA_Symm_ll_blk_var2(), FLA_Symm_ll_blk_var3(), FLA_Symm_ll_blk_var4(), FLA_Symm_ll_blk_var5(), FLA_Symm_ll_blk_var6(), FLA_Symm_ll_blk_var7(), FLA_Symm_ll_blk_var8(), FLA_Symm_ll_blk_var9(), FLA_Symm_lu_blk_var1(), FLA_Symm_lu_blk_var10(), FLA_Symm_lu_blk_var2(), FLA_Symm_lu_blk_var3(), FLA_Symm_lu_blk_var4(), FLA_Symm_lu_blk_var5(), FLA_Symm_lu_blk_var6(), FLA_Symm_lu_blk_var7(), FLA_Symm_lu_blk_var8(), FLA_Symm_lu_blk_var9(), FLA_Symm_rl_blk_var1(), FLA_Symm_rl_blk_var10(), FLA_Symm_rl_blk_var2(), FLA_Symm_rl_blk_var3(), FLA_Symm_rl_blk_var4(), FLA_Symm_rl_blk_var5(), FLA_Symm_rl_blk_var6(), FLA_Symm_rl_blk_var7(), FLA_Symm_rl_blk_var8(), FLA_Symm_rl_blk_var9(), FLA_Symm_ru_blk_var1(), FLA_Symm_ru_blk_var10(), FLA_Symm_ru_blk_var2(), FLA_Symm_ru_blk_var3(), FLA_Symm_ru_blk_var4(), FLA_Symm_ru_blk_var5(), FLA_Symm_ru_blk_var6(), FLA_Symm_ru_blk_var7(), FLA_Symm_ru_blk_var8(), FLA_Symm_ru_blk_var9(), FLA_Syr2k_ln_blk_var1(), FLA_Syr2k_ln_blk_var10(), FLA_Syr2k_ln_blk_var2(), FLA_Syr2k_ln_blk_var3(), FLA_Syr2k_ln_blk_var4(), FLA_Syr2k_ln_blk_var5(), FLA_Syr2k_ln_blk_var6(), FLA_Syr2k_ln_blk_var7(), FLA_Syr2k_ln_blk_var8(), FLA_Syr2k_ln_blk_var9(), FLA_Syr2k_lt_blk_var1(), FLA_Syr2k_lt_blk_var10(), FLA_Syr2k_lt_blk_var2(), FLA_Syr2k_lt_blk_var3(), FLA_Syr2k_lt_blk_var4(), FLA_Syr2k_lt_blk_var5(), FLA_Syr2k_lt_blk_var6(), FLA_Syr2k_lt_blk_var7(), FLA_Syr2k_lt_blk_var8(), FLA_Syr2k_lt_blk_var9(), FLA_Syr2k_un_blk_var1(), FLA_Syr2k_un_blk_var10(), FLA_Syr2k_un_blk_var2(), FLA_Syr2k_un_blk_var3(), FLA_Syr2k_un_blk_var4(), FLA_Syr2k_un_blk_var5(), FLA_Syr2k_un_blk_var6(), FLA_Syr2k_un_blk_var7(), FLA_Syr2k_un_blk_var8(), FLA_Syr2k_un_blk_var9(), FLA_Syr2k_ut_blk_var1(), FLA_Syr2k_ut_blk_var10(), FLA_Syr2k_ut_blk_var2(), FLA_Syr2k_ut_blk_var3(), FLA_Syr2k_ut_blk_var4(), FLA_Syr2k_ut_blk_var5(), FLA_Syr2k_ut_blk_var6(), FLA_Syr2k_ut_blk_var7(), FLA_Syr2k_ut_blk_var8(), FLA_Syr2k_ut_blk_var9(), FLA_Syrk_ln_blk_var1(), FLA_Syrk_ln_blk_var2(), FLA_Syrk_ln_blk_var3(), FLA_Syrk_ln_blk_var4(), FLA_Syrk_ln_blk_var5(), FLA_Syrk_ln_blk_var6(), FLA_Syrk_lt_blk_var1(), FLA_Syrk_lt_blk_var2(), FLA_Syrk_lt_blk_var3(), FLA_Syrk_lt_blk_var4(), FLA_Syrk_lt_blk_var5(), FLA_Syrk_lt_blk_var6(), FLA_Syrk_un_blk_var1(), FLA_Syrk_un_blk_var2(), FLA_Syrk_un_blk_var3(), FLA_Syrk_un_blk_var4(), FLA_Syrk_un_blk_var5(), FLA_Syrk_un_blk_var6(), FLA_Syrk_ut_blk_var1(), FLA_Syrk_ut_blk_var2(), FLA_Syrk_ut_blk_var3(), FLA_Syrk_ut_blk_var4(), FLA_Syrk_ut_blk_var5(), FLA_Syrk_ut_blk_var6(), FLA_Transpose_blk_var1(), FLA_Transpose_blk_var2(), FLA_Trinv_l_blk_var1(), FLA_Trinv_l_blk_var2(), FLA_Trinv_l_blk_var3(), FLA_Trinv_l_blk_var4(), FLA_Trinv_u_blk_var1(), FLA_Trinv_u_blk_var2(), FLA_Trinv_u_blk_var3(), FLA_Trinv_u_blk_var4(), FLA_Trmm_llh_blk_var1(), FLA_Trmm_llh_blk_var2(), FLA_Trmm_llh_blk_var3(), FLA_Trmm_llh_blk_var4(), FLA_Trmm_lln_blk_var1(), FLA_Trmm_lln_blk_var2(), FLA_Trmm_lln_blk_var3(), FLA_Trmm_lln_blk_var4(), FLA_Trmm_llt_blk_var1(), FLA_Trmm_llt_blk_var2(), FLA_Trmm_llt_blk_var3(), FLA_Trmm_llt_blk_var4(), FLA_Trmm_luh_blk_var1(), FLA_Trmm_luh_blk_var2(), FLA_Trmm_luh_blk_var3(), FLA_Trmm_luh_blk_var4(), FLA_Trmm_lun_blk_var1(), FLA_Trmm_lun_blk_var2(), FLA_Trmm_lun_blk_var3(), FLA_Trmm_lun_blk_var4(), FLA_Trmm_lut_blk_var1(), FLA_Trmm_lut_blk_var2(), FLA_Trmm_lut_blk_var3(), FLA_Trmm_lut_blk_var4(), FLA_Trmm_rlh_blk_var1(), FLA_Trmm_rlh_blk_var2(), FLA_Trmm_rlh_blk_var3(), FLA_Trmm_rlh_blk_var4(), FLA_Trmm_rln_blk_var1(), FLA_Trmm_rln_blk_var2(), FLA_Trmm_rln_blk_var3(), FLA_Trmm_rln_blk_var4(), FLA_Trmm_rlt_blk_var1(), FLA_Trmm_rlt_blk_var2(), FLA_Trmm_rlt_blk_var3(), FLA_Trmm_rlt_blk_var4(), FLA_Trmm_ruh_blk_var1(), FLA_Trmm_ruh_blk_var2(), FLA_Trmm_ruh_blk_var3(), FLA_Trmm_ruh_blk_var4(), FLA_Trmm_run_blk_var1(), FLA_Trmm_run_blk_var2(), FLA_Trmm_run_blk_var3(), FLA_Trmm_run_blk_var4(), FLA_Trmm_rut_blk_var1(), FLA_Trmm_rut_blk_var2(), FLA_Trmm_rut_blk_var3(), FLA_Trmm_rut_blk_var4(), FLA_Trsm_llh_blk_var1(), FLA_Trsm_llh_blk_var2(), FLA_Trsm_llh_blk_var3(), FLA_Trsm_llh_blk_var4(), FLA_Trsm_lln_blk_var1(), FLA_Trsm_lln_blk_var2(), FLA_Trsm_lln_blk_var3(), FLA_Trsm_lln_blk_var4(), FLA_Trsm_llt_blk_var1(), FLA_Trsm_llt_blk_var2(), FLA_Trsm_llt_blk_var3(), FLA_Trsm_llt_blk_var4(), FLA_Trsm_luh_blk_var1(), FLA_Trsm_luh_blk_var2(), FLA_Trsm_luh_blk_var3(), FLA_Trsm_luh_blk_var4(), FLA_Trsm_lun_blk_var1(), FLA_Trsm_lun_blk_var2(), FLA_Trsm_lun_blk_var3(), FLA_Trsm_lun_blk_var4(), FLA_Trsm_lut_blk_var1(), FLA_Trsm_lut_blk_var2(), FLA_Trsm_lut_blk_var3(), FLA_Trsm_lut_blk_var4(), FLA_Trsm_rlh_blk_var1(), FLA_Trsm_rlh_blk_var2(), FLA_Trsm_rlh_blk_var3(), FLA_Trsm_rlh_blk_var4(), FLA_Trsm_rln_blk_var1(), FLA_Trsm_rln_blk_var2(), FLA_Trsm_rln_blk_var3(), FLA_Trsm_rln_blk_var4(), FLA_Trsm_rlt_blk_var1(), FLA_Trsm_rlt_blk_var2(), FLA_Trsm_rlt_blk_var3(), FLA_Trsm_rlt_blk_var4(), FLA_Trsm_ruh_blk_var1(), FLA_Trsm_ruh_blk_var2(), FLA_Trsm_ruh_blk_var3(), FLA_Trsm_ruh_blk_var4(), FLA_Trsm_run_blk_var1(), FLA_Trsm_run_blk_var2(), FLA_Trsm_run_blk_var3(), FLA_Trsm_run_blk_var4(), FLA_Trsm_rut_blk_var1(), FLA_Trsm_rut_blk_var2(), FLA_Trsm_rut_blk_var3(), FLA_Trsm_rut_blk_var4(), FLA_Trsv_lc_blk_var1(), FLA_Trsv_lc_blk_var2(), FLA_Trsv_ln_blk_var1(), FLA_Trsv_ln_blk_var2(), FLA_Trsv_lt_blk_var1(), FLA_Trsv_lt_blk_var2(), FLA_Trsv_uc_blk_var1(), FLA_Trsv_uc_blk_var2(), FLA_Trsv_un_blk_var1(), FLA_Trsv_un_blk_var2(), FLA_Trsv_ut_blk_var1(), FLA_Trsv_ut_blk_var2(), FLA_Ttmm_l_blk_var1(), FLA_Ttmm_l_blk_var2(), FLA_Ttmm_l_blk_var3(), FLA_Ttmm_u_blk_var1(), FLA_Ttmm_u_blk_var2(), and FLA_Ttmm_u_blk_var3().
00264 { 00265 FLA_Error e_val; 00266 FLA_Datatype datatype; 00267 dim_t A_unproc_size; 00268 dim_t typed_blocksize; 00269 dim_t b; 00270 00271 // Determine the size of the remaining portion of the matrix. 00272 A_unproc_size = FLA_determine_matrix_size( A_unproc, to_dir ); 00273 00274 // Determine the datatype of the matrix. 00275 datatype = FLA_Obj_datatype( A_unproc ); 00276 00277 // Determine the raw blocksize value from the blocksize structure. 00278 typed_blocksize = FLA_Blocksize_extract( datatype, bp ); 00279 00280 // Check blocksize for zero value. 00281 if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING ) 00282 { 00283 e_val = FLA_Check_blocksize_value( typed_blocksize ); 00284 FLA_Check_error_code( e_val ); 00285 } 00286 00287 // If the unprocessed partition is smaller than our blocksize allows, 00288 // we have to use it's length/width instead. 00289 b = min( A_unproc_size, typed_blocksize ); 00290 00291 // Return the computed blocksize. 00292 return b; 00293 }
dim_t FLA_determine_matrix_size | ( | FLA_Obj | A_unproc, | |
FLA_Quadrant | to_dir | |||
) |
References FLA_Obj_length(), FLA_Obj_min_dim(), and FLA_Obj_width().
Referenced by FLA_Determine_blocksize().
00297 { 00298 dim_t r_val = 0; 00299 00300 // Determine the size of the matrix dimension along which we are moving. 00301 switch( to_dir ) 00302 { 00303 case FLA_TOP: 00304 case FLA_BOTTOM: 00305 { 00306 r_val = FLA_Obj_length( A_unproc ); 00307 break; 00308 } 00309 case FLA_LEFT: 00310 case FLA_RIGHT: 00311 { 00312 r_val = FLA_Obj_width( A_unproc ); 00313 break; 00314 } 00315 case FLA_TL: 00316 case FLA_TR: 00317 case FLA_BL: 00318 case FLA_BR: 00319 { 00320 // We need to use min_dim() here because the matrix might be 00321 // rectangular. 00322 r_val = FLA_Obj_min_dim( A_unproc ); 00323 break; 00324 } 00325 } 00326 00327 return r_val; 00328 }
dim_t FLA_Query_blocksize | ( | FLA_Datatype | dt, | |
FLA_Dimension | dim | |||
) |
References cgemm_p, cgemm_q, cgemm_r, dgemm_p, dgemm_q, dgemm_r, fla_goto_gemm_blocksize, sgemm_p, sgemm_q, sgemm_r, zgemm_p, zgemm_q, and zgemm_r.
Referenced by FLA_Apply_Q_blk_external(), FLA_Check_householder_panel_dims(), FLA_Hess_blk_external(), FLA_LQ_blk_external(), FLA_LQ_UT_blk_external(), FLA_LQ_UT_create_T(), FLA_QR_blk_external(), FLA_QR_UT_blk_external(), FLA_QR_UT_create_T(), fla_query_blocksize_f(), and FLA_Query_blocksizes().
00184 { 00185 dim_t b_val = 0; 00186 00187 #ifdef FLA_ENABLE_GOTO_INTERFACES 00188 00189 int dt_index; 00190 int dim_index; 00191 00192 if ( first_time ) 00193 { 00194 long sgemm_min, dgemm_min, cgemm_min, zgemm_min; 00195 00196 // Find the blocksizes associated with FLA_DIMENSION_MIN. 00197 sgemm_min = min( sgemm_p, sgemm_q ); 00198 dgemm_min = min( dgemm_p, dgemm_q ); 00199 cgemm_min = min( cgemm_p, cgemm_q ); 00200 zgemm_min = min( zgemm_p, zgemm_q ); 00201 00202 // Set the values for each datatype and dimension constant. 00203 fla_goto_gemm_blocksize[FLA_S_INDEX][FLA_DIM_M_INDEX] = sgemm_p; 00204 fla_goto_gemm_blocksize[FLA_S_INDEX][FLA_DIM_K_INDEX] = sgemm_q; 00205 fla_goto_gemm_blocksize[FLA_S_INDEX][FLA_DIM_N_INDEX] = sgemm_r; 00206 fla_goto_gemm_blocksize[FLA_S_INDEX][FLA_DIM_MIN_INDEX] = sgemm_min; 00207 00208 fla_goto_gemm_blocksize[FLA_D_INDEX][FLA_DIM_M_INDEX] = dgemm_p; 00209 fla_goto_gemm_blocksize[FLA_D_INDEX][FLA_DIM_K_INDEX] = dgemm_q; 00210 fla_goto_gemm_blocksize[FLA_D_INDEX][FLA_DIM_N_INDEX] = dgemm_r; 00211 fla_goto_gemm_blocksize[FLA_D_INDEX][FLA_DIM_MIN_INDEX] = dgemm_min; 00212 00213 fla_goto_gemm_blocksize[FLA_C_INDEX][FLA_DIM_M_INDEX] = cgemm_p; 00214 fla_goto_gemm_blocksize[FLA_C_INDEX][FLA_DIM_K_INDEX] = cgemm_q; 00215 fla_goto_gemm_blocksize[FLA_C_INDEX][FLA_DIM_N_INDEX] = cgemm_r; 00216 fla_goto_gemm_blocksize[FLA_C_INDEX][FLA_DIM_MIN_INDEX] = cgemm_min; 00217 00218 fla_goto_gemm_blocksize[FLA_Z_INDEX][FLA_DIM_M_INDEX] = zgemm_p; 00219 fla_goto_gemm_blocksize[FLA_Z_INDEX][FLA_DIM_K_INDEX] = zgemm_q; 00220 fla_goto_gemm_blocksize[FLA_Z_INDEX][FLA_DIM_N_INDEX] = zgemm_r; 00221 fla_goto_gemm_blocksize[FLA_Z_INDEX][FLA_DIM_MIN_INDEX] = zgemm_min; 00222 00223 first_time = FALSE; 00224 } 00225 00226 // Compute the index of the requested datatype. 00227 dt_index = dt & FLA_DTYPE_INDEX_MASK; 00228 dim_index = dim & FLA_DIM_INDEX_MASK; 00229 00230 // Index into the array and choose the appropriate blocksize. 00231 b_val = ( dim_t ) fla_goto_gemm_blocksize[dt_index][dim_index]; 00232 00233 #else 00234 00235 // Assign the return value to a default sane blocksize in case 00236 // we cannot access the libgoto symbols. 00237 if ( dim == FLA_DIMENSION_M ) 00238 b_val = FLA_DEFAULT_M_BLOCKSIZE; 00239 else if ( dim == FLA_DIMENSION_K ) 00240 b_val = FLA_DEFAULT_K_BLOCKSIZE; 00241 else if ( dim == FLA_DIMENSION_N ) 00242 b_val = FLA_DEFAULT_N_BLOCKSIZE; 00243 else if ( dim == FLA_DIMENSION_MIN ) 00244 { 00245 b_val = min( FLA_DEFAULT_M_BLOCKSIZE, FLA_DEFAULT_K_BLOCKSIZE ); 00246 b_val = min( b_val, FLA_DEFAULT_N_BLOCKSIZE ); 00247 } 00248 00249 #endif 00250 00251 // Return the blocksize. 00252 return b_val; 00253 }
F_INT FLA_F2C() fla_query_blocksize_f | ( | F_INT * | dt, | |
F_INT * | dim | |||
) |
References FLA_Query_blocksize().
00257 { 00258 return ( F_INT ) FLA_Query_blocksize( *( ( FLA_Datatype * ) dt ), 00259 *( ( FLA_Dimension * ) dim ) ); 00260 }
fla_blocksize_t* FLA_Query_blocksizes | ( | FLA_Dimension | dim | ) |
References FLA_Blocksize_s::c, FLA_Blocksize_s::d, FLA_Blocksize_create(), FLA_Query_blocksize(), FLA_Blocksize_s::s, and FLA_Blocksize_s::z.
Referenced by FLA_Apply_Q_UT_cntl_init(), FLA_Apply_Q_UT_UD_cntl_init(), FLA_Chol_cntl_init(), FLA_Gemm_cntl_init(), FLA_Hemm_cntl_init(), FLA_Her2k_cntl_init(), FLA_Herk_cntl_init(), FLA_Hess_cntl_init(), FLA_LQ_UT_cntl_init(), FLA_LU_nopiv_cntl_init(), FLA_LU_piv_cntl_init(), FLA_QR_UT_cntl_init(), FLA_QR_UT_UD_cntl_init(), FLA_SPDinv_cntl_init(), FLA_Sylv_cntl_init(), FLA_Symm_cntl_init(), FLA_Syr2k_cntl_init(), FLA_Syrk_cntl_init(), FLA_Transpose_cntl_init(), FLA_Trinv_cntl_init(), FLA_Trmm_cntl_init(), FLA_Trsm_cntl_init(), FLA_Ttmm_cntl_init(), and FLASH_SPDinv_cntl_init().
00165 { 00166 fla_blocksize_t* bp; 00167 00168 // Create an FLA_Blocksize_t object. 00169 bp = FLA_Blocksize_create( 0, 0, 0, 0 ); 00170 00171 // Query the requested blocksize (m, k, or n dimension) for all of the 00172 // datatypes and package the results in an FLA_Blocksize_t structure. 00173 bp->s = FLA_Query_blocksize( FLA_FLOAT, dim ); 00174 bp->d = FLA_Query_blocksize( FLA_DOUBLE, dim ); 00175 bp->c = FLA_Query_blocksize( FLA_COMPLEX, dim ); 00176 bp->z = FLA_Query_blocksize( FLA_DOUBLE_COMPLEX, dim ); 00177 00178 // Return a pointer to the structure. 00179 return bp; 00180 }
long cgemm_p |
Referenced by FLA_Query_blocksize().
long cgemm_q |
Referenced by FLA_Query_blocksize().
long cgemm_r |
Referenced by FLA_Query_blocksize().
long dgemm_p |
Referenced by FLA_Query_blocksize().
long dgemm_q |
Referenced by FLA_Query_blocksize().
long dgemm_r |
Referenced by FLA_Query_blocksize().
long fla_goto_gemm_blocksize[4][4] |
Referenced by FLA_Query_blocksize().
long sgemm_p |
Referenced by FLA_Query_blocksize().
long sgemm_q |
Referenced by FLA_Query_blocksize().
long sgemm_r |
Referenced by FLA_Query_blocksize().
long zgemm_p |
Referenced by FLA_Query_blocksize().
long zgemm_q |
Referenced by FLA_Query_blocksize().
long zgemm_r |
Referenced by FLA_Query_blocksize().