Go to the source code of this file.
FLA_Error FLA_Gemm_hh | ( | FLA_Obj | alpha, | |
FLA_Obj | A, | |||
FLA_Obj | B, | |||
FLA_Obj | beta, | |||
FLA_Obj | C, | |||
fla_gemm_t * | cntl | |||
) |
References 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(), and FLA_Gemm_hh_task().
Referenced by FLA_Gemm_internal().
00036 { 00037 FLA_Error r_val = FLA_SUCCESS; 00038 00039 if ( FLA_Cntl_variant( cntl ) == FLA_SUBPROBLEM ) 00040 { 00041 r_val = FLA_Gemm_hh_task( alpha, A, B, beta, C, cntl ); 00042 } 00043 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 ) 00044 { 00045 r_val = FLA_Gemm_hh_blk_var1( alpha, A, B, beta, C, cntl ); 00046 } 00047 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00048 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 ) 00049 { 00050 r_val = FLA_Gemm_hh_blk_var2( alpha, A, B, beta, C, cntl ); 00051 } 00052 #endif 00053 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 ) 00054 { 00055 r_val = FLA_Gemm_hh_blk_var3( alpha, A, B, beta, C, cntl ); 00056 } 00057 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00058 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT4 ) 00059 { 00060 r_val = FLA_Gemm_hh_blk_var4( alpha, A, B, beta, C, cntl ); 00061 } 00062 #endif 00063 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT5 ) 00064 { 00065 r_val = FLA_Gemm_hh_blk_var5( alpha, A, B, beta, C, cntl ); 00066 } 00067 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00068 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT6 ) 00069 { 00070 r_val = FLA_Gemm_hh_blk_var6( alpha, A, B, beta, C, cntl ); 00071 } 00072 #endif 00073 return r_val; 00074 }
FLA_Error FLA_Gemm_hn | ( | FLA_Obj | alpha, | |
FLA_Obj | A, | |||
FLA_Obj | B, | |||
FLA_Obj | beta, | |||
FLA_Obj | C, | |||
fla_gemm_t * | cntl | |||
) |
References 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(), and FLA_Gemm_hn_task().
Referenced by FLA_Gemm_internal().
00036 { 00037 FLA_Error r_val = FLA_SUCCESS; 00038 00039 if ( FLA_Cntl_variant( cntl ) == FLA_SUBPROBLEM ) 00040 { 00041 r_val = FLA_Gemm_hn_task( alpha, A, B, beta, C, cntl ); 00042 } 00043 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 ) 00044 { 00045 r_val = FLA_Gemm_hn_blk_var1( alpha, A, B, beta, C, cntl ); 00046 } 00047 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00048 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 ) 00049 { 00050 r_val = FLA_Gemm_hn_blk_var2( alpha, A, B, beta, C, cntl ); 00051 } 00052 #endif 00053 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 ) 00054 { 00055 r_val = FLA_Gemm_hn_blk_var3( alpha, A, B, beta, C, cntl ); 00056 } 00057 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00058 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT4 ) 00059 { 00060 r_val = FLA_Gemm_hn_blk_var4( alpha, A, B, beta, C, cntl ); 00061 } 00062 #endif 00063 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT5 ) 00064 { 00065 r_val = FLA_Gemm_hn_blk_var5( alpha, A, B, beta, C, cntl ); 00066 } 00067 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00068 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT6 ) 00069 { 00070 r_val = FLA_Gemm_hn_blk_var6( alpha, A, B, beta, C, cntl ); 00071 } 00072 #endif 00073 return r_val; 00074 }
FLA_Error FLA_Gemm_ht | ( | FLA_Obj | alpha, | |
FLA_Obj | A, | |||
FLA_Obj | B, | |||
FLA_Obj | beta, | |||
FLA_Obj | C, | |||
fla_gemm_t * | cntl | |||
) |
References 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(), and FLA_Gemm_ht_task().
Referenced by FLA_Gemm_internal().
00036 { 00037 FLA_Error r_val = FLA_SUCCESS; 00038 00039 if ( FLA_Cntl_variant( cntl ) == FLA_SUBPROBLEM ) 00040 { 00041 r_val = FLA_Gemm_ht_task( alpha, A, B, beta, C, cntl ); 00042 } 00043 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 ) 00044 { 00045 r_val = FLA_Gemm_ht_blk_var1( alpha, A, B, beta, C, cntl ); 00046 } 00047 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00048 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 ) 00049 { 00050 r_val = FLA_Gemm_ht_blk_var2( alpha, A, B, beta, C, cntl ); 00051 } 00052 #endif 00053 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 ) 00054 { 00055 r_val = FLA_Gemm_ht_blk_var3( alpha, A, B, beta, C, cntl ); 00056 } 00057 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00058 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT4 ) 00059 { 00060 r_val = FLA_Gemm_ht_blk_var4( alpha, A, B, beta, C, cntl ); 00061 } 00062 #endif 00063 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT5 ) 00064 { 00065 r_val = FLA_Gemm_ht_blk_var5( alpha, A, B, beta, C, cntl ); 00066 } 00067 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00068 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT6 ) 00069 { 00070 r_val = FLA_Gemm_ht_blk_var6( alpha, A, B, beta, C, cntl ); 00071 } 00072 #endif 00073 return r_val; 00074 }
FLA_Error FLA_Gemm_internal | ( | FLA_Trans | transa, | |
FLA_Trans | transb, | |||
FLA_Obj | alpha, | |||
FLA_Obj | A, | |||
FLA_Obj | B, | |||
FLA_Obj | beta, | |||
FLA_Obj | C, | |||
fla_gemm_t * | cntl | |||
) |
References FLA_Check_error_level(), FLA_Gemm_hh(), FLA_Gemm_hn(), FLA_Gemm_ht(), FLA_Gemm_internal(), FLA_Gemm_internal_check(), FLA_Gemm_nh(), FLA_Gemm_nn(), FLA_Gemm_nt(), FLA_Gemm_th(), FLA_Gemm_tn(), FLA_Gemm_tt(), FLA_Obj_elemtype(), and FLASH_Queue_get_enabled().
00039 { 00040 FLA_Error r_val = FLA_SUCCESS; 00041 00042 if ( FLA_Check_error_level() == FLA_FULL_ERROR_CHECKING ) 00043 FLA_Gemm_internal_check( transa, transb, alpha, A, B, beta, C, cntl ); 00044 00045 if ( FLA_Cntl_matrix_type( cntl ) == FLA_HIER && 00046 FLA_Obj_elemtype( A ) == FLA_MATRIX && 00047 FLA_Cntl_variant( cntl ) == FLA_SUBPROBLEM ) 00048 { 00049 // Recurse 00050 r_val = FLA_Gemm_internal( transa, 00051 transb, 00052 alpha, 00053 *FLASH_OBJ_PTR_AT( A ), 00054 *FLASH_OBJ_PTR_AT( B ), 00055 beta, 00056 *FLASH_OBJ_PTR_AT( C ), 00057 flash_gemm_cntl_mm_op ); 00058 } 00059 else if ( FLA_Cntl_matrix_type( cntl ) == FLA_HIER && 00060 FLA_Obj_elemtype( A ) == FLA_SCALAR && 00061 FLASH_Queue_get_enabled( ) ) 00062 { 00063 // Enqueue 00064 ENQUEUE_FLASH_Gemm( transa, transb, alpha, A, B, beta, C, cntl ); 00065 } 00066 else 00067 { 00068 if ( FLA_Cntl_matrix_type( cntl ) == FLA_HIER && 00069 FLA_Obj_elemtype( A ) == FLA_SCALAR && 00070 !FLASH_Queue_get_enabled( ) ) 00071 { 00072 // Execute leaf 00073 cntl = flash_gemm_cntl_blas; 00074 } 00075 00076 // Parameter combinations 00077 if ( transa == FLA_NO_TRANSPOSE ) 00078 { 00079 if ( transb == FLA_NO_TRANSPOSE ) 00080 r_val = FLA_Gemm_nn( alpha, A, B, beta, C, cntl ); 00081 else if ( transb == FLA_TRANSPOSE ) 00082 r_val = FLA_Gemm_nt( alpha, A, B, beta, C, cntl ); 00083 else if ( transb == FLA_CONJ_TRANSPOSE ) 00084 r_val = FLA_Gemm_nh( alpha, A, B, beta, C, cntl ); 00085 } 00086 else if ( transa == FLA_TRANSPOSE ) 00087 { 00088 if ( transb == FLA_NO_TRANSPOSE ) 00089 r_val = FLA_Gemm_tn( alpha, A, B, beta, C, cntl ); 00090 else if ( transb == FLA_TRANSPOSE ) 00091 r_val = FLA_Gemm_tt( alpha, A, B, beta, C, cntl ); 00092 else if ( transb == FLA_CONJ_TRANSPOSE ) 00093 r_val = FLA_Gemm_th( alpha, A, B, beta, C, cntl ); 00094 } 00095 else if ( transa == FLA_CONJ_TRANSPOSE ) 00096 { 00097 if ( transb == FLA_NO_TRANSPOSE ) 00098 r_val = FLA_Gemm_hn( alpha, A, B, beta, C, cntl ); 00099 else if ( transb == FLA_TRANSPOSE ) 00100 r_val = FLA_Gemm_ht( alpha, A, B, beta, C, cntl ); 00101 else if ( transb == FLA_CONJ_TRANSPOSE ) 00102 r_val = FLA_Gemm_hh( alpha, A, B, beta, C, cntl ); 00103 } 00104 } 00105 00106 return r_val; 00107 }
FLA_Error FLA_Gemm_nh | ( | FLA_Obj | alpha, | |
FLA_Obj | A, | |||
FLA_Obj | B, | |||
FLA_Obj | beta, | |||
FLA_Obj | C, | |||
fla_gemm_t * | cntl | |||
) |
References 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(), and FLA_Gemm_nh_task().
Referenced by FLA_Gemm_internal().
00036 { 00037 FLA_Error r_val = FLA_SUCCESS; 00038 00039 if ( FLA_Cntl_variant( cntl ) == FLA_SUBPROBLEM ) 00040 { 00041 r_val = FLA_Gemm_nh_task( alpha, A, B, beta, C, cntl ); 00042 } 00043 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 ) 00044 { 00045 r_val = FLA_Gemm_nh_blk_var1( alpha, A, B, beta, C, cntl ); 00046 } 00047 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00048 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 ) 00049 { 00050 r_val = FLA_Gemm_nh_blk_var2( alpha, A, B, beta, C, cntl ); 00051 } 00052 #endif 00053 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 ) 00054 { 00055 r_val = FLA_Gemm_nh_blk_var3( alpha, A, B, beta, C, cntl ); 00056 } 00057 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00058 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT4 ) 00059 { 00060 r_val = FLA_Gemm_nh_blk_var4( alpha, A, B, beta, C, cntl ); 00061 } 00062 #endif 00063 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT5 ) 00064 { 00065 r_val = FLA_Gemm_nh_blk_var5( alpha, A, B, beta, C, cntl ); 00066 } 00067 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00068 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT6 ) 00069 { 00070 r_val = FLA_Gemm_nh_blk_var6( alpha, A, B, beta, C, cntl ); 00071 } 00072 #endif 00073 return r_val; 00074 }
FLA_Error FLA_Gemm_nn | ( | FLA_Obj | alpha, | |
FLA_Obj | A, | |||
FLA_Obj | B, | |||
FLA_Obj | beta, | |||
FLA_Obj | C, | |||
fla_gemm_t * | cntl | |||
) |
References 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(), and FLA_Gemm_nn_task().
Referenced by FLA_Gemm_internal().
00036 { 00037 FLA_Error r_val = FLA_SUCCESS; 00038 00039 if ( FLA_Cntl_variant( cntl ) == FLA_SUBPROBLEM ) 00040 { 00041 r_val = FLA_Gemm_nn_task( alpha, A, B, beta, C, cntl ); 00042 } 00043 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 ) 00044 { 00045 r_val = FLA_Gemm_nn_blk_var1( alpha, A, B, beta, C, cntl ); 00046 } 00047 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00048 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 ) 00049 { 00050 r_val = FLA_Gemm_nn_blk_var2( alpha, A, B, beta, C, cntl ); 00051 } 00052 #endif 00053 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 ) 00054 { 00055 r_val = FLA_Gemm_nn_blk_var3( alpha, A, B, beta, C, cntl ); 00056 } 00057 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00058 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT4 ) 00059 { 00060 r_val = FLA_Gemm_nn_blk_var4( alpha, A, B, beta, C, cntl ); 00061 } 00062 #endif 00063 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT5 ) 00064 { 00065 r_val = FLA_Gemm_nn_blk_var5( alpha, A, B, beta, C, cntl ); 00066 } 00067 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00068 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT6 ) 00069 { 00070 r_val = FLA_Gemm_nn_blk_var6( alpha, A, B, beta, C, cntl ); 00071 } 00072 #endif 00073 return r_val; 00074 }
FLA_Error FLA_Gemm_nt | ( | FLA_Obj | alpha, | |
FLA_Obj | A, | |||
FLA_Obj | B, | |||
FLA_Obj | beta, | |||
FLA_Obj | C, | |||
fla_gemm_t * | cntl | |||
) |
References 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(), and FLA_Gemm_nt_task().
Referenced by FLA_Gemm_internal().
00036 { 00037 FLA_Error r_val = FLA_SUCCESS; 00038 00039 if ( FLA_Cntl_variant( cntl ) == FLA_SUBPROBLEM ) 00040 { 00041 r_val = FLA_Gemm_nt_task( alpha, A, B, beta, C, cntl ); 00042 } 00043 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 ) 00044 { 00045 r_val = FLA_Gemm_nt_blk_var1( alpha, A, B, beta, C, cntl ); 00046 } 00047 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00048 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 ) 00049 { 00050 r_val = FLA_Gemm_nt_blk_var2( alpha, A, B, beta, C, cntl ); 00051 } 00052 #endif 00053 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 ) 00054 { 00055 r_val = FLA_Gemm_nt_blk_var3( alpha, A, B, beta, C, cntl ); 00056 } 00057 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00058 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT4 ) 00059 { 00060 r_val = FLA_Gemm_nt_blk_var4( alpha, A, B, beta, C, cntl ); 00061 } 00062 #endif 00063 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT5 ) 00064 { 00065 r_val = FLA_Gemm_nt_blk_var5( alpha, A, B, beta, C, cntl ); 00066 } 00067 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00068 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT6 ) 00069 { 00070 r_val = FLA_Gemm_nt_blk_var6( alpha, A, B, beta, C, cntl ); 00071 } 00072 #endif 00073 return r_val; 00074 }
FLA_Error FLA_Gemm_th | ( | FLA_Obj | alpha, | |
FLA_Obj | A, | |||
FLA_Obj | B, | |||
FLA_Obj | beta, | |||
FLA_Obj | C, | |||
fla_gemm_t * | cntl | |||
) |
References 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(), and FLA_Gemm_th_task().
Referenced by FLA_Gemm_internal().
00036 { 00037 FLA_Error r_val = FLA_SUCCESS; 00038 00039 if ( FLA_Cntl_variant( cntl ) == FLA_SUBPROBLEM ) 00040 { 00041 r_val = FLA_Gemm_th_task( alpha, A, B, beta, C, cntl ); 00042 } 00043 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 ) 00044 { 00045 r_val = FLA_Gemm_th_blk_var1( alpha, A, B, beta, C, cntl ); 00046 } 00047 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00048 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 ) 00049 { 00050 r_val = FLA_Gemm_th_blk_var2( alpha, A, B, beta, C, cntl ); 00051 } 00052 #endif 00053 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 ) 00054 { 00055 r_val = FLA_Gemm_th_blk_var3( alpha, A, B, beta, C, cntl ); 00056 } 00057 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00058 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT4 ) 00059 { 00060 r_val = FLA_Gemm_th_blk_var4( alpha, A, B, beta, C, cntl ); 00061 } 00062 #endif 00063 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT5 ) 00064 { 00065 r_val = FLA_Gemm_th_blk_var5( alpha, A, B, beta, C, cntl ); 00066 } 00067 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00068 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT6 ) 00069 { 00070 r_val = FLA_Gemm_th_blk_var6( alpha, A, B, beta, C, cntl ); 00071 } 00072 #endif 00073 return r_val; 00074 }
FLA_Error FLA_Gemm_tn | ( | FLA_Obj | alpha, | |
FLA_Obj | A, | |||
FLA_Obj | B, | |||
FLA_Obj | beta, | |||
FLA_Obj | C, | |||
fla_gemm_t * | cntl | |||
) |
References 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(), and FLA_Gemm_tn_task().
Referenced by FLA_Gemm_internal().
00036 { 00037 FLA_Error r_val = FLA_SUCCESS; 00038 00039 if ( FLA_Cntl_variant( cntl ) == FLA_SUBPROBLEM ) 00040 { 00041 r_val = FLA_Gemm_tn_task( alpha, A, B, beta, C, cntl ); 00042 } 00043 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 ) 00044 { 00045 r_val = FLA_Gemm_tn_blk_var1( alpha, A, B, beta, C, cntl ); 00046 } 00047 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00048 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 ) 00049 { 00050 r_val = FLA_Gemm_tn_blk_var2( alpha, A, B, beta, C, cntl ); 00051 } 00052 #endif 00053 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 ) 00054 { 00055 r_val = FLA_Gemm_tn_blk_var3( alpha, A, B, beta, C, cntl ); 00056 } 00057 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00058 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT4 ) 00059 { 00060 r_val = FLA_Gemm_tn_blk_var4( alpha, A, B, beta, C, cntl ); 00061 } 00062 #endif 00063 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT5 ) 00064 { 00065 r_val = FLA_Gemm_tn_blk_var5( alpha, A, B, beta, C, cntl ); 00066 } 00067 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00068 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT6 ) 00069 { 00070 r_val = FLA_Gemm_tn_blk_var6( alpha, A, B, beta, C, cntl ); 00071 } 00072 #endif 00073 return r_val; 00074 }
FLA_Error FLA_Gemm_tt | ( | FLA_Obj | alpha, | |
FLA_Obj | A, | |||
FLA_Obj | B, | |||
FLA_Obj | beta, | |||
FLA_Obj | C, | |||
fla_gemm_t * | cntl | |||
) |
References 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(), and FLA_Gemm_tt_task().
Referenced by FLA_Gemm_internal().
00036 { 00037 FLA_Error r_val = FLA_SUCCESS; 00038 00039 if ( FLA_Cntl_variant( cntl ) == FLA_SUBPROBLEM ) 00040 { 00041 r_val = FLA_Gemm_tt_task( alpha, A, B, beta, C, cntl ); 00042 } 00043 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 ) 00044 { 00045 r_val = FLA_Gemm_tt_blk_var1( alpha, A, B, beta, C, cntl ); 00046 } 00047 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00048 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 ) 00049 { 00050 r_val = FLA_Gemm_tt_blk_var2( alpha, A, B, beta, C, cntl ); 00051 } 00052 #endif 00053 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 ) 00054 { 00055 r_val = FLA_Gemm_tt_blk_var3( alpha, A, B, beta, C, cntl ); 00056 } 00057 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00058 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT4 ) 00059 { 00060 r_val = FLA_Gemm_tt_blk_var4( alpha, A, B, beta, C, cntl ); 00061 } 00062 #endif 00063 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT5 ) 00064 { 00065 r_val = FLA_Gemm_tt_blk_var5( alpha, A, B, beta, C, cntl ); 00066 } 00067 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00068 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT6 ) 00069 { 00070 r_val = FLA_Gemm_tt_blk_var6( alpha, A, B, beta, C, cntl ); 00071 } 00072 #endif 00073 return r_val; 00074 }