libflame  revision_anchor
FLA_Cntl_blas3.h
Go to the documentation of this file.
1 /*
2 
3  Copyright (C) 2014, The University of Texas at Austin
4 
5  This file is part of libflame and is available under the 3-Clause
6  BSD license, which can be found in the LICENSE file at the top-level
7  directory, or at http://opensource.org/licenses/BSD-3-Clause
8 
9 */
10 
11 
12 //
13 // Level-3 BLAS
14 //
15 
16 struct fla_gemm_s
17 {
19  int variant;
23 };
24 typedef struct fla_gemm_s fla_gemm_t;
25 
26 
27 struct fla_hemm_s
28 {
30  int variant;
36 };
37 typedef struct fla_hemm_s fla_hemm_t;
38 
39 
40 struct fla_herk_s
41 {
43  int variant;
48 };
49 typedef struct fla_herk_s fla_herk_t;
50 
51 
53 {
55  int variant;
61 };
62 typedef struct fla_her2k_s fla_her2k_t;
63 
64 
65 struct fla_symm_s
66 {
68  int variant;
74 };
75 typedef struct fla_symm_s fla_symm_t;
76 
77 
78 struct fla_syrk_s
79 {
81  int variant;
86 };
87 typedef struct fla_syrk_s fla_syrk_t;
88 
89 
91 {
93  int variant;
99 };
100 typedef struct fla_syr2k_s fla_syr2k_t;
101 
102 
104 {
106  int variant;
111 };
112 typedef struct fla_trmm_s fla_trmm_t;
113 
114 
116 {
118  int variant;
123 };
124 typedef struct fla_trsm_s fla_trsm_t;
125 
126 
127 #define FLA_Cntl_sub_gemm( cntl ) cntl->sub_gemm
128 #define FLA_Cntl_sub_gemm1( cntl ) cntl->sub_gemm1
129 #define FLA_Cntl_sub_gemm2( cntl ) cntl->sub_gemm2
130 #define FLA_Cntl_sub_gemm3( cntl ) cntl->sub_gemm3
131 #define FLA_Cntl_sub_gemm4( cntl ) cntl->sub_gemm4
132 #define FLA_Cntl_sub_gemm5( cntl ) cntl->sub_gemm5
133 #define FLA_Cntl_sub_gemm6( cntl ) cntl->sub_gemm6
134 #define FLA_Cntl_sub_gemm7( cntl ) cntl->sub_gemm7
135 #define FLA_Cntl_sub_gemm8( cntl ) cntl->sub_gemm8
136 #define FLA_Cntl_sub_hemm( cntl ) cntl->sub_hemm
137 #define FLA_Cntl_sub_hemm1( cntl ) cntl->sub_hemm1
138 #define FLA_Cntl_sub_hemm2( cntl ) cntl->sub_hemm2
139 #define FLA_Cntl_sub_herk( cntl ) cntl->sub_herk
140 #define FLA_Cntl_sub_herk1( cntl ) cntl->sub_herk1
141 #define FLA_Cntl_sub_herk2( cntl ) cntl->sub_herk2
142 #define FLA_Cntl_sub_her2k( cntl ) cntl->sub_her2k
143 #define FLA_Cntl_sub_symm( cntl ) cntl->sub_symm
144 #define FLA_Cntl_sub_syrk( cntl ) cntl->sub_syrk
145 #define FLA_Cntl_sub_syr2k( cntl ) cntl->sub_syr2k
146 #define FLA_Cntl_sub_trmm( cntl ) cntl->sub_trmm
147 #define FLA_Cntl_sub_trmm1( cntl ) cntl->sub_trmm1
148 #define FLA_Cntl_sub_trmm2( cntl ) cntl->sub_trmm2
149 #define FLA_Cntl_sub_trsm( cntl ) cntl->sub_trsm
150 #define FLA_Cntl_sub_trsm1( cntl ) cntl->sub_trsm1
151 #define FLA_Cntl_sub_trsm2( cntl ) cntl->sub_trsm2
152 #define FLA_Cntl_sub_trsm3( cntl ) cntl->sub_trsm3
153 #define FLA_Cntl_sub_trsm4( cntl ) cntl->sub_trsm4
154 
155 
157  int variant,
160  fla_gemm_t* sub_gemm );
162  int variant,
165  fla_hemm_t* sub_hemm,
166  fla_gemm_t* sub_gemm1,
167  fla_gemm_t* sub_gemm2 );
169  int variant,
171  fla_scalr_t* sub_scalr,
172  fla_herk_t* sub_herk,
173  fla_gemm_t* sub_gemm );
175  int variant,
177  fla_scalr_t* sub_scalr,
178  fla_her2k_t* sub_her2k,
179  fla_gemm_t* sub_gemm1,
180  fla_gemm_t* sub_gemm2 );
182  int variant,
185  fla_symm_t* sub_symm,
186  fla_gemm_t* sub_gemm1,
187  fla_gemm_t* sub_gemm2 );
189  int variant,
191  fla_scalr_t* sub_scalr,
192  fla_syrk_t* sub_syrk,
193  fla_gemm_t* sub_gemm );
195  int variant,
197  fla_scalr_t* sub_scalr,
198  fla_syr2k_t* sub_syr2k,
199  fla_gemm_t* sub_gemm1,
200  fla_gemm_t* sub_gemm2 );
202  int variant,
205  fla_trmm_t* sub_trmm,
206  fla_gemm_t* sub_gemm );
208  int variant,
212  fla_gemm_t* sub_gemm );
213 
fla_herk_t * FLA_Cntl_herk_obj_create(FLA_Matrix_type matrix_type, int variant, fla_blocksize_t *blocksize, fla_scalr_t *sub_scalr, fla_herk_t *sub_herk, fla_gemm_t *sub_gemm)
Definition: FLA_Cntl_blas3.c:59
fla_trmm_t * FLA_Cntl_trmm_obj_create(FLA_Matrix_type matrix_type, int variant, fla_blocksize_t *blocksize, fla_scal_t *sub_scal, fla_trmm_t *sub_trmm, fla_gemm_t *sub_gemm)
Definition: FLA_Cntl_blas3.c:170
fla_trsm_t * FLA_Cntl_trsm_obj_create(FLA_Matrix_type matrix_type, int variant, fla_blocksize_t *blocksize, fla_scal_t *sub_scal, fla_trsm_t *sub_trsm, fla_gemm_t *sub_gemm)
Definition: FLA_Cntl_blas3.c:191
fla_syr2k_t * FLA_Cntl_syr2k_obj_create(FLA_Matrix_type matrix_type, int variant, fla_blocksize_t *blocksize, fla_scalr_t *sub_scalr, fla_syr2k_t *sub_syr2k, fla_gemm_t *sub_gemm1, fla_gemm_t *sub_gemm2)
Definition: FLA_Cntl_blas3.c:147
fla_her2k_t * FLA_Cntl_her2k_obj_create(FLA_Matrix_type matrix_type, int variant, fla_blocksize_t *blocksize, fla_scalr_t *sub_scalr, fla_her2k_t *sub_her2k, fla_gemm_t *sub_gemm1, fla_gemm_t *sub_gemm2)
Definition: FLA_Cntl_blas3.c:80
fla_hemm_t * FLA_Cntl_hemm_obj_create(FLA_Matrix_type matrix_type, int variant, fla_blocksize_t *blocksize, fla_scal_t *sub_scal, fla_hemm_t *sub_hemm, fla_gemm_t *sub_gemm1, fla_gemm_t *sub_gemm2)
Definition: FLA_Cntl_blas3.c:36
fla_syrk_t * FLA_Cntl_syrk_obj_create(FLA_Matrix_type matrix_type, int variant, fla_blocksize_t *blocksize, fla_scalr_t *sub_scalr, fla_syrk_t *sub_syrk, fla_gemm_t *sub_gemm)
Definition: FLA_Cntl_blas3.c:126
fla_symm_t * FLA_Cntl_symm_obj_create(FLA_Matrix_type matrix_type, int variant, fla_blocksize_t *blocksize, fla_scal_t *sub_scal, fla_symm_t *sub_symm, fla_gemm_t *sub_gemm1, fla_gemm_t *sub_gemm2)
Definition: FLA_Cntl_blas3.c:103
fla_gemm_t * FLA_Cntl_gemm_obj_create(FLA_Matrix_type matrix_type, int variant, fla_blocksize_t *blocksize, fla_scal_t *sub_scal, fla_gemm_t *sub_gemm)
Definition: FLA_Cntl_blas3.c:17
int FLA_Matrix_type
Definition: FLA_type_defs.h:60
Definition: FLA_Cntl.h:14
Definition: FLA_Cntl_blas3.h:17
FLA_Matrix_type matrix_type
Definition: FLA_Cntl_blas3.h:18
struct fla_scal_s * sub_scal
Definition: FLA_Cntl_blas3.h:21
struct fla_gemm_s * sub_gemm
Definition: FLA_Cntl_blas3.h:22
fla_blocksize_t * blocksize
Definition: FLA_Cntl_blas3.h:20
int variant
Definition: FLA_Cntl_blas3.h:19
Definition: FLA_Cntl_blas3.h:28
FLA_Matrix_type matrix_type
Definition: FLA_Cntl_blas3.h:29
struct fla_gemm_s * sub_gemm1
Definition: FLA_Cntl_blas3.h:34
struct fla_hemm_s * sub_hemm
Definition: FLA_Cntl_blas3.h:33
fla_blocksize_t * blocksize
Definition: FLA_Cntl_blas3.h:31
int variant
Definition: FLA_Cntl_blas3.h:30
struct fla_gemm_s * sub_gemm2
Definition: FLA_Cntl_blas3.h:35
struct fla_scal_s * sub_scal
Definition: FLA_Cntl_blas3.h:32
Definition: FLA_Cntl_blas3.h:53
int variant
Definition: FLA_Cntl_blas3.h:55
fla_blocksize_t * blocksize
Definition: FLA_Cntl_blas3.h:56
struct fla_her2k_s * sub_her2k
Definition: FLA_Cntl_blas3.h:58
struct fla_scalr_s * sub_scalr
Definition: FLA_Cntl_blas3.h:57
struct fla_gemm_s * sub_gemm1
Definition: FLA_Cntl_blas3.h:59
FLA_Matrix_type matrix_type
Definition: FLA_Cntl_blas3.h:54
struct fla_gemm_s * sub_gemm2
Definition: FLA_Cntl_blas3.h:60
Definition: FLA_Cntl_blas3.h:41
fla_blocksize_t * blocksize
Definition: FLA_Cntl_blas3.h:44
int variant
Definition: FLA_Cntl_blas3.h:43
struct fla_herk_s * sub_herk
Definition: FLA_Cntl_blas3.h:46
struct fla_scalr_s * sub_scalr
Definition: FLA_Cntl_blas3.h:45
FLA_Matrix_type matrix_type
Definition: FLA_Cntl_blas3.h:42
struct fla_gemm_s * sub_gemm
Definition: FLA_Cntl_blas3.h:47
Definition: FLA_Cntl_blas1.h:68
Definition: FLA_Cntl_blas1.h:78
Definition: FLA_Cntl_blas3.h:66
struct fla_symm_s * sub_symm
Definition: FLA_Cntl_blas3.h:71
struct fla_scal_s * sub_scal
Definition: FLA_Cntl_blas3.h:70
int variant
Definition: FLA_Cntl_blas3.h:68
struct fla_gemm_s * sub_gemm1
Definition: FLA_Cntl_blas3.h:72
fla_blocksize_t * blocksize
Definition: FLA_Cntl_blas3.h:69
struct fla_gemm_s * sub_gemm2
Definition: FLA_Cntl_blas3.h:73
FLA_Matrix_type matrix_type
Definition: FLA_Cntl_blas3.h:67
Definition: FLA_Cntl_blas3.h:91
FLA_Matrix_type matrix_type
Definition: FLA_Cntl_blas3.h:92
struct fla_scalr_s * sub_scalr
Definition: FLA_Cntl_blas3.h:95
struct fla_syr2k_s * sub_syr2k
Definition: FLA_Cntl_blas3.h:96
fla_blocksize_t * blocksize
Definition: FLA_Cntl_blas3.h:94
struct fla_gemm_s * sub_gemm1
Definition: FLA_Cntl_blas3.h:97
int variant
Definition: FLA_Cntl_blas3.h:93
struct fla_gemm_s * sub_gemm2
Definition: FLA_Cntl_blas3.h:98
Definition: FLA_Cntl_blas3.h:79
struct fla_scalr_s * sub_scalr
Definition: FLA_Cntl_blas3.h:83
fla_blocksize_t * blocksize
Definition: FLA_Cntl_blas3.h:82
struct fla_gemm_s * sub_gemm
Definition: FLA_Cntl_blas3.h:85
struct fla_syrk_s * sub_syrk
Definition: FLA_Cntl_blas3.h:84
int variant
Definition: FLA_Cntl_blas3.h:81
FLA_Matrix_type matrix_type
Definition: FLA_Cntl_blas3.h:80
Definition: FLA_Cntl_blas3.h:104
fla_blocksize_t * blocksize
Definition: FLA_Cntl_blas3.h:107
struct fla_gemm_s * sub_gemm
Definition: FLA_Cntl_blas3.h:110
int variant
Definition: FLA_Cntl_blas3.h:106
struct fla_scal_s * sub_scal
Definition: FLA_Cntl_blas3.h:108
struct fla_trmm_s * sub_trmm
Definition: FLA_Cntl_blas3.h:109
FLA_Matrix_type matrix_type
Definition: FLA_Cntl_blas3.h:105
Definition: FLA_Cntl_blas3.h:116
fla_blocksize_t * blocksize
Definition: FLA_Cntl_blas3.h:119
int variant
Definition: FLA_Cntl_blas3.h:118
struct fla_gemm_s * sub_gemm
Definition: FLA_Cntl_blas3.h:122
FLA_Matrix_type matrix_type
Definition: FLA_Cntl_blas3.h:117
struct fla_scal_s * sub_scal
Definition: FLA_Cntl_blas3.h:120
struct fla_trsm_s * sub_trsm
Definition: FLA_Cntl_blas3.h:121