libflame revision_anchor
Functions | Variables
FLA_Axpy_internal.c File Reference

(r)

Functions

FLA_Error FLA_Axpy_internal (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_axpy_t *cntl)
 

Variables

fla_axpy_tflash_axpy_cntl_blas
 
fla_axpy_tflash_axpy_cntl
 

Function Documentation

◆ FLA_Axpy_internal()

FLA_Error FLA_Axpy_internal ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_axpy_t cntl 
)
17{
19
22
24 return FLA_SUCCESS;
25
26 if ( FLA_Cntl_matrix_type( cntl ) == FLA_HIER &&
29 {
30 // Recurse
35 }
36 else if ( FLA_Cntl_matrix_type( cntl ) == FLA_HIER &&
39 {
40 // Enqueue
41 ENQUEUE_FLASH_Axpy( alpha, A, B, cntl );
42 }
43 else
44 {
45 if ( FLA_Cntl_matrix_type( cntl ) == FLA_HIER &&
48 {
49 // Execute leaf
51 }
52
53 // Parameter combinations
54 if ( FLA_Cntl_variant( cntl ) == FLA_SUBPROBLEM )
55 {
56 r_val = FLA_Axpy_task( alpha, A, B, cntl );
57 }
58 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 )
59 {
60 r_val = FLA_Axpy_blk_var1( alpha, A, B, cntl );
61 }
62#ifdef FLA_ENABLE_NON_CRITICAL_CODE
63 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 )
64 {
65 r_val = FLA_Axpy_blk_var2( alpha, A, B, cntl );
66 }
67#endif
68 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 )
69 {
70 r_val = FLA_Axpy_blk_var3( alpha, A, B, cntl );
71 }
72#ifdef FLA_ENABLE_NON_CRITICAL_CODE
73 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT4 )
74 {
75 r_val = FLA_Axpy_blk_var4( alpha, A, B, cntl );
76 }
77#endif
78 else
79 {
81 }
82 }
83
84 return r_val;
85}
FLA_Bool FLASH_Queue_get_enabled(void)
Definition FLASH_Queue.c:171
FLA_Error FLA_Axpy_blk_var1(FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_axpy_t *cntl)
Definition FLA_Axpy_blk_var1.c:13
FLA_Error FLA_Axpy_blk_var2(FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_axpy_t *cntl)
Definition FLA_Axpy_blk_var2.c:13
FLA_Error FLA_Axpy_blk_var3(FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_axpy_t *cntl)
Definition FLA_Axpy_blk_var3.c:13
FLA_Error FLA_Axpy_blk_var4(FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_axpy_t *cntl)
Definition FLA_Axpy_blk_var4.c:13
fla_axpy_t * flash_axpy_cntl_blas
Definition FLASH_Axpy_cntl_init.c:13
fla_axpy_t * flash_axpy_cntl
Definition FLASH_Axpy_cntl_init.c:15
FLA_Error FLA_Axpy_internal(FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_axpy_t *cntl)
Definition FLA_Axpy_internal.c:16
FLA_Error FLA_Axpy_internal_check(FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_axpy_t *cntl)
Definition FLA_Axpy_internal_check.c:13
FLA_Error FLA_Axpy_task(FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_axpy_t *cntl)
Definition FLA_Axpy_task.c:13
FLA_Obj FLA_ZERO
Definition FLA_Init.c:20
FLA_Elemtype FLA_Obj_elemtype(FLA_Obj obj)
Definition FLA_Query.c:51
unsigned int FLA_Check_error_level(void)
Definition FLA_Check.c:18
FLA_Bool FLA_Obj_equals(FLA_Obj A, FLA_Obj B)
Definition FLA_Query.c:507
int FLA_Error
Definition FLA_type_defs.h:47
int i
Definition bl1_axmyv2.c:145

References FLA_Axpy_blk_var1(), FLA_Axpy_blk_var2(), FLA_Axpy_blk_var3(), FLA_Axpy_blk_var4(), FLA_Axpy_internal(), FLA_Axpy_internal_check(), FLA_Axpy_task(), FLA_Check_error_level(), FLA_Obj_elemtype(), FLA_Obj_equals(), FLA_ZERO, flash_axpy_cntl, flash_axpy_cntl_blas, FLASH_Queue_get_enabled(), and i.

Referenced by FLA_Apply_CAQ2_UT_lhfc_blk_var1(), FLA_Axpy(), FLA_Axpy_blk_var1(), FLA_Axpy_blk_var2(), FLA_Axpy_blk_var3(), FLA_Axpy_blk_var4(), FLA_Axpy_internal(), FLA_CAQR2_UT_blk_var1(), FLA_Eig_gest_il_blk_var1(), FLA_Eig_gest_il_blk_var2(), FLA_Eig_gest_il_blk_var3(), FLA_Eig_gest_il_blk_var4(), FLA_Eig_gest_il_blk_var5(), FLA_Eig_gest_iu_blk_var1(), FLA_Eig_gest_iu_blk_var2(), FLA_Eig_gest_iu_blk_var3(), FLA_Eig_gest_iu_blk_var4(), FLA_Eig_gest_iu_blk_var5(), FLA_Eig_gest_nl_blk_var1(), FLA_Eig_gest_nl_blk_var2(), FLA_Eig_gest_nl_blk_var4(), FLA_Eig_gest_nl_blk_var5(), FLA_Eig_gest_nu_blk_var1(), FLA_Eig_gest_nu_blk_var2(), FLA_Eig_gest_nu_blk_var4(), FLA_Eig_gest_nu_blk_var5(), FLA_QR2_UT_blk_var1(), and FLASH_Axpy().

Variable Documentation

◆ flash_axpy_cntl

fla_axpy_t* flash_axpy_cntl
extern

Referenced by FLA_Axpy_internal().

◆ flash_axpy_cntl_blas

fla_axpy_t* flash_axpy_cntl_blas
extern