Go to the source code of this file.
Functions | |
FLA_Error | FLA_Symm_internal (FLA_Side side, FLA_Uplo uplo, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_symm_t *cntl) |
FLA_Error | FLA_Symm_ll (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_symm_t *cntl) |
FLA_Error | FLA_Symm_lu (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_symm_t *cntl) |
FLA_Error | FLA_Symm_rl (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_symm_t *cntl) |
FLA_Error | FLA_Symm_ru (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_symm_t *cntl) |
FLA_Error FLA_Symm_internal | ( | FLA_Side | side, | |
FLA_Uplo | uplo, | |||
FLA_Obj | alpha, | |||
FLA_Obj | A, | |||
FLA_Obj | B, | |||
FLA_Obj | beta, | |||
FLA_Obj | C, | |||
fla_symm_t * | cntl | |||
) |
References FLA_Check_error_level(), FLA_Obj_elemtype(), FLA_Symm_internal(), FLA_Symm_internal_check(), FLA_Symm_ll(), FLA_Symm_lu(), FLA_Symm_rl(), FLA_Symm_ru(), 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_Symm_internal_check( side, uplo, 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_Symm_internal( side, 00051 uplo, 00052 alpha, 00053 *FLASH_OBJ_PTR_AT( A ), 00054 *FLASH_OBJ_PTR_AT( B ), 00055 beta, 00056 *FLASH_OBJ_PTR_AT( C ), 00057 flash_symm_cntl_mm ); 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_Symm( side, uplo, 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_symm_cntl_blas; 00074 } 00075 00076 // Parameter combinations 00077 if ( side == FLA_LEFT ) 00078 { 00079 if ( uplo == FLA_LOWER_TRIANGULAR ) 00080 r_val = FLA_Symm_ll( alpha, A, B, beta, C, cntl ); 00081 else if ( uplo == FLA_UPPER_TRIANGULAR ) 00082 r_val = FLA_Symm_lu( alpha, A, B, beta, C, cntl ); 00083 } 00084 else if ( side == FLA_RIGHT ) 00085 { 00086 if ( uplo == FLA_LOWER_TRIANGULAR ) 00087 r_val = FLA_Symm_rl( alpha, A, B, beta, C, cntl ); 00088 else if ( uplo == FLA_UPPER_TRIANGULAR ) 00089 r_val = FLA_Symm_ru( alpha, A, B, beta, C, cntl ); 00090 } 00091 } 00092 00093 return r_val; 00094 }
FLA_Error FLA_Symm_ll | ( | FLA_Obj | alpha, | |
FLA_Obj | A, | |||
FLA_Obj | B, | |||
FLA_Obj | beta, | |||
FLA_Obj | C, | |||
fla_symm_t * | cntl | |||
) |
References 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(), and FLA_Symm_ll_task().
Referenced by FLA_Symm_internal().
00036 { 00037 FLA_Error r_val = FLA_SUCCESS; 00038 00039 if ( FLA_Cntl_variant( cntl ) == FLA_SUBPROBLEM ) 00040 { 00041 r_val = FLA_Symm_ll_task( alpha, A, B, beta, C, cntl ); 00042 } 00043 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00044 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 ) 00045 { 00046 r_val = FLA_Symm_ll_blk_var1( alpha, A, B, beta, C, cntl ); 00047 } 00048 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 ) 00049 { 00050 r_val = FLA_Symm_ll_blk_var2( alpha, A, B, beta, C, cntl ); 00051 } 00052 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 ) 00053 { 00054 r_val = FLA_Symm_ll_blk_var3( alpha, A, B, beta, C, cntl ); 00055 } 00056 #endif 00057 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT4 ) 00058 { 00059 r_val = FLA_Symm_ll_blk_var4( alpha, A, B, beta, C, cntl ); 00060 } 00061 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00062 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT5 ) 00063 { 00064 r_val = FLA_Symm_ll_blk_var5( alpha, A, B, beta, C, cntl ); 00065 } 00066 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT6 ) 00067 { 00068 r_val = FLA_Symm_ll_blk_var6( alpha, A, B, beta, C, cntl ); 00069 } 00070 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT7 ) 00071 { 00072 r_val = FLA_Symm_ll_blk_var7( alpha, A, B, beta, C, cntl ); 00073 } 00074 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT8 ) 00075 { 00076 r_val = FLA_Symm_ll_blk_var8( alpha, A, B, beta, C, cntl ); 00077 } 00078 #endif 00079 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT9 ) 00080 { 00081 r_val = FLA_Symm_ll_blk_var9( alpha, A, B, beta, C, cntl ); 00082 } 00083 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00084 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT10 ) 00085 { 00086 r_val = FLA_Symm_ll_blk_var10( alpha, A, B, beta, C, cntl ); 00087 } 00088 #endif 00089 return r_val; 00090 }
FLA_Error FLA_Symm_lu | ( | FLA_Obj | alpha, | |
FLA_Obj | A, | |||
FLA_Obj | B, | |||
FLA_Obj | beta, | |||
FLA_Obj | C, | |||
fla_symm_t * | cntl | |||
) |
References 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(), and FLA_Symm_lu_task().
Referenced by FLA_Symm_internal().
00036 { 00037 FLA_Error r_val = FLA_SUCCESS; 00038 00039 if ( FLA_Cntl_variant( cntl ) == FLA_SUBPROBLEM ) 00040 { 00041 r_val = FLA_Symm_lu_task( alpha, A, B, beta, C, cntl ); 00042 } 00043 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00044 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 ) 00045 { 00046 r_val = FLA_Symm_lu_blk_var1( alpha, A, B, beta, C, cntl ); 00047 } 00048 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 ) 00049 { 00050 r_val = FLA_Symm_lu_blk_var2( alpha, A, B, beta, C, cntl ); 00051 } 00052 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 ) 00053 { 00054 r_val = FLA_Symm_lu_blk_var3( alpha, A, B, beta, C, cntl ); 00055 } 00056 #endif 00057 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT4 ) 00058 { 00059 r_val = FLA_Symm_lu_blk_var4( alpha, A, B, beta, C, cntl ); 00060 } 00061 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00062 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT5 ) 00063 { 00064 r_val = FLA_Symm_lu_blk_var5( alpha, A, B, beta, C, cntl ); 00065 } 00066 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT6 ) 00067 { 00068 r_val = FLA_Symm_lu_blk_var6( alpha, A, B, beta, C, cntl ); 00069 } 00070 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT7 ) 00071 { 00072 r_val = FLA_Symm_lu_blk_var7( alpha, A, B, beta, C, cntl ); 00073 } 00074 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT8 ) 00075 { 00076 r_val = FLA_Symm_lu_blk_var8( alpha, A, B, beta, C, cntl ); 00077 } 00078 #endif 00079 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT9 ) 00080 { 00081 r_val = FLA_Symm_lu_blk_var9( alpha, A, B, beta, C, cntl ); 00082 } 00083 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00084 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT10 ) 00085 { 00086 r_val = FLA_Symm_lu_blk_var10( alpha, A, B, beta, C, cntl ); 00087 } 00088 #endif 00089 return r_val; 00090 }
FLA_Error FLA_Symm_rl | ( | FLA_Obj | alpha, | |
FLA_Obj | A, | |||
FLA_Obj | B, | |||
FLA_Obj | beta, | |||
FLA_Obj | C, | |||
fla_symm_t * | cntl | |||
) |
References 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(), and FLA_Symm_rl_task().
Referenced by FLA_Symm_internal().
00036 { 00037 FLA_Error r_val = FLA_SUCCESS; 00038 00039 if ( FLA_Cntl_variant( cntl ) == FLA_SUBPROBLEM ) 00040 { 00041 r_val = FLA_Symm_rl_task( alpha, A, B, beta, C, cntl ); 00042 } 00043 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00044 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 ) 00045 { 00046 r_val = FLA_Symm_rl_blk_var1( alpha, A, B, beta, C, cntl ); 00047 } 00048 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 ) 00049 { 00050 r_val = FLA_Symm_rl_blk_var2( alpha, A, B, beta, C, cntl ); 00051 } 00052 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 ) 00053 { 00054 r_val = FLA_Symm_rl_blk_var3( alpha, A, B, beta, C, cntl ); 00055 } 00056 #endif 00057 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT4 ) 00058 { 00059 r_val = FLA_Symm_rl_blk_var4( alpha, A, B, beta, C, cntl ); 00060 } 00061 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00062 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT5 ) 00063 { 00064 r_val = FLA_Symm_rl_blk_var5( alpha, A, B, beta, C, cntl ); 00065 } 00066 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT6 ) 00067 { 00068 r_val = FLA_Symm_rl_blk_var6( alpha, A, B, beta, C, cntl ); 00069 } 00070 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT7 ) 00071 { 00072 r_val = FLA_Symm_rl_blk_var7( alpha, A, B, beta, C, cntl ); 00073 } 00074 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT8 ) 00075 { 00076 r_val = FLA_Symm_rl_blk_var8( alpha, A, B, beta, C, cntl ); 00077 } 00078 #endif 00079 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT9 ) 00080 { 00081 r_val = FLA_Symm_rl_blk_var9( alpha, A, B, beta, C, cntl ); 00082 } 00083 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00084 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT10 ) 00085 { 00086 r_val = FLA_Symm_rl_blk_var10( alpha, A, B, beta, C, cntl ); 00087 } 00088 #endif 00089 return r_val; 00090 }
FLA_Error FLA_Symm_ru | ( | FLA_Obj | alpha, | |
FLA_Obj | A, | |||
FLA_Obj | B, | |||
FLA_Obj | beta, | |||
FLA_Obj | C, | |||
fla_symm_t * | cntl | |||
) |
References 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(), and FLA_Symm_ru_task().
Referenced by FLA_Symm_internal().
00036 { 00037 FLA_Error r_val = FLA_SUCCESS; 00038 00039 if ( FLA_Cntl_variant( cntl ) == FLA_SUBPROBLEM ) 00040 { 00041 r_val = FLA_Symm_ru_task( alpha, A, B, beta, C, cntl ); 00042 } 00043 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00044 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 ) 00045 { 00046 r_val = FLA_Symm_ru_blk_var1( alpha, A, B, beta, C, cntl ); 00047 } 00048 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 ) 00049 { 00050 r_val = FLA_Symm_ru_blk_var2( alpha, A, B, beta, C, cntl ); 00051 } 00052 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 ) 00053 { 00054 r_val = FLA_Symm_ru_blk_var3( alpha, A, B, beta, C, cntl ); 00055 } 00056 #endif 00057 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT4 ) 00058 { 00059 r_val = FLA_Symm_ru_blk_var4( alpha, A, B, beta, C, cntl ); 00060 } 00061 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00062 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT5 ) 00063 { 00064 r_val = FLA_Symm_ru_blk_var5( alpha, A, B, beta, C, cntl ); 00065 } 00066 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT6 ) 00067 { 00068 r_val = FLA_Symm_ru_blk_var6( alpha, A, B, beta, C, cntl ); 00069 } 00070 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT7 ) 00071 { 00072 r_val = FLA_Symm_ru_blk_var7( alpha, A, B, beta, C, cntl ); 00073 } 00074 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT8 ) 00075 { 00076 r_val = FLA_Symm_ru_blk_var8( alpha, A, B, beta, C, cntl ); 00077 } 00078 #endif 00079 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT9 ) 00080 { 00081 r_val = FLA_Symm_ru_blk_var9( alpha, A, B, beta, C, cntl ); 00082 } 00083 #ifdef FLA_ENABLE_NON_CRITICAL_CODE 00084 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT10 ) 00085 { 00086 r_val = FLA_Symm_ru_blk_var10( alpha, A, B, beta, C, cntl ); 00087 } 00088 #endif 00089 return r_val; 00090 }