Caffe2 - C++ API
A deep learning, cross platform ML framework
cblas.h
1 // This is the exact cblas.h header file, placed here purely in order to get
2 // the enums.
3 
4 #include "caffe2/core/macros.h"
5 
6 #ifndef CBLAS_H
7 #ifdef CAFFE2_USE_MKL
8 #include <mkl_cblas.h>
9 #else // CAFFE2_USE_MKL
10 
11 #ifndef CBLAS_ENUM_DEFINED_H
12  #define CBLAS_ENUM_DEFINED_H
13  enum CBLAS_ORDER {CblasRowMajor=101, CblasColMajor=102 };
14  enum CBLAS_TRANSPOSE {CblasNoTrans=111, CblasTrans=112, CblasConjTrans=113,
15  AtlasConj=114};
16  enum CBLAS_UPLO {CblasUpper=121, CblasLower=122};
17  enum CBLAS_DIAG {CblasNonUnit=131, CblasUnit=132};
18  enum CBLAS_SIDE {CblasLeft=141, CblasRight=142};
19 #endif
20 
21 #ifndef CBLAS_ENUM_ONLY
22 #define CBLAS_H
23 #define CBLAS_INDEX int
24 
25 int cblas_errprn(int ierr, int info, char *form, ...);
26 void cblas_xerbla(int p, const char *rout, const char *form, ...);
27 
28 /*
29  * ===========================================================================
30  * Prototypes for level 1 BLAS functions (complex are recast as routines)
31  * ===========================================================================
32  */
33 float cblas_sdsdot(const int N, const float alpha, const float *X,
34  const int incX, const float *Y, const int incY);
35 double cblas_dsdot(const int N, const float *X, const int incX, const float *Y,
36  const int incY);
37 float cblas_sdot(const int N, const float *X, const int incX,
38  const float *Y, const int incY);
39 double cblas_ddot(const int N, const double *X, const int incX,
40  const double *Y, const int incY);
41 /*
42  * Functions having prefixes Z and C only
43  */
44 void cblas_cdotu_sub(const int N, const void *X, const int incX,
45  const void *Y, const int incY, void *dotu);
46 void cblas_cdotc_sub(const int N, const void *X, const int incX,
47  const void *Y, const int incY, void *dotc);
48 
49 void cblas_zdotu_sub(const int N, const void *X, const int incX,
50  const void *Y, const int incY, void *dotu);
51 void cblas_zdotc_sub(const int N, const void *X, const int incX,
52  const void *Y, const int incY, void *dotc);
53 
54 
55 /*
56  * Functions having prefixes S D SC DZ
57  */
58 float cblas_snrm2(const int N, const float *X, const int incX);
59 float cblas_sasum(const int N, const float *X, const int incX);
60 
61 double cblas_dnrm2(const int N, const double *X, const int incX);
62 double cblas_dasum(const int N, const double *X, const int incX);
63 
64 float cblas_scnrm2(const int N, const void *X, const int incX);
65 float cblas_scasum(const int N, const void *X, const int incX);
66 
67 double cblas_dznrm2(const int N, const void *X, const int incX);
68 double cblas_dzasum(const int N, const void *X, const int incX);
69 
70 
71 /*
72  * Functions having standard 4 prefixes (S D C Z)
73  */
74 CBLAS_INDEX cblas_isamax(const int N, const float *X, const int incX);
75 CBLAS_INDEX cblas_idamax(const int N, const double *X, const int incX);
76 CBLAS_INDEX cblas_icamax(const int N, const void *X, const int incX);
77 CBLAS_INDEX cblas_izamax(const int N, const void *X, const int incX);
78 
79 /*
80  * ===========================================================================
81  * Prototypes for level 1 BLAS routines
82  * ===========================================================================
83  */
84 
85 /*
86  * Routines with standard 4 prefixes (s, d, c, z)
87  */
88 void cblas_sswap(const int N, float *X, const int incX,
89  float *Y, const int incY);
90 void cblas_scopy(const int N, const float *X, const int incX,
91  float *Y, const int incY);
92 void cblas_saxpy(const int N, const float alpha, const float *X,
93  const int incX, float *Y, const int incY);
94 void catlas_saxpby(const int N, const float alpha, const float *X,
95  const int incX, const float beta, float *Y, const int incY);
96 void catlas_sset
97  (const int N, const float alpha, float *X, const int incX);
98 
99 void cblas_dswap(const int N, double *X, const int incX,
100  double *Y, const int incY);
101 void cblas_dcopy(const int N, const double *X, const int incX,
102  double *Y, const int incY);
103 void cblas_daxpy(const int N, const double alpha, const double *X,
104  const int incX, double *Y, const int incY);
105 void catlas_daxpby(const int N, const double alpha, const double *X,
106  const int incX, const double beta, double *Y, const int incY);
107 void catlas_dset
108  (const int N, const double alpha, double *X, const int incX);
109 
110 void cblas_cswap(const int N, void *X, const int incX,
111  void *Y, const int incY);
112 void cblas_ccopy(const int N, const void *X, const int incX,
113  void *Y, const int incY);
114 void cblas_caxpy(const int N, const void *alpha, const void *X,
115  const int incX, void *Y, const int incY);
116 void catlas_caxpby(const int N, const void *alpha, const void *X,
117  const int incX, const void *beta, void *Y, const int incY);
118 void catlas_cset
119  (const int N, const void *alpha, void *X, const int incX);
120 
121 void cblas_zswap(const int N, void *X, const int incX,
122  void *Y, const int incY);
123 void cblas_zcopy(const int N, const void *X, const int incX,
124  void *Y, const int incY);
125 void cblas_zaxpy(const int N, const void *alpha, const void *X,
126  const int incX, void *Y, const int incY);
127 void catlas_zaxpby(const int N, const void *alpha, const void *X,
128  const int incX, const void *beta, void *Y, const int incY);
129 void catlas_zset
130  (const int N, const void *alpha, void *X, const int incX);
131 
132 
133 /*
134  * Routines with S and D prefix only
135  */
136 void cblas_srotg(float *a, float *b, float *c, float *s);
137 void cblas_srotmg(float *d1, float *d2, float *b1, const float b2, float *P);
138 void cblas_srot(const int N, float *X, const int incX,
139  float *Y, const int incY, const float c, const float s);
140 void cblas_srotm(const int N, float *X, const int incX,
141  float *Y, const int incY, const float *P);
142 
143 void cblas_drotg(double *a, double *b, double *c, double *s);
144 void cblas_drotmg(double *d1, double *d2, double *b1, const double b2, double *P);
145 void cblas_drot(const int N, double *X, const int incX,
146  double *Y, const int incY, const double c, const double s);
147 void cblas_drotm(const int N, double *X, const int incX,
148  double *Y, const int incY, const double *P);
149 
150 
151 /*
152  * Routines with S D C Z CS and ZD prefixes
153  */
154 void cblas_sscal(const int N, const float alpha, float *X, const int incX);
155 void cblas_dscal(const int N, const double alpha, double *X, const int incX);
156 void cblas_cscal(const int N, const void *alpha, void *X, const int incX);
157 void cblas_zscal(const int N, const void *alpha, void *X, const int incX);
158 void cblas_csscal(const int N, const float alpha, void *X, const int incX);
159 void cblas_zdscal(const int N, const double alpha, void *X, const int incX);
160 
161 /*
162  * Extra reference routines provided by ATLAS, but not mandated by the standard
163  */
164 void cblas_crotg(void *a, void *b, void *c, void *s);
165 void cblas_zrotg(void *a, void *b, void *c, void *s);
166 void cblas_csrot(const int N, void *X, const int incX, void *Y, const int incY,
167  const float c, const float s);
168 void cblas_zdrot(const int N, void *X, const int incX, void *Y, const int incY,
169  const double c, const double s);
170 
171 /*
172  * ===========================================================================
173  * Prototypes for level 2 BLAS
174  * ===========================================================================
175  */
176 
177 /*
178  * Routines with standard 4 prefixes (S, D, C, Z)
179  */
180 void cblas_sgemv(const enum CBLAS_ORDER Order,
181  const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
182  const float alpha, const float *A, const int lda,
183  const float *X, const int incX, const float beta,
184  float *Y, const int incY);
185 void cblas_sgbmv(const enum CBLAS_ORDER Order,
186  const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
187  const int KL, const int KU, const float alpha,
188  const float *A, const int lda, const float *X,
189  const int incX, const float beta, float *Y, const int incY);
190 void cblas_strmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
191  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
192  const int N, const float *A, const int lda,
193  float *X, const int incX);
194 void cblas_stbmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
195  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
196  const int N, const int K, const float *A, const int lda,
197  float *X, const int incX);
198 void cblas_stpmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
199  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
200  const int N, const float *Ap, float *X, const int incX);
201 void cblas_strsv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
202  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
203  const int N, const float *A, const int lda, float *X,
204  const int incX);
205 void cblas_stbsv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
206  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
207  const int N, const int K, const float *A, const int lda,
208  float *X, const int incX);
209 void cblas_stpsv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
210  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
211  const int N, const float *Ap, float *X, const int incX);
212 
213 void cblas_dgemv(const enum CBLAS_ORDER Order,
214  const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
215  const double alpha, const double *A, const int lda,
216  const double *X, const int incX, const double beta,
217  double *Y, const int incY);
218 void cblas_dgbmv(const enum CBLAS_ORDER Order,
219  const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
220  const int KL, const int KU, const double alpha,
221  const double *A, const int lda, const double *X,
222  const int incX, const double beta, double *Y, const int incY);
223 void cblas_dtrmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
224  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
225  const int N, const double *A, const int lda,
226  double *X, const int incX);
227 void cblas_dtbmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
228  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
229  const int N, const int K, const double *A, const int lda,
230  double *X, const int incX);
231 void cblas_dtpmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
232  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
233  const int N, const double *Ap, double *X, const int incX);
234 void cblas_dtrsv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
235  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
236  const int N, const double *A, const int lda, double *X,
237  const int incX);
238 void cblas_dtbsv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
239  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
240  const int N, const int K, const double *A, const int lda,
241  double *X, const int incX);
242 void cblas_dtpsv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
243  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
244  const int N, const double *Ap, double *X, const int incX);
245 
246 void cblas_cgemv(const enum CBLAS_ORDER Order,
247  const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
248  const void *alpha, const void *A, const int lda,
249  const void *X, const int incX, const void *beta,
250  void *Y, const int incY);
251 void cblas_cgbmv(const enum CBLAS_ORDER Order,
252  const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
253  const int KL, const int KU, const void *alpha,
254  const void *A, const int lda, const void *X,
255  const int incX, const void *beta, void *Y, const int incY);
256 void cblas_ctrmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
257  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
258  const int N, const void *A, const int lda,
259  void *X, const int incX);
260 void cblas_ctbmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
261  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
262  const int N, const int K, const void *A, const int lda,
263  void *X, const int incX);
264 void cblas_ctpmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
265  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
266  const int N, const void *Ap, void *X, const int incX);
267 void cblas_ctrsv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
268  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
269  const int N, const void *A, const int lda, void *X,
270  const int incX);
271 void cblas_ctbsv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
272  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
273  const int N, const int K, const void *A, const int lda,
274  void *X, const int incX);
275 void cblas_ctpsv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
276  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
277  const int N, const void *Ap, void *X, const int incX);
278 
279 void cblas_zgemv(const enum CBLAS_ORDER Order,
280  const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
281  const void *alpha, const void *A, const int lda,
282  const void *X, const int incX, const void *beta,
283  void *Y, const int incY);
284 void cblas_zgbmv(const enum CBLAS_ORDER Order,
285  const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
286  const int KL, const int KU, const void *alpha,
287  const void *A, const int lda, const void *X,
288  const int incX, const void *beta, void *Y, const int incY);
289 void cblas_ztrmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
290  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
291  const int N, const void *A, const int lda,
292  void *X, const int incX);
293 void cblas_ztbmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
294  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
295  const int N, const int K, const void *A, const int lda,
296  void *X, const int incX);
297 void cblas_ztpmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
298  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
299  const int N, const void *Ap, void *X, const int incX);
300 void cblas_ztrsv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
301  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
302  const int N, const void *A, const int lda, void *X,
303  const int incX);
304 void cblas_ztbsv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
305  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
306  const int N, const int K, const void *A, const int lda,
307  void *X, const int incX);
308 void cblas_ztpsv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
309  const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
310  const int N, const void *Ap, void *X, const int incX);
311 
312 
313 /*
314  * Routines with S and D prefixes only
315  */
316 void cblas_ssymv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
317  const int N, const float alpha, const float *A,
318  const int lda, const float *X, const int incX,
319  const float beta, float *Y, const int incY);
320 void cblas_ssbmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
321  const int N, const int K, const float alpha, const float *A,
322  const int lda, const float *X, const int incX,
323  const float beta, float *Y, const int incY);
324 void cblas_sspmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
325  const int N, const float alpha, const float *Ap,
326  const float *X, const int incX,
327  const float beta, float *Y, const int incY);
328 void cblas_sger(const enum CBLAS_ORDER Order, const int M, const int N,
329  const float alpha, const float *X, const int incX,
330  const float *Y, const int incY, float *A, const int lda);
331 void cblas_ssyr(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
332  const int N, const float alpha, const float *X,
333  const int incX, float *A, const int lda);
334 void cblas_sspr(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
335  const int N, const float alpha, const float *X,
336  const int incX, float *Ap);
337 void cblas_ssyr2(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
338  const int N, const float alpha, const float *X,
339  const int incX, const float *Y, const int incY, float *A,
340  const int lda);
341 void cblas_sspr2(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
342  const int N, const float alpha, const float *X,
343  const int incX, const float *Y, const int incY, float *A);
344 
345 void cblas_dsymv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
346  const int N, const double alpha, const double *A,
347  const int lda, const double *X, const int incX,
348  const double beta, double *Y, const int incY);
349 void cblas_dsbmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
350  const int N, const int K, const double alpha, const double *A,
351  const int lda, const double *X, const int incX,
352  const double beta, double *Y, const int incY);
353 void cblas_dspmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
354  const int N, const double alpha, const double *Ap,
355  const double *X, const int incX,
356  const double beta, double *Y, const int incY);
357 void cblas_dger(const enum CBLAS_ORDER Order, const int M, const int N,
358  const double alpha, const double *X, const int incX,
359  const double *Y, const int incY, double *A, const int lda);
360 void cblas_dsyr(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
361  const int N, const double alpha, const double *X,
362  const int incX, double *A, const int lda);
363 void cblas_dspr(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
364  const int N, const double alpha, const double *X,
365  const int incX, double *Ap);
366 void cblas_dsyr2(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
367  const int N, const double alpha, const double *X,
368  const int incX, const double *Y, const int incY, double *A,
369  const int lda);
370 void cblas_dspr2(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
371  const int N, const double alpha, const double *X,
372  const int incX, const double *Y, const int incY, double *A);
373 
374 
375 /*
376  * Routines with C and Z prefixes only
377  */
378 void cblas_chemv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
379  const int N, const void *alpha, const void *A,
380  const int lda, const void *X, const int incX,
381  const void *beta, void *Y, const int incY);
382 void cblas_chbmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
383  const int N, const int K, const void *alpha, const void *A,
384  const int lda, const void *X, const int incX,
385  const void *beta, void *Y, const int incY);
386 void cblas_chpmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
387  const int N, const void *alpha, const void *Ap,
388  const void *X, const int incX,
389  const void *beta, void *Y, const int incY);
390 void cblas_cgeru(const enum CBLAS_ORDER Order, const int M, const int N,
391  const void *alpha, const void *X, const int incX,
392  const void *Y, const int incY, void *A, const int lda);
393 void cblas_cgerc(const enum CBLAS_ORDER Order, const int M, const int N,
394  const void *alpha, const void *X, const int incX,
395  const void *Y, const int incY, void *A, const int lda);
396 void cblas_cher(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
397  const int N, const float alpha, const void *X, const int incX,
398  void *A, const int lda);
399 void cblas_chpr(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
400  const int N, const float alpha, const void *X,
401  const int incX, void *A);
402 void cblas_cher2(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, const int N,
403  const void *alpha, const void *X, const int incX,
404  const void *Y, const int incY, void *A, const int lda);
405 void cblas_chpr2(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, const int N,
406  const void *alpha, const void *X, const int incX,
407  const void *Y, const int incY, void *Ap);
408 
409 void cblas_zhemv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
410  const int N, const void *alpha, const void *A,
411  const int lda, const void *X, const int incX,
412  const void *beta, void *Y, const int incY);
413 void cblas_zhbmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
414  const int N, const int K, const void *alpha, const void *A,
415  const int lda, const void *X, const int incX,
416  const void *beta, void *Y, const int incY);
417 void cblas_zhpmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
418  const int N, const void *alpha, const void *Ap,
419  const void *X, const int incX,
420  const void *beta, void *Y, const int incY);
421 void cblas_zgeru(const enum CBLAS_ORDER Order, const int M, const int N,
422  const void *alpha, const void *X, const int incX,
423  const void *Y, const int incY, void *A, const int lda);
424 void cblas_zgerc(const enum CBLAS_ORDER Order, const int M, const int N,
425  const void *alpha, const void *X, const int incX,
426  const void *Y, const int incY, void *A, const int lda);
427 void cblas_zher(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
428  const int N, const double alpha, const void *X, const int incX,
429  void *A, const int lda);
430 void cblas_zhpr(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
431  const int N, const double alpha, const void *X,
432  const int incX, void *A);
433 void cblas_zher2(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, const int N,
434  const void *alpha, const void *X, const int incX,
435  const void *Y, const int incY, void *A, const int lda);
436 void cblas_zhpr2(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, const int N,
437  const void *alpha, const void *X, const int incX,
438  const void *Y, const int incY, void *Ap);
439 
440 /*
441  * ===========================================================================
442  * Prototypes for level 3 BLAS
443  * ===========================================================================
444  */
445 
446 /*
447  * Routines with standard 4 prefixes (S, D, C, Z)
448  */
449 void cblas_sgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA,
450  const enum CBLAS_TRANSPOSE TransB, const int M, const int N,
451  const int K, const float alpha, const float *A,
452  const int lda, const float *B, const int ldb,
453  const float beta, float *C, const int ldc);
454 void cblas_ssymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
455  const enum CBLAS_UPLO Uplo, const int M, const int N,
456  const float alpha, const float *A, const int lda,
457  const float *B, const int ldb, const float beta,
458  float *C, const int ldc);
459 void cblas_ssyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
460  const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
461  const float alpha, const float *A, const int lda,
462  const float beta, float *C, const int ldc);
463 void cblas_ssyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
464  const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
465  const float alpha, const float *A, const int lda,
466  const float *B, const int ldb, const float beta,
467  float *C, const int ldc);
468 void cblas_strmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
469  const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
470  const enum CBLAS_DIAG Diag, const int M, const int N,
471  const float alpha, const float *A, const int lda,
472  float *B, const int ldb);
473 void cblas_strsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
474  const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
475  const enum CBLAS_DIAG Diag, const int M, const int N,
476  const float alpha, const float *A, const int lda,
477  float *B, const int ldb);
478 
479 void cblas_dgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA,
480  const enum CBLAS_TRANSPOSE TransB, const int M, const int N,
481  const int K, const double alpha, const double *A,
482  const int lda, const double *B, const int ldb,
483  const double beta, double *C, const int ldc);
484 void cblas_dsymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
485  const enum CBLAS_UPLO Uplo, const int M, const int N,
486  const double alpha, const double *A, const int lda,
487  const double *B, const int ldb, const double beta,
488  double *C, const int ldc);
489 void cblas_dsyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
490  const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
491  const double alpha, const double *A, const int lda,
492  const double beta, double *C, const int ldc);
493 void cblas_dsyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
494  const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
495  const double alpha, const double *A, const int lda,
496  const double *B, const int ldb, const double beta,
497  double *C, const int ldc);
498 void cblas_dtrmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
499  const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
500  const enum CBLAS_DIAG Diag, const int M, const int N,
501  const double alpha, const double *A, const int lda,
502  double *B, const int ldb);
503 void cblas_dtrsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
504  const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
505  const enum CBLAS_DIAG Diag, const int M, const int N,
506  const double alpha, const double *A, const int lda,
507  double *B, const int ldb);
508 
509 void cblas_cgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA,
510  const enum CBLAS_TRANSPOSE TransB, const int M, const int N,
511  const int K, const void *alpha, const void *A,
512  const int lda, const void *B, const int ldb,
513  const void *beta, void *C, const int ldc);
514 void cblas_csymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
515  const enum CBLAS_UPLO Uplo, const int M, const int N,
516  const void *alpha, const void *A, const int lda,
517  const void *B, const int ldb, const void *beta,
518  void *C, const int ldc);
519 void cblas_csyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
520  const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
521  const void *alpha, const void *A, const int lda,
522  const void *beta, void *C, const int ldc);
523 void cblas_csyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
524  const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
525  const void *alpha, const void *A, const int lda,
526  const void *B, const int ldb, const void *beta,
527  void *C, const int ldc);
528 void cblas_ctrmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
529  const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
530  const enum CBLAS_DIAG Diag, const int M, const int N,
531  const void *alpha, const void *A, const int lda,
532  void *B, const int ldb);
533 void cblas_ctrsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
534  const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
535  const enum CBLAS_DIAG Diag, const int M, const int N,
536  const void *alpha, const void *A, const int lda,
537  void *B, const int ldb);
538 
539 void cblas_zgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA,
540  const enum CBLAS_TRANSPOSE TransB, const int M, const int N,
541  const int K, const void *alpha, const void *A,
542  const int lda, const void *B, const int ldb,
543  const void *beta, void *C, const int ldc);
544 void cblas_zsymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
545  const enum CBLAS_UPLO Uplo, const int M, const int N,
546  const void *alpha, const void *A, const int lda,
547  const void *B, const int ldb, const void *beta,
548  void *C, const int ldc);
549 void cblas_zsyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
550  const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
551  const void *alpha, const void *A, const int lda,
552  const void *beta, void *C, const int ldc);
553 void cblas_zsyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
554  const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
555  const void *alpha, const void *A, const int lda,
556  const void *B, const int ldb, const void *beta,
557  void *C, const int ldc);
558 void cblas_ztrmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
559  const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
560  const enum CBLAS_DIAG Diag, const int M, const int N,
561  const void *alpha, const void *A, const int lda,
562  void *B, const int ldb);
563 void cblas_ztrsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
564  const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
565  const enum CBLAS_DIAG Diag, const int M, const int N,
566  const void *alpha, const void *A, const int lda,
567  void *B, const int ldb);
568 
569 
570 /*
571  * Routines with prefixes C and Z only
572  */
573 void cblas_chemm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
574  const enum CBLAS_UPLO Uplo, const int M, const int N,
575  const void *alpha, const void *A, const int lda,
576  const void *B, const int ldb, const void *beta,
577  void *C, const int ldc);
578 void cblas_cherk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
579  const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
580  const float alpha, const void *A, const int lda,
581  const float beta, void *C, const int ldc);
582 void cblas_cher2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
583  const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
584  const void *alpha, const void *A, const int lda,
585  const void *B, const int ldb, const float beta,
586  void *C, const int ldc);
587 void cblas_zhemm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
588  const enum CBLAS_UPLO Uplo, const int M, const int N,
589  const void *alpha, const void *A, const int lda,
590  const void *B, const int ldb, const void *beta,
591  void *C, const int ldc);
592 void cblas_zherk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
593  const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
594  const double alpha, const void *A, const int lda,
595  const double beta, void *C, const int ldc);
596 void cblas_zher2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
597  const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
598  const void *alpha, const void *A, const int lda,
599  const void *B, const int ldb, const double beta,
600  void *C, const int ldc);
601 
602 int cblas_errprn(int ierr, int info, char *form, ...);
603 
604 #endif /* end #ifdef CBLAS_ENUM_ONLY */
605 #endif // CAFFE2_USE_MKL
606 #endif
Definition: any.cpp:108
Definition: static.cpp:52
Definition: static.cpp:64
Definition: static.cpp:58