libflame revision_anchor
Functions
FLA_Scal_external_gpu.c File Reference

(r)

Functions

FLA_Error FLA_Scal_external_gpu (FLA_Obj alpha, FLA_Obj A, void *A_gpu)
 

Function Documentation

◆ FLA_Scal_external_gpu()

FLA_Error FLA_Scal_external_gpu ( FLA_Obj  alpha,
FLA_Obj  A,
void A_gpu 
)
18{
19 FLA_Datatype datatype;
20 int m_A, n_A;
21 int ldim_A, inc_A;
22 int i;
23
26
27 if ( FLA_Obj_has_zero_dim( A ) ) return FLA_SUCCESS;
28
30 {
31 return FLA_SUCCESS;
32 }
33
34 datatype = FLA_Obj_datatype( A );
35
36 m_A = FLA_Obj_length( A );
37 n_A = FLA_Obj_width( A );
39 inc_A = 1;
40
41 switch ( datatype ){
42
43 case FLA_FLOAT:
44 {
45 float* buff_alpha = ( float* ) FLA_FLOAT_PTR( alpha );
46 float* buff_A_gpu = ( float* ) A_gpu;
47
48 for ( i = 0; i < n_A; i++ )
51 buff_A_gpu + i * ldim_A, inc_A );
52
53 break;
54 }
55
56 case FLA_DOUBLE:
57 {
58 double* buff_alpha = ( double* ) FLA_DOUBLE_PTR( alpha );
59 double* buff_A_gpu = ( double* ) A_gpu;
60
61 for ( i = 0; i < n_A; i++ )
64 buff_A_gpu + i * ldim_A, inc_A );
65
66 break;
67 }
68
69 case FLA_COMPLEX:
70 {
73
74 for ( i = 0; i < n_A; i++ )
77 buff_A_gpu + i * ldim_A, inc_A );
78
79 break;
80 }
81
83 {
86
87 for ( i = 0; i < n_A; i++ )
90 buff_A_gpu + i * ldim_A, inc_A );
91
92 break;
93 }
94
95 }
96
97 return FLA_SUCCESS;
98}
FLA_Error FLA_Scal_check(FLA_Obj alpha, FLA_Obj A)
Definition FLA_Scal_check.c:13
FLA_Obj FLA_ONE
Definition FLA_Init.c:18
dim_t FLA_Obj_width(FLA_Obj obj)
Definition FLA_Query.c:123
FLA_Bool FLA_Obj_has_zero_dim(FLA_Obj A)
Definition FLA_Query.c:400
dim_t FLA_Obj_length(FLA_Obj obj)
Definition FLA_Query.c:116
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
FLA_Datatype FLA_Obj_datatype(FLA_Obj obj)
Definition FLA_Query.c:13
int FLA_Datatype
Definition FLA_type_defs.h:49
int i
Definition bl1_axmyv2.c:145

References FLA_Check_error_level(), FLA_Obj_datatype(), FLA_Obj_equals(), FLA_Obj_has_zero_dim(), FLA_Obj_length(), FLA_Obj_width(), FLA_ONE, FLA_Scal_check(), and i.

Referenced by FLA_Gemm_external_gpu(), and FLASH_Queue_exec_task_gpu().