libflame revision_anchor
Functions
FLA_Gemv.h File Reference

(r)

Go to the source code of this file.

Functions

FLA_Error FLA_Gemv_internal (FLA_Trans transa, FLA_Obj alpha, FLA_Obj A, FLA_Obj x, FLA_Obj beta, FLA_Obj y, fla_gemv_t *cntl)
 
FLA_Error FLA_Gemv_h (FLA_Obj alpha, FLA_Obj A, FLA_Obj x, FLA_Obj beta, FLA_Obj y, fla_gemv_t *cntl)
 
FLA_Error FLA_Gemv_n (FLA_Obj alpha, FLA_Obj A, FLA_Obj x, FLA_Obj beta, FLA_Obj y, fla_gemv_t *cntl)
 
FLA_Error FLA_Gemv_t (FLA_Obj alpha, FLA_Obj A, FLA_Obj x, FLA_Obj beta, FLA_Obj y, fla_gemv_t *cntl)
 

Function Documentation

◆ FLA_Gemv_h()

FLA_Error FLA_Gemv_h ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  x,
FLA_Obj  beta,
FLA_Obj  y,
fla_gemv_t cntl 
)
14{
16
17 if ( FLA_Cntl_variant( cntl ) == FLA_SUBPROBLEM )
18 {
19 r_val = FLA_Gemv_h_task( alpha, A, x, beta, y, cntl );
20 }
21 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 )
22 {
23 r_val = FLA_Gemv_h_blk_var1( alpha, A, x, beta, y, cntl );
24 }
25#ifdef FLA_ENABLE_NON_CRITICAL_CODE
26 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 )
27 {
28 r_val = FLA_Gemv_h_blk_var2( alpha, A, x, beta, y, cntl );
29 }
30#endif
31 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT5 )
32 {
33 r_val = FLA_Gemv_h_blk_var5( alpha, A, x, beta, y, cntl );
34 }
35#ifdef FLA_ENABLE_NON_CRITICAL_CODE
36 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT6 )
37 {
38 r_val = FLA_Gemv_h_blk_var6( alpha, A, x, beta, y, cntl );
39 }
40#endif
41 else
42 {
44 }
45
46 return r_val;
47}
FLA_Error FLA_Gemv_h_blk_var1(FLA_Obj alpha, FLA_Obj A, FLA_Obj x, FLA_Obj beta, FLA_Obj y, fla_gemv_t *cntl)
Definition FLA_Gemv_h_blk_var1.c:13
FLA_Error FLA_Gemv_h_blk_var2(FLA_Obj alpha, FLA_Obj A, FLA_Obj x, FLA_Obj beta, FLA_Obj y, fla_gemv_t *cntl)
Definition FLA_Gemv_h_blk_var2.c:15
FLA_Error FLA_Gemv_h_blk_var5(FLA_Obj alpha, FLA_Obj A, FLA_Obj x, FLA_Obj beta, FLA_Obj y, fla_gemv_t *cntl)
Definition FLA_Gemv_h_blk_var5.c:13
FLA_Error FLA_Gemv_h_blk_var6(FLA_Obj alpha, FLA_Obj A, FLA_Obj x, FLA_Obj beta, FLA_Obj y, fla_gemv_t *cntl)
Definition FLA_Gemv_h_blk_var6.c:15
FLA_Error FLA_Gemv_h_task(FLA_Obj alpha, FLA_Obj A, FLA_Obj x, FLA_Obj beta, FLA_Obj y, fla_gemv_t *cntl)
Definition FLA_Gemv_task.c:18
int FLA_Error
Definition FLA_type_defs.h:47
int i
Definition bl1_axmyv2.c:145

References FLA_Gemv_h_blk_var1(), FLA_Gemv_h_blk_var2(), FLA_Gemv_h_blk_var5(), FLA_Gemv_h_blk_var6(), FLA_Gemv_h_task(), and i.

Referenced by FLA_Gemv_internal().

◆ FLA_Gemv_internal()

FLA_Error FLA_Gemv_internal ( FLA_Trans  transa,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  x,
FLA_Obj  beta,
FLA_Obj  y,
fla_gemv_t cntl 
)
17{
19
22
23 if ( FLA_Cntl_matrix_type( cntl ) == FLA_HIER &&
26 {
27 // Recurse
29 alpha,
32 beta,
35 }
36 else if ( FLA_Cntl_matrix_type( cntl ) == FLA_HIER &&
39 {
40 // Enqueue
41 ENQUEUE_FLASH_Gemv( transa, alpha, A, x, beta, y, 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 ( transa == FLA_NO_TRANSPOSE )
55 {
56 r_val = FLA_Gemv_n( alpha, A, x, beta, y, cntl );
57 }
58 else if ( transa == FLA_TRANSPOSE )
59 {
60 r_val = FLA_Gemv_t( alpha, A, x, beta, y, cntl );
61 }
62 else if ( transa == FLA_CONJ_TRANSPOSE )
63 {
64 r_val = FLA_Gemv_h( alpha, A, x, beta, y, cntl );
65 }
66 }
67
68 return r_val;
69}
FLA_Bool FLASH_Queue_get_enabled(void)
Definition FLASH_Queue.c:171
FLA_Error FLA_Gemv_t(FLA_Obj alpha, FLA_Obj A, FLA_Obj x, FLA_Obj beta, FLA_Obj y, fla_gemv_t *cntl)
Definition FLA_Gemv_t.c:13
FLA_Error FLA_Gemv_h(FLA_Obj alpha, FLA_Obj A, FLA_Obj x, FLA_Obj beta, FLA_Obj y, fla_gemv_t *cntl)
Definition FLA_Gemv_h.c:13
FLA_Error FLA_Gemv_n(FLA_Obj alpha, FLA_Obj A, FLA_Obj x, FLA_Obj beta, FLA_Obj y, fla_gemv_t *cntl)
Definition FLA_Gemv_n.c:13
fla_gemv_t * flash_gemv_cntl_fm_rp
Definition FLASH_Gemv_cntl_init.c:16
FLA_Error FLA_Gemv_internal(FLA_Trans transa, FLA_Obj alpha, FLA_Obj A, FLA_Obj x, FLA_Obj beta, FLA_Obj y, fla_gemv_t *cntl)
Definition FLA_Gemv_internal.c:16
fla_gemv_t * flash_gemv_cntl_blas
Definition FLASH_Gemv_cntl_init.c:15
FLA_Error FLA_Gemv_internal_check(FLA_Trans transa, FLA_Obj alpha, FLA_Obj A, FLA_Obj x, FLA_Obj beta, FLA_Obj y, fla_gemv_t *cntl)
Definition FLA_Gemv_internal_check.c:13
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

References FLA_Check_error_level(), FLA_Gemv_h(), FLA_Gemv_internal(), FLA_Gemv_internal_check(), FLA_Gemv_n(), FLA_Gemv_t(), FLA_Obj_elemtype(), flash_gemv_cntl_blas, flash_gemv_cntl_fm_rp, FLASH_Queue_get_enabled(), and i.

Referenced by FLA_Gemv(), FLA_Gemv_h_blk_var1(), FLA_Gemv_h_blk_var2(), FLA_Gemv_h_blk_var5(), FLA_Gemv_h_blk_var6(), FLA_Gemv_internal(), 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_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(), and FLASH_Gemv().

◆ FLA_Gemv_n()

FLA_Error FLA_Gemv_n ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  x,
FLA_Obj  beta,
FLA_Obj  y,
fla_gemv_t cntl 
)
14{
16
17 if ( FLA_Cntl_variant( cntl ) == FLA_SUBPROBLEM )
18 {
19 r_val = FLA_Gemv_n_task( alpha, A, x, beta, y, cntl );
20 }
21 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 )
22 {
23 r_val = FLA_Gemv_n_blk_var1( alpha, A, x, beta, y, cntl );
24 }
25#ifdef FLA_ENABLE_NON_CRITICAL_CODE
26 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 )
27 {
28 r_val = FLA_Gemv_n_blk_var2( alpha, A, x, beta, y, cntl );
29 }
30#endif
31 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT5 )
32 {
33 r_val = FLA_Gemv_n_blk_var5( alpha, A, x, beta, y, cntl );
34 }
35#ifdef FLA_ENABLE_NON_CRITICAL_CODE
36 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT6 )
37 {
38 r_val = FLA_Gemv_n_blk_var6( alpha, A, x, beta, y, cntl );
39 }
40#endif
41 else
42 {
44 }
45
46 return r_val;
47}
FLA_Error FLA_Gemv_n_blk_var2(FLA_Obj alpha, FLA_Obj A, FLA_Obj x, FLA_Obj beta, FLA_Obj y, fla_gemv_t *cntl)
Definition FLA_Gemv_n_blk_var2.c:15
FLA_Error FLA_Gemv_n_blk_var6(FLA_Obj alpha, FLA_Obj A, FLA_Obj x, FLA_Obj beta, FLA_Obj y, fla_gemv_t *cntl)
Definition FLA_Gemv_n_blk_var6.c:15
FLA_Error FLA_Gemv_n_blk_var1(FLA_Obj alpha, FLA_Obj A, FLA_Obj x, FLA_Obj beta, FLA_Obj y, fla_gemv_t *cntl)
Definition FLA_Gemv_n_blk_var1.c:13
FLA_Error FLA_Gemv_n_blk_var5(FLA_Obj alpha, FLA_Obj A, FLA_Obj x, FLA_Obj beta, FLA_Obj y, fla_gemv_t *cntl)
Definition FLA_Gemv_n_blk_var5.c:13
FLA_Error FLA_Gemv_n_task(FLA_Obj alpha, FLA_Obj A, FLA_Obj x, FLA_Obj beta, FLA_Obj y, fla_gemv_t *cntl)
Definition FLA_Gemv_task.c:23

References FLA_Gemv_n_blk_var1(), FLA_Gemv_n_blk_var2(), FLA_Gemv_n_blk_var5(), FLA_Gemv_n_blk_var6(), FLA_Gemv_n_task(), and i.

Referenced by FLA_Gemv_internal().

◆ FLA_Gemv_t()

FLA_Error FLA_Gemv_t ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  x,
FLA_Obj  beta,
FLA_Obj  y,
fla_gemv_t cntl 
)
14{
16
17 if ( FLA_Cntl_variant( cntl ) == FLA_SUBPROBLEM )
18 {
19 r_val = FLA_Gemv_t_task( alpha, A, x, beta, y, cntl );
20 }
21 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 )
22 {
23 r_val = FLA_Gemv_t_blk_var1( alpha, A, x, beta, y, cntl );
24 }
25#ifdef FLA_ENABLE_NON_CRITICAL_CODE
26 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 )
27 {
28 r_val = FLA_Gemv_t_blk_var2( alpha, A, x, beta, y, cntl );
29 }
30#endif
31 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT5 )
32 {
33 r_val = FLA_Gemv_t_blk_var5( alpha, A, x, beta, y, cntl );
34 }
35#ifdef FLA_ENABLE_NON_CRITICAL_CODE
36 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT6 )
37 {
38 r_val = FLA_Gemv_t_blk_var6( alpha, A, x, beta, y, cntl );
39 }
40#endif
41 else
42 {
44 }
45
46 return r_val;
47}
FLA_Error FLA_Gemv_t_blk_var6(FLA_Obj alpha, FLA_Obj A, FLA_Obj x, FLA_Obj beta, FLA_Obj y, fla_gemv_t *cntl)
Definition FLA_Gemv_t_blk_var6.c:15
FLA_Error FLA_Gemv_t_blk_var5(FLA_Obj alpha, FLA_Obj A, FLA_Obj x, FLA_Obj beta, FLA_Obj y, fla_gemv_t *cntl)
Definition FLA_Gemv_t_blk_var5.c:13
FLA_Error FLA_Gemv_t_blk_var2(FLA_Obj alpha, FLA_Obj A, FLA_Obj x, FLA_Obj beta, FLA_Obj y, fla_gemv_t *cntl)
Definition FLA_Gemv_t_blk_var2.c:15
FLA_Error FLA_Gemv_t_blk_var1(FLA_Obj alpha, FLA_Obj A, FLA_Obj x, FLA_Obj beta, FLA_Obj y, fla_gemv_t *cntl)
Definition FLA_Gemv_t_blk_var1.c:13
FLA_Error FLA_Gemv_t_task(FLA_Obj alpha, FLA_Obj A, FLA_Obj x, FLA_Obj beta, FLA_Obj y, fla_gemv_t *cntl)
Definition FLA_Gemv_task.c:28

References FLA_Gemv_t_blk_var1(), FLA_Gemv_t_blk_var2(), FLA_Gemv_t_blk_var5(), FLA_Gemv_t_blk_var6(), FLA_Gemv_t_task(), and i.

Referenced by FLA_Gemv_internal().