PLASMA  2.5.2
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
 All Data Structures Functions Variables Groups
core_sblas.h
1 
18 #ifndef _PLASMA_CORE_SBLAS_H_
19 #define _PLASMA_CORE_SBLAS_H_
20 
21 #define REAL
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
30 void CORE_sasum(int storev, PLASMA_enum uplo, int M, int N,
31  const float *A, int lda, float *work);
32 void CORE_sbrdalg1( PLASMA_enum uplo,
33  int n,
34  int nb,
35  float *A,
36  int lda,
37  float *VQ,
38  float *TAUQ,
39  float *VP,
40  float *TAUP,
41  int Vblksiz, int wantz,
42  int i, int sweepid, int m, int grsiz,
43  float *work);
44 int CORE_sgbelr(PLASMA_enum uplo, int N,
45  PLASMA_desc *A, float *V, float *TAU,
46  int st, int ed, int eltsize);
47 int CORE_sgbrce(PLASMA_enum uplo, int N,
48  PLASMA_desc *A, float *V, float *TAU,
49  int st, int ed, int eltsize);
50 int CORE_sgblrx(PLASMA_enum uplo, int N,
51  PLASMA_desc *A, float *V, float *TAU,
52  int st, int ed, int eltsize);
53 int CORE_sgeadd(int M, int N, float alpha,
54  const float *A, int LDA,
55  float *B, int LDB);
56 int CORE_sgelqt(int M, int N, int IB,
57  float *A, int LDA,
58  float *T, int LDT,
59  float *TAU,
60  float *WORK);
61 void CORE_sgemm(PLASMA_enum transA, PLASMA_enum transB,
62  int M, int N, int K,
63  float alpha, const float *A, int LDA,
64  const float *B, int LDB,
65  float beta, float *C, int LDC);
66 void CORE_sgemm_tile(PLASMA_enum transA, PLASMA_enum transB,
67  int M, int N, int K,
68  const float *alpha, const float *A, int LDA,
69  const float *B, int LDB,
70  const float *beta, float *C, int LDC);
71 void CORE_sgemv(PLASMA_enum trans, int M, int N,
72  float alpha, const float *A, int LDA,
73  const float *x, int incx,
74  float beta, float *y, int incy);
75 void CORE_sgemv_tile(PLASMA_enum trans, int M, int N,
76  const float *alpha, const float *A, int LDA,
77  const float *x, int incx,
78  const float *beta, float *y, int incy);
79 void CORE_sgeqp3_init( int n, int *jpvt );
80 void CORE_sgeqp3_larfg( PLASMA_desc A, int ii, int jj, int i, int j,
81  float *tau, float *beta );
82 void CORE_sgeqp3_norms( PLASMA_desc A, int ioff, int joff, float *norms1, float *norms2 );
83 void CORE_sgeqp3_pivot( PLASMA_desc A, float *F, int ldf,
84  int jj, int k, int *jpvt,
85  float *norms1, float *norms2, int *info );
86 int CORE_sgeqp3_tntpiv(int m, int n,
87  float *A, int lda,
88  int *IPIV, float *tau,
89  int *iwork);
90 void CORE_sgeqp3_update( const float *Ajj, int lda1,
91  float *Ajk, int lda2,
92  const float *Fk, int ldf,
93  int joff, int k, int koff, int nb,
94  float *norms1, float *norms2,
95  int *info );
96 int CORE_sgeqrt(int M, int N, int IB,
97  float *A, int LDA,
98  float *T, int LDT,
99  float *TAU, float *WORK);
100 int CORE_sgessm(int M, int N, int K, int IB,
101  const int *IPIV,
102  const float *L, int LDL,
103  float *A, int LDA);
104 int CORE_sgessq(int M, int N,
105  const float *A, int LDA,
106  float *scale, float *sumsq);
107 int CORE_sgetf2_nopiv(int m, int n,
108  float *A, int lda);
109 int CORE_sgetrf(int M, int N,
110  float *A, int LDA,
111  int *IPIV, int *INFO);
112 int CORE_sgetrf_incpiv(int M, int N, int IB,
113  float *A, int LDA,
114  int *IPIV, int *INFO);
115 int CORE_sgetrf_nopiv(int m, int n, int ib,
116  float *A, int lda);
117 int CORE_sgetrf_reclap(int M, int N,
118  float *A, int LDA,
119  int *IPIV, int *info);
120 int CORE_sgetrf_rectil(const PLASMA_desc A, int *IPIV, int *info);
121 void CORE_sgetrip(int m, int n, float *A,
122  float *work);
123 int CORE_shbelr(PLASMA_enum uplo, int N,
124  PLASMA_desc *A, float *V, float *TAU,
125  int st, int ed, int eltsize);
126 int CORE_shblrx(PLASMA_enum uplo, int N,
127  PLASMA_desc *A, float *V, float *TAU,
128  int st, int ed, int eltsize);
129 int CORE_shbrce(PLASMA_enum uplo, int N,
130  PLASMA_desc *A, float *V, float *TAU,
131  int st, int ed, int eltsize);
132 void CORE_ssbtype1cb(int N, int NB,
133  float *A, int LDA,
134  float *V, float *TAU,
135  int st, int ed, int sweep, int Vblksiz, int WANTZ,
136  float *WORK);
137 void CORE_ssbtype2cb(int N, int NB,
138  float *A, int LDA,
139  float *V, float *TAU,
140  int st, int ed, int sweep, int Vblksiz, int WANTZ,
141  float *WORK);
142 void CORE_ssbtype3cb(int N, int NB,
143  float *A, int LDA,
144  const float *V, const float *TAU,
145  int st, int ed, int sweep, int Vblksiz, int WANTZ,
146  float *WORK);
147 void CORE_sgbtype1cb(PLASMA_enum uplo, int N, int NB,
148  float *A, int LDA,
149  float *VQ, float *TAUQ,
150  float *VP, float *TAUP,
151  int st, int ed, int sweep, int Vblksiz, int WANTZ,
152  float *WORK);
153 void CORE_sgbtype2cb(PLASMA_enum uplo, int N, int NB,
154  float *A, int LDA,
155  float *VQ, float *TAUQ,
156  float *VP, float *TAUP,
157  int st, int ed, int sweep, int Vblksiz, int WANTZ,
158  float *WORK);
159 void CORE_sgbtype3cb(PLASMA_enum uplo, int N, int NB,
160  float *A, int LDA,
161  float *VQ, float *TAUQ,
162  float *VP, float *TAUP,
163  int st, int ed, int sweep, int Vblksiz, int WANTZ,
164  float *WORK);
165 void CORE_ssygst(int itype, PLASMA_enum uplo, int N,
166  float *A, int LDA,
167  float *B, int LDB, int *INFO);
168 #ifdef COMPLEX
169 void CORE_ssymm(PLASMA_enum side, PLASMA_enum uplo,
170  int M, int N,
171  float alpha, const float *A, int LDA,
172  const float *B, int LDB,
173  float beta, float *C, int LDC);
174 void CORE_ssyrk(PLASMA_enum uplo, PLASMA_enum trans,
175  int N, int K,
176  float alpha, const float *A, int LDA,
177  float beta, float *C, int LDC);
178 void CORE_ssyr2k(PLASMA_enum uplo, PLASMA_enum trans,
179  int N, int K,
180  float alpha, const float *A, int LDA,
181  const float *B, int LDB,
182  float beta, float *C, int LDC);
183 int CORE_shessq(PLASMA_enum uplo, int N,
184  const float *A, int LDA,
185  float *scale, float *sumsq);
186 #endif
187 int CORE_ssyrfb(PLASMA_enum uplo, int N, int K, int IB, int NB,
188  const float *A, int LDA,
189  const float *T, int LDT,
190  float *C, int LDC,
191  float *WORK, int LDWORK);
192 void CORE_slacpy(PLASMA_enum uplo, int M, int N,
193  const float *A, int LDA,
194  float *B, int LDB);
195 int CORE_slacpy_pivot( const PLASMA_desc descA,
196  PLASMA_enum direct,
197  int k1, int k2, const int *ipiv,
198  int *rankin, int *rankout,
199  float *A, int lda,
200  int init);
201 void CORE_slange(int norm, int M, int N,
202  const float *A, int LDA,
203  float *work, float *normA);
204 #ifdef COMPLEX
205 void CORE_slansy(int norm, PLASMA_enum uplo, int N,
206  const float *A, int LDA,
207  float *work, float *normA);
208 #endif
209 void CORE_slansy(int norm, PLASMA_enum uplo, int N,
210  const float *A, int LDA,
211  float *work, float *normA);
212 int CORE_slarfb_gemm(PLASMA_enum side, PLASMA_enum trans, PLASMA_enum direct, PLASMA_enum storev,
213  int M, int N, int K,
214  const float *V, int LDV,
215  const float *T, int LDT,
216  float *C, int LDC,
217  float *WORK, int LDWORK);
218 int CORE_slarfx2(PLASMA_enum side, int N,
219  float V,
220  float TAU,
221  float *C1, int LDC1,
222  float *C2, int LDC2);
223 int CORE_slarfx2c(PLASMA_enum uplo,
224  float V,
225  float TAU,
226  float *C1,
227  float *C2,
228  float *C3);
229 int CORE_slarfx2ce(PLASMA_enum uplo,
230  float *V,
231  float *TAU,
232  float *C1,
233  float *C2,
234  float *C3);
235 void CORE_slarfy(int N,
236  float *A, int LDA,
237  const float *V,
238  const float *TAU,
239  float *WORK);
240 void CORE_slaset(PLASMA_enum uplo, int n1, int n2,
241  float alpha, float beta,
242  float *tileA, int ldtilea);
243 void CORE_slaset2(PLASMA_enum uplo, int n1, int n2, float alpha,
244  float *tileA, int ldtilea);
245 void CORE_slaswp(int N, float *A, int LDA,
246  int I1, int I2, const int *IPIV, int INC);
247 int CORE_slaswp_ontile( PLASMA_desc descA, int i1, int i2, const int *ipiv, int inc);
248 int CORE_slaswpc_ontile(PLASMA_desc descA, int i1, int i2, const int *ipiv, int inc);
249 int CORE_slatro(PLASMA_enum uplo, PLASMA_enum trans,
250  int M, int N,
251  const float *A, int LDA,
252  float *B, int LDB);
253 void CORE_slauum(PLASMA_enum uplo, int N, float *A, int LDA);
254 int CORE_spamm(int op, PLASMA_enum side, PLASMA_enum storev,
255  int M, int N, int K, int L,
256  const float *A1, int LDA1,
257  float *A2, int LDA2,
258  const float *V, int LDV,
259  float *W, int LDW);
260 int CORE_sparfb(PLASMA_enum side, PLASMA_enum trans, PLASMA_enum direct, PLASMA_enum storev,
261  int M1, int N1, int M2, int N2, int K, int L,
262  float *A1, int LDA1,
263  float *A2, int LDA2,
264  const float *V, int LDV,
265  const float *T, int LDT,
266  float *WORK, int LDWORK);
267 int CORE_spemv(PLASMA_enum trans, PLASMA_enum storev,
268  int M, int N, int L,
269  float ALPHA,
270  const float *A, int LDA,
271  const float *X, int INCX,
272  float BETA,
273  float *Y, int INCY,
274  float *WORK);
275 void CORE_splgsy(float bump, int m, int n, float *A, int lda,
276  int bigM, int m0, int n0, unsigned long long int seed );
277 void CORE_splgsy(float bump, int m, int n, float *A, int lda,
278  int bigM, int m0, int n0, unsigned long long int seed );
279 void CORE_splrnt(int m, int n, float *A, int lda,
280  int bigM, int m0, int n0, unsigned long long int seed );
281 void CORE_spotrf(PLASMA_enum uplo, int N, float *A, int LDA, int *INFO);
282 void CORE_ssetvar(const float *alpha, float *x);
283 void CORE_sshift(int s, int m, int n, int L,
284  float *A);
285 void CORE_sshiftw(int s, int cl, int m, int n, int L,
286  float *A, float *W);
287 int CORE_sssssm(int M1, int N1, int M2, int N2, int K, int IB,
288  float *A1, int LDA1,
289  float *A2, int LDA2,
290  const float *L1, int LDL1,
291  const float *L2, int LDL2,
292  const int *IPIV);
293 void CORE_ssymm(PLASMA_enum side, PLASMA_enum uplo,
294  int M, int N,
295  float alpha, const float *A, int LDA,
296  const float *B, int LDB,
297  float beta, float *C, int LDC);
298 void CORE_ssyrk(PLASMA_enum uplo, PLASMA_enum trans,
299  int N, int K,
300  float alpha, const float *A, int LDA,
301  float beta, float *C, int LDC);
302 void CORE_ssyr2k(PLASMA_enum uplo, PLASMA_enum trans,
303  int N, int K,
304  float alpha, const float *A, int LDA,
305  const float *B, int LDB,
306  float beta, float *C, int LDC);
307 int CORE_ssyssq(PLASMA_enum uplo, int N,
308  const float *A, int LDA,
309  float *scale, float *sumsq);
310 void CORE_sswpab(int i, int n1, int n2,
311  float *A, float *work);
312 int CORE_sswptr_ontile(PLASMA_desc descA, int i1, int i2, const int *ipiv, int inc,
313  const float *Akk, int ldak);
314 void CORE_strdalg1(int n,
315  int nb,
316  float *A,
317  int lda,
318  float *V,
319  float *TAU,
320  int Vblksiz, int wantz,
321  int i, int sweepid, int m, int grsiz,
322  float *work);
323 void CORE_strmm(PLASMA_enum side, PLASMA_enum uplo,
324  PLASMA_enum transA, PLASMA_enum diag,
325  int M, int N,
326  float alpha, const float *A, int LDA,
327  float *B, int LDB);
328 void CORE_strsm(PLASMA_enum side, PLASMA_enum uplo,
329  PLASMA_enum transA, PLASMA_enum diag,
330  int M, int N,
331  float alpha, const float *A, int LDA,
332  float *B, int LDB);
333 void CORE_strtri(PLASMA_enum uplo, PLASMA_enum diag, int N,
334  float *A, int LDA, int *info);
335 int CORE_stslqt(int M, int N, int IB,
336  float *A1, int LDA1,
337  float *A2, int LDA2,
338  float *T, int LDT,
339  float *TAU, float *WORK);
340 int CORE_stsmlq(PLASMA_enum side, PLASMA_enum trans,
341  int M1, int N1, int M2, int N2, int K, int IB,
342  float *A1, int LDA1,
343  float *A2, int LDA2,
344  const float *V, int LDV,
345  const float *T, int LDT,
346  float *WORK, int LDWORK);
347 int CORE_stsmlq_corner( int m1, int n1, int m2, int n2, int m3, int n3,
348  int k, int ib, int nb,
349  float *A1, int lda1,
350  float *A2, int lda2,
351  float *A3, int lda3,
352  const float *V, int ldv,
353  const float *T, int ldt,
354  float *WORK, int ldwork);
355 int CORE_stsmlq_sytra1( PLASMA_enum side, PLASMA_enum trans,
356  int m1, int n1, int m2, int n2,
357  int k, int ib,
358  float *A1, int lda1,
359  float *A2, int lda2,
360  const float *V, int ldv,
361  const float *T, int ldt,
362  float *WORK, int ldwork);
363 int CORE_stsmqr(PLASMA_enum side, PLASMA_enum trans,
364  int M1, int N1, int M2, int N2, int K, int IB,
365  float *A1, int LDA1,
366  float *A2, int LDA2,
367  const float *V, int LDV,
368  const float *T, int LDT,
369  float *WORK, int LDWORK);
370 int CORE_stsmqr_corner( int m1, int n1, int m2, int n2, int m3, int n3,
371  int k, int ib, int nb,
372  float *A1, int lda1,
373  float *A2, int lda2,
374  float *A3, int lda3,
375  const float *V, int ldv,
376  const float *T, int ldt,
377  float *WORK, int ldwork);
378 int CORE_stsmqr_sytra1( PLASMA_enum side, PLASMA_enum trans,
379  int m1, int n1, int m2, int n2,
380  int k, int ib,
381  float *A1, int lda1,
382  float *A2, int lda2,
383  const float *V, int ldv,
384  const float *T, int ldt,
385  float *WORK, int ldwork);
386 int CORE_stsqrt(int M, int N, int IB,
387  float *A1, int LDA1,
388  float *A2, int LDA2,
389  float *T, int LDT,
390  float *TAU, float *WORK);
391 int CORE_ststrf(int M, int N, int IB, int NB,
392  float *U, int LDU,
393  float *A, int LDA,
394  float *L, int LDL,
395  int *IPIV, float *WORK,
396  int LDWORK, int *INFO);
397 int CORE_sttmqr(PLASMA_enum side, PLASMA_enum trans,
398  int M1, int N1, int M2, int N2, int K, int IB,
399  float *A1, int LDA1,
400  float *A2, int LDA2,
401  const float *V, int LDV,
402  const float *T, int LDT,
403  float *WORK, int LDWORK);
404 int CORE_sttqrt(int M, int N, int IB,
405  float *A1, int LDA1,
406  float *A2, int LDA2,
407  float *T, int LDT,
408  float *TAU,
409  float *WORK);
410 int CORE_sttmlq(PLASMA_enum side, PLASMA_enum trans,
411  int M1, int N1, int M2, int N2, int K, int IB,
412  float *A1, int LDA1,
413  float *A2, int LDA2,
414  const float *V, int LDV,
415  const float *T, int LDT,
416  float *WORK, int LDWORK);
417 int CORE_sttlqt(int M, int N, int IB,
418  float *A1, int LDA1,
419  float *A2, int LDA2,
420  float *T, int LDT,
421  float *TAU,
422  float *WORK);
423 int CORE_sormlq(PLASMA_enum side, PLASMA_enum trans,
424  int M, int N, int IB, int K,
425  const float *V, int LDV,
426  const float *T, int LDT,
427  float *C, int LDC,
428  float *WORK, int LDWORK);
429 int CORE_sormqr(PLASMA_enum side, PLASMA_enum trans,
430  int M, int N, int K, int IB,
431  const float *V, int LDV,
432  const float *T, int LDT,
433  float *C, int LDC,
434  float *WORK, int LDWORK);
435 
439 void QUARK_CORE_sasum(Quark *quark, Quark_Task_Flags *task_flags,
440  PLASMA_enum storev, PLASMA_enum uplo, int m, int n,
441  const float *A, int lda, int szeA,
442  float *work, int szeW);
443 void QUARK_CORE_sasum_f1(Quark *quark, Quark_Task_Flags *task_flags,
444  PLASMA_enum storev, PLASMA_enum uplo, int m, int n,
445  const float *A, int lda, int szeA,
446  float *work, int szeW,
447  float *fake, int szeF);
448 void QUARK_CORE_sgeadd(Quark *quark, Quark_Task_Flags *task_flags,
449  int m, int n, int nb, float alpha,
450  const float *A, int lda,
451  float *B, int ldb);
452 void QUARK_CORE_sbrdalg1(Quark *quark, Quark_Task_Flags *task_flags,
453  PLASMA_enum uplo,
454  int n, int nb,
455  float *A,
456  int lda,
457  float *VQ,
458  float *TAUQ,
459  float *VP,
460  float *TAUP,
461  int Vblksiz, int wantz,
462  int i, int sweepid, int m, int grsiz,
463  int *PCOL, int *ACOL, int *MCOL);
464 void QUARK_CORE_sgelqt(Quark *quark, Quark_Task_Flags *task_flags,
465  int m, int n, int ib, int nb,
466  float *A, int lda,
467  float *T, int ldt);
468 void QUARK_CORE_sgemm(Quark *quark, Quark_Task_Flags *task_flags,
469  PLASMA_enum transA, PLASMA_enum transB,
470  int m, int n, int k, int nb,
471  float alpha, const float *A, int lda,
472  const float *B, int ldb,
473  float beta, float *C, int ldc);
474 void QUARK_CORE_sgemm2( Quark *quark, Quark_Task_Flags *task_flags,
475  PLASMA_enum transA, PLASMA_enum transB,
476  int m, int n, int k, int nb,
477  float alpha, const float *A, int lda,
478  const float *B, int ldb,
479  float beta, float *C, int ldc);
480 void QUARK_CORE_sgemm_f2(Quark *quark, Quark_Task_Flags *task_flags,
481  PLASMA_enum transA, PLASMA_enum transB,
482  int m, int n, int k, int nb,
483  float alpha, const float *A, int lda,
484  const float *B, int ldb,
485  float beta, float *C, int ldc,
486  float *fake1, int szefake1, int flag1,
487  float *fake2, int szefake2, int flag2);
488 void QUARK_CORE_sgemm_p2(Quark *quark, Quark_Task_Flags *task_flags,
489  PLASMA_enum transA, PLASMA_enum transB,
490  int m, int n, int k, int nb,
491  float alpha, const float *A, int lda,
492  const float **B, int ldb,
493  float beta, float *C, int ldc);
494 void QUARK_CORE_sgemm_p2f1(Quark *quark, Quark_Task_Flags *task_flags,
495  PLASMA_enum transA, PLASMA_enum transB,
496  int m, int n, int k, int nb,
497  float alpha, const float *A, int lda,
498  const float **B, int ldb,
499  float beta, float *C, int ldc,
500  float *fake1, int szefake1, int flag1);
501 void QUARK_CORE_sgemm_p3(Quark *quark, Quark_Task_Flags *task_flags,
502  PLASMA_enum transA, PLASMA_enum transB,
503  int m, int n, int k, int nb,
504  float alpha, const float *A, int lda,
505  const float *B, int ldb,
506  float beta, float **C, int ldc);
507 void QUARK_CORE_sgemm_tile(Quark *quark, Quark_Task_Flags *task_flags,
508  PLASMA_enum transA, PLASMA_enum transB,
509  int m, int n, int k, int nb,
510  const float *alpha, const float *A, int lda,
511  const float *B, int ldb,
512  const float *beta, float *C, int ldc,
513  const float *Alock,
514  const float *Block,
515  const float *Clock);
516 void QUARK_CORE_sgemv(Quark *quark, Quark_Task_Flags *task_flags,
517  PLASMA_enum trans, int m, int n,
518  float alpha, const float *A, int lda,
519  const float *x, int incx,
520  float beta, float *y, int incy);
521 void QUARK_CORE_sgemv_tile(Quark *quark, Quark_Task_Flags *task_flags,
522  PLASMA_enum trans,
523  int m, int n,
524  const float *alpha, const float *A, int lda,
525  const float *x, int incx,
526  const float *beta, float *y, int incy,
527  const float *Alock,
528  const float *xlock,
529  const float *ylock);
530 void QUARK_CORE_sgeqp3_init( Quark *quark, Quark_Task_Flags *task_flags,
531  int n, int *jpvt );
532 void QUARK_CORE_sgeqp3_larfg(Quark *quark, Quark_Task_Flags *task_flags,
533  PLASMA_desc A, int ii, int jj, int i, int j,
534  float *tau, float *beta );
535 void QUARK_CORE_sgeqp3_norms( Quark *quark, Quark_Task_Flags *task_flags,
536  PLASMA_desc A, int ioff, int joff, float *norms1, float *norms2 );
537 void QUARK_CORE_sgeqp3_pivot( Quark *quark, Quark_Task_Flags *task_flags,
538  PLASMA_desc A,
539  float *F, int ldf,
540  int jj, int k, int *jpvt,
541  float *norms1, float *norms2, int *info );
542 void QUARK_CORE_sgeqp3_tntpiv(Quark *quark, Quark_Task_Flags *task_flags,
543  int m, int n, int nb,
544  float *A, int lda,
545  int *IPIV,
546  PLASMA_sequence *sequence, PLASMA_request *request,
547  PLASMA_bool check_info, int iinfo);
548 void QUARK_CORE_sgeqp3_update( Quark *quark, Quark_Task_Flags *task_flags,
549  float *Ajj, int lda1,
550  float *Ajk, int lda2,
551  float *Fk, int ldf,
552  int joff, int k, int koff, int nb,
553  float *norms1, float *norms2, int *info );
554 void QUARK_CORE_sgeqrt(Quark *quark, Quark_Task_Flags *task_flags,
555  int m, int n, int ib, int nb,
556  float *A, int lda,
557  float *T, int ldt);
558 void QUARK_CORE_sgessm(Quark *quark, Quark_Task_Flags *task_flags,
559  int m, int n, int k, int ib, int nb,
560  const int *IPIV,
561  const float *L, int ldl,
562  float *A, int lda);
563 void QUARK_CORE_sgessq_f1( Quark *quark, Quark_Task_Flags *task_flags,
564  int m, int n, const float *A, int lda,
565  float *scale, float *sumsq,
566  float *fake, int szeF, int paramF );
567 void QUARK_CORE_sgetrf(Quark *quark, Quark_Task_Flags *task_flags,
568  int m, int n, int nb,
569  float *A, int lda,
570  int *IPIV,
571  PLASMA_sequence *sequence, PLASMA_request *request,
572  PLASMA_bool check_info, int iinfo);
573 void QUARK_CORE_sgetrf_incpiv(Quark *quark, Quark_Task_Flags *task_flags,
574  int m, int n, int ib, int nb,
575  float *A, int lda,
576  int *IPIV,
577  PLASMA_sequence *sequence, PLASMA_request *request,
578  PLASMA_bool check_info, int iinfo);
579 void QUARK_CORE_sgetrf_nopiv(Quark *quark, Quark_Task_Flags *task_flags,
580  int m, int n, int ib, int nb,
581  float *A, int lda,
582  PLASMA_sequence *sequence, PLASMA_request *request,
583  int iinfo);
584 void QUARK_CORE_sgetrf_reclap(Quark *quark, Quark_Task_Flags *task_flags,
585  int m, int n, int nb,
586  float *A, int lda,
587  int *IPIV,
588  PLASMA_sequence *sequence, PLASMA_request *request,
589  PLASMA_bool check_info, int iinfo,
590  int nbthread);
591 void QUARK_CORE_sgetrf_rectil(Quark *quark, Quark_Task_Flags *task_flags,
592  PLASMA_desc A, float *Amn, int size,
593  int *IPIV,
594  PLASMA_sequence *sequence, PLASMA_request *request,
595  PLASMA_bool check_info, int iinfo,
596  int nbthread);
597 void QUARK_CORE_sgetrip(Quark *quark, Quark_Task_Flags *task_flags,
598  int m, int n, float *A, int szeA);
599 void QUARK_CORE_sgetrip_f1(Quark *quark, Quark_Task_Flags *task_flags,
600  int m, int n, float *A, int szeA,
601  float *fake, int szeF, int paramF);
602 void QUARK_CORE_sgetrip_f2(Quark *quark, Quark_Task_Flags *task_flags,
603  int m, int n, float *A, int szeA,
604  float *fake1, int szeF1, int paramF1,
605  float *fake2, int szeF2, int paramF2);
606 void QUARK_CORE_ssymm(Quark *quark, Quark_Task_Flags *task_flags,
607  PLASMA_enum side, PLASMA_enum uplo,
608  int m, int n, int nb,
609  float alpha, const float *A, int lda,
610  const float *B, int ldb,
611  float beta, float *C, int ldc);
612 void QUARK_CORE_ssygst(Quark *quark, Quark_Task_Flags *task_flags,
613  int itype, PLASMA_enum uplo, int N,
614  float *A, int LDA,
615  float *B, int LDB,
616  PLASMA_sequence *sequence, PLASMA_request *request,
617  int iinfo);
618 void QUARK_CORE_ssyrk(Quark *quark, Quark_Task_Flags *task_flags,
619  PLASMA_enum uplo, PLASMA_enum trans,
620  int n, int k, int nb,
621  float alpha, const float *A, int lda,
622  float beta, float *C, int ldc);
623 void QUARK_CORE_ssyr2k(Quark *quark, Quark_Task_Flags *task_flags,
624  PLASMA_enum uplo, PLASMA_enum trans,
625  int n, int k, int nb,
626  float alpha, const float *A, int lda,
627  const float *B, int LDB,
628  float beta, float *C, int ldc);
629 void QUARK_CORE_ssyrfb(Quark *quark, Quark_Task_Flags *task_flags,
630  PLASMA_enum uplo,
631  int n, int k, int ib, int nb,
632  const float *A, int lda,
633  const float *T, int ldt,
634  float *C, int ldc);
635 void QUARK_CORE_shessq_f1( Quark *quark, Quark_Task_Flags *task_flags,
636  PLASMA_enum uplo, int n, const float *A, int lda,
637  float *scale, float *sumsq,
638  float *fake, int szeF, int paramF );
639 void QUARK_CORE_slacpy(Quark *quark, Quark_Task_Flags *task_flags,
640  PLASMA_enum uplo, int m, int n, int mb,
641  const float *A, int lda,
642  float *B, int ldb);
643 void QUARK_CORE_slacpy_f1(Quark *quark, Quark_Task_Flags *task_flags,
644  PLASMA_enum uplo, int m, int n, int nb,
645  const float *A, int lda,
646  float *B, int ldb,
647  float *fake1, int szefake1, int flag1);
648 void QUARK_CORE_slacpy_pivot(Quark *quark, Quark_Task_Flags *task_flags,
649  const PLASMA_desc descA,
650  PLASMA_enum direct,
651  int k1, int k2, const int *ipiv,
652  int *rankin, int *rankout,
653  float *A, int lda,
654  int pos, int init);
655 void QUARK_CORE_slange(Quark *quark, Quark_Task_Flags *task_flags,
656  int norm, int M, int N,
657  const float *A, int LDA, int szeA,
658  int szeW, float *result);
659 void QUARK_CORE_slange_f1(Quark *quark, Quark_Task_Flags *task_flags,
660  int norm, int M, int N,
661  const float *A, int LDA, int szeA,
662  int szeW, float *result,
663  float *fake, int szeF);
664 #ifdef COMPLEX
665 void QUARK_CORE_slansy(Quark *quark, Quark_Task_Flags *task_flags,
666  int norm, PLASMA_enum uplo, int N,
667  const float *A, int LDA, int szeA,
668  int szeW, float *result);
669 void QUARK_CORE_slansy_f1(Quark *quark, Quark_Task_Flags *task_flags,
670  int norm, PLASMA_enum uplo, int N,
671  const float *A, int LDA, int szeA,
672  int szeW, float *result,
673  float *fake, int szeF);
674 #endif
675 void QUARK_CORE_slansy(Quark *quark, Quark_Task_Flags *task_flags,
676  int norm, PLASMA_enum uplo, int N,
677  const float *A, int LDA, int szeA,
678  int szeW, float *result);
679 void QUARK_CORE_slansy_f1(Quark *quark, Quark_Task_Flags *task_flags,
680  int norm, PLASMA_enum uplo, int N,
681  const float *A, int LDA, int szeA,
682  int szeW, float *result,
683  float *fake, int szeF);
684 void QUARK_CORE_slaset(Quark *quark, Quark_Task_Flags *task_flags,
685  PLASMA_enum uplo, int n1, int n2, float alpha,
686  float beta, float *tileA, int ldtilea);
687 void QUARK_CORE_slaset2(Quark *quark, Quark_Task_Flags *task_flags,
688  PLASMA_enum uplo, int n1, int n2, float alpha,
689  float *tileA, int ldtilea);
690 void QUARK_CORE_slaswp(Quark *quark, Quark_Task_Flags *task_flags,
691  int n, float *A, int lda,
692  int i1, int i2, const int *ipiv, int inc);
693 void QUARK_CORE_slaswp_f2(Quark *quark, Quark_Task_Flags *task_flags,
694  int n, float *A, int lda,
695  int i1, int i2, const int *ipiv, int inc,
696  float *fake1, int szefake1, int flag1,
697  float *fake2, int szefake2, int flag2);
698 void QUARK_CORE_slaswp_ontile(Quark *quark, Quark_Task_Flags *task_flags,
699  PLASMA_desc descA, float *A,
700  int i1, int i2, const int *ipiv, int inc, float *fakepanel);
701 void QUARK_CORE_slaswp_ontile_f2(Quark *quark, Quark_Task_Flags *task_flags,
702  PLASMA_desc descA, float *A,
703  int i1, int i2, const int *ipiv, int inc,
704  float *fake1, int szefake1, int flag1,
705  float *fake2, int szefake2, int flag2);
706 void QUARK_CORE_slaswpc_ontile(Quark *quark, Quark_Task_Flags *task_flags,
707  PLASMA_desc descA, float *A,
708  int i1, int i2, const int *ipiv, int inc, float *fakepanel);
709 void QUARK_CORE_slatro(Quark *quark, Quark_Task_Flags *task_flags,
710  PLASMA_enum uplo, PLASMA_enum trans, int m, int n, int mb,
711  const float *A, int lda,
712  float *B, int ldb);
713 void QUARK_CORE_slatro_f1(Quark *quark, Quark_Task_Flags *task_flags,
714  PLASMA_enum uplo, PLASMA_enum trans, int m, int n, int mb,
715  const float *A, int lda,
716  float *B, int ldb,
717  float *fake1, int szefake1, int flag1);
718 void QUARK_CORE_slauum(Quark *quark, Quark_Task_Flags *task_flags,
719  PLASMA_enum uplo, int n, int nb,
720  float *A, int lda);
721 void QUARK_CORE_splgsy(Quark *quark, Quark_Task_Flags *task_flags,
722  float bump, int m, int n, float *A, int lda,
723  int bigM, int m0, int n0, unsigned long long int seed );
724 void QUARK_CORE_splgsy(Quark *quark, Quark_Task_Flags *task_flags,
725  float bump, int m, int n, float *A, int lda,
726  int bigM, int m0, int n0, unsigned long long int seed );
727 void QUARK_CORE_splrnt(Quark *quark, Quark_Task_Flags *task_flags,
728  int m, int n, float *A, int lda,
729  int bigM, int m0, int n0, unsigned long long int seed );
730 void QUARK_CORE_spotrf(Quark *quark, Quark_Task_Flags *task_flags,
731  PLASMA_enum uplo, int n, int nb,
732  float *A, int lda,
733  PLASMA_sequence *sequence, PLASMA_request *request,
734  int iinfo);
735 void QUARK_CORE_ssetvar(Quark *quark, Quark_Task_Flags *task_flags,
736  const float *alpha, float *x,
737  float *Alock);
738 void QUARK_CORE_sshift( Quark *quark, Quark_Task_Flags *task_flags,
739  int s, int m, int n, int L,
740  float *A);
741 void QUARK_CORE_sshiftw(Quark *quark, Quark_Task_Flags *task_flags,
742  int s, int cl, int m, int n, int L,
743  float *A, float *W);
744 void QUARK_CORE_sssssm(Quark *quark, Quark_Task_Flags *task_flags,
745  int m1, int n1, int m2, int n2, int k, int ib, int nb,
746  float *A1, int lda1,
747  float *A2, int lda2,
748  const float *L1, int ldl1,
749  const float *L2, int ldl2,
750  const int *IPIV);
751 void QUARK_CORE_ssymm(Quark *quark, Quark_Task_Flags *task_flags,
752  PLASMA_enum side, PLASMA_enum uplo,
753  int m, int n, int nb,
754  float alpha, const float *A, int lda,
755  const float *B, int ldb,
756  float beta, float *C, int ldc);
757 void QUARK_CORE_ssyrk(Quark *quark, Quark_Task_Flags *task_flags,
758  PLASMA_enum uplo, PLASMA_enum trans,
759  int n, int k, int nb,
760  float alpha, const float *A, int lda,
761  float beta, float *C, int ldc);
762 void QUARK_CORE_ssyr2k(Quark *quark, Quark_Task_Flags *task_flags,
763  PLASMA_enum uplo, PLASMA_enum trans,
764  int n, int k, int nb,
765  float alpha, const float *A, int lda,
766  const float *B, int LDB,
767  float beta, float *C, int ldc);
768 void QUARK_CORE_ssyssq_f1( Quark *quark, Quark_Task_Flags *task_flags,
769  PLASMA_enum uplo, int n, const float *A, int lda,
770  float *scale, float *sumsq,
771  float *fake, int szeF, int paramF );
772 void QUARK_CORE_sswpab(Quark *quark, Quark_Task_Flags *task_flags,
773  int i, int n1, int n2,
774  float *A, int szeA);
775 void QUARK_CORE_sswptr_ontile(Quark *quark, Quark_Task_Flags *task_flags,
776  PLASMA_desc descA, float *Aij,
777  int i1, int i2, const int *ipiv, int inc,
778  const float *Akk, int ldak);
779 void QUARK_CORE_strdalg1(Quark *quark, Quark_Task_Flags *task_flags,
780  int n,
781  int nb,
782  float *A,
783  int lda,
784  float *V,
785  float *TAU,
786  int Vblksiz, int wantz,
787  int i, int sweepid, int m, int grsiz,
788  int *PCOL, int *ACOL, int *MCOL);
789 void QUARK_CORE_strmm(Quark *quark, Quark_Task_Flags *task_flags,
790  PLASMA_enum side, PLASMA_enum uplo, PLASMA_enum transA, PLASMA_enum diag,
791  int m, int n, int nb,
792  float alpha, const float *A, int lda,
793  float *B, int ldb);
794 void QUARK_CORE_strmm_p2(Quark *quark, Quark_Task_Flags *task_flags,
795  PLASMA_enum side, PLASMA_enum uplo, PLASMA_enum transA, PLASMA_enum diag,
796  int m, int n, int nb,
797  float alpha, const float *A, int lda,
798  float **B, int ldb);
799 void QUARK_CORE_strsm(Quark *quark, Quark_Task_Flags *task_flags,
800  PLASMA_enum side, PLASMA_enum uplo, PLASMA_enum transA, PLASMA_enum diag,
801  int m, int n, int nb,
802  float alpha, const float *A, int lda,
803  float *B, int ldb);
804 void QUARK_CORE_strtri(Quark *quark, Quark_Task_Flags *task_flags,
805  PLASMA_enum uplo, PLASMA_enum diag, int n, int nb,
806  float *A, int lda,
807  PLASMA_sequence *sequence, PLASMA_request *request,
808  int iinfo);
809 void QUARK_CORE_stslqt(Quark *quark, Quark_Task_Flags *task_flags,
810  int m, int n, int ib, int nb,
811  float *A1, int lda1,
812  float *A2, int lda2,
813  float *T, int ldt);
814 void QUARK_CORE_stsmlq(Quark *quark, Quark_Task_Flags *task_flags,
815  PLASMA_enum side, PLASMA_enum trans,
816  int m1, int n1, int m2, int n2, int k, int ib, int nb,
817  float *A1, int lda1,
818  float *A2, int lda2,
819  const float *V, int ldv,
820  const float *T, int ldt);
821 void QUARK_CORE_stsmlq_sytra1(Quark *quark, Quark_Task_Flags *task_flags,
822  PLASMA_enum side, PLASMA_enum trans,
823  int m1, int n1, int m2, int n2, int k, int ib, int nb,
824  float *A1, int lda1,
825  float *A2, int lda2,
826  const float *V, int ldv,
827  const float *T, int ldt);
828 void QUARK_CORE_stsmlq_corner(Quark *quark, Quark_Task_Flags *task_flags,
829  int m1, int n1, int m2, int n2, int m3, int n3, int k, int ib, int nb,
830  float *A1, int lda1,
831  float *A2, int lda2,
832  float *A3, int lda3,
833  const float *V, int ldv,
834  const float *T, int ldt);
835 void QUARK_CORE_stsmqr(Quark *quark, Quark_Task_Flags *task_flags,
836  PLASMA_enum side, PLASMA_enum trans,
837  int m1, int n1, int m2, int n2, int k, int ib, int nb,
838  float *A1, int lda1,
839  float *A2, int lda2,
840  const float *V, int ldv,
841  const float *T, int ldt);
842 void QUARK_CORE_stsmqr_sytra1(Quark *quark, Quark_Task_Flags *task_flags,
843  PLASMA_enum side, PLASMA_enum trans,
844  int m1, int n1, int m2, int n2, int k, int ib, int nb,
845  float *A1, int lda1,
846  float *A2, int lda2,
847  const float *V, int ldv,
848  const float *T, int ldt);
849 void QUARK_CORE_stsmqr_corner(Quark *quark, Quark_Task_Flags *task_flags,
850  int m1, int n1, int m2, int n2, int m3, int n3, int k, int ib, int nb,
851  float *A1, int lda1,
852  float *A2, int lda2,
853  float *A3, int lda3,
854  const float *V, int ldv,
855  const float *T, int ldt);
856 void QUARK_CORE_stsqrt(Quark *quark, Quark_Task_Flags *task_flags,
857  int m, int n, int ib, int nb,
858  float *A1, int lda1,
859  float *A2, int lda2,
860  float *T, int ldt);
861 void QUARK_CORE_ststrf(Quark *quark, Quark_Task_Flags *task_flags,
862  int m, int n, int ib, int nb,
863  float *U, int ldu,
864  float *A, int lda,
865  float *L, int ldl,
866  int *IPIV,
867  PLASMA_sequence *sequence, PLASMA_request *request,
868  PLASMA_bool check_info, int iinfo);
869 void QUARK_CORE_sttmqr(Quark *quark, Quark_Task_Flags *task_flags,
870  PLASMA_enum side, PLASMA_enum trans,
871  int m1, int n1, int m2, int n2, int k, int ib, int nb,
872  float *A1, int lda1,
873  float *A2, int lda2,
874  const float *V, int ldv,
875  const float *T, int ldt);
876 void QUARK_CORE_sttqrt(Quark *quark, Quark_Task_Flags *task_flags,
877  int m, int n, int ib, int nb,
878  float *A1, int lda1,
879  float *A2, int lda2,
880  float *T, int ldt);
881 void QUARK_CORE_sttmlq(Quark *quark, Quark_Task_Flags *task_flags,
882  PLASMA_enum side, PLASMA_enum trans,
883  int m1, int n1, int m2, int n2, int k, int ib, int nb,
884  float *A1, int lda1,
885  float *A2, int lda2,
886  const float *V, int ldv,
887  const float *T, int ldt);
888 void QUARK_CORE_sttlqt(Quark *quark, Quark_Task_Flags *task_flags,
889  int m, int n, int ib, int nb,
890  float *A1, int lda1,
891  float *A2, int lda2,
892  float *T, int ldt);
893 void QUARK_CORE_spamm(Quark *quark, Quark_Task_Flags *task_flags,
894  int op, PLASMA_enum side, PLASMA_enum storev,
895  int m, int n, int k, int l,
896  const float *A1, int lda1,
897  float *A2, int lda2,
898  const float *V, int ldv,
899  float *W, int ldw);
900 void QUARK_CORE_splssq( Quark *quark, Quark_Task_Flags *task_flags,
901  int m, const float *A, float *result );
902 void QUARK_CORE_sormlq(Quark *quark, Quark_Task_Flags *task_flags,
903  PLASMA_enum side, PLASMA_enum trans,
904  int m, int n, int ib, int nb, int k,
905  const float *A, int lda,
906  const float *T, int ldt,
907  float *C, int ldc);
908 void QUARK_CORE_sormqr(Quark *quark, Quark_Task_Flags *task_flags,
909  PLASMA_enum side, PLASMA_enum trans,
910  int m, int n, int k, int ib, int nb,
911  const float *A, int lda,
912  const float *T, int ldt,
913  float *C, int ldc);
914 
918 void CORE_sasum_quark(Quark *quark);
919 void CORE_sasum_f1_quark(Quark *quark);
920 void CORE_sgeadd_quark(Quark *quark);
921 void CORE_sbrdalg1_quark(Quark *quark);
922 void CORE_sgelqt_quark(Quark *quark);
923 void CORE_sgemm_quark(Quark *quark);
924 void CORE_sgemm_tile_quark(Quark *quark);
925 void CORE_sgemv_quark(Quark *quark);
926 void CORE_sgemv_tile_quark(Quark *quark);
927 void CORE_sgeqp3_init_quark(Quark *quark);
928 void CORE_sgeqp3_larfg_quark(Quark *quark);
929 void CORE_sgeqp3_norms_quark(Quark *quark);
930 void CORE_sgeqp3_pivot_quark(Quark *quark);
931 void CORE_sgeqp3_tntpiv_quark(Quark *quark);
932 void CORE_sgeqp3_update_quark(Quark *quark);
933 void CORE_sgeqrt_quark(Quark *quark);
934 void CORE_sgessm_quark(Quark *quark);
935 void CORE_sgessq_quark(Quark *quark);
936 void CORE_sgessq_f1_quark(Quark *quark);
937 void CORE_sgetrf_quark(Quark *quark);
938 void CORE_sgetrf_incpiv_quark(Quark *quark);
939 void CORE_sgetrf_nopiv_quark(Quark* quark);
940 void CORE_sgetrf_reclap_quark(Quark *quark);
941 void CORE_sgetrf_rectil_quark(Quark* quark);
942 void CORE_sgetrip_quark(Quark *quark);
943 void CORE_sgetrip_f1_quark(Quark *quark);
944 void CORE_sgetrip_f2_quark(Quark *quark);
945 #ifdef COMPLEX
946 void CORE_ssymm_quark(Quark *quark);
947 void CORE_ssyrk_quark(Quark *quark);
948 void CORE_ssyr2k_quark(Quark *quark);
949 #endif
950 void CORE_ssygst_quark(Quark *quark);
951 void CORE_ssyrfb_quark(Quark *quark);
952 void CORE_shessq_quark(Quark *quark);
953 void CORE_shessq_f1_quark(Quark *quark);
954 void CORE_slacpy_quark(Quark *quark);
955 void CORE_slacpy_f1_quark(Quark *quark);
956 void CORE_slacpy_pivot_quark(Quark *quark);
957 void CORE_slatro_quark(Quark *quark);
958 void CORE_slatro_f1_quark(Quark *quark);
959 void CORE_slange_quark(Quark *quark);
960 void CORE_slange_f1_quark(Quark *quark);
961 #ifdef COMPLEX
962 void CORE_slansy_quark(Quark *quark);
963 void CORE_slansy_f1_quark(Quark *quark);
964 #endif
965 void CORE_slansy_quark(Quark *quark);
966 void CORE_slansy_f1_quark(Quark *quark);
967 void CORE_slaset_quark(Quark *quark);
968 void CORE_slaset2_quark(Quark *quark);
969 void CORE_slatro_quark(Quark *quark);
970 void CORE_slauum_quark(Quark *quark);
971 void CORE_spamm_quark(Quark *quark);
972 void CORE_splgsy_quark(Quark *quark);
973 void CORE_splgsy_quark(Quark *quark);
974 void CORE_splrnt_quark(Quark *quark);
975 void CORE_splssq_quark(Quark *quark);
976 void CORE_spotrf_quark(Quark *quark);
977 void CORE_ssetvar_quark(Quark *quark);
978 void CORE_sshift_quark(Quark *quark);
979 void CORE_sshiftw_quark(Quark *quark);
980 void CORE_sssssm_quark(Quark *quark);
981 void CORE_ssymm_quark(Quark *quark);
982 void CORE_ssyrk_quark(Quark *quark);
983 void CORE_ssyr2k_quark(Quark *quark);
984 void CORE_ssyssq_quark(Quark *quark);
985 void CORE_ssyssq_f1_quark(Quark *quark);
986 void CORE_sswpab_quark(Quark *quark);
987 void CORE_sswptr_ontile_quark(Quark *quark);
988 void CORE_strdalg1_quark(Quark *quark);
989 void CORE_strmm_quark(Quark *quark);
990 void CORE_strsm_quark(Quark *quark);
991 void CORE_strtri_quark(Quark *quark);
992 void CORE_stslqt_quark(Quark *quark);
993 void CORE_stsmlq_quark(Quark *quark);
994 void CORE_stsmlq_sytra1_quark(Quark *quark);
995 void CORE_stsmlq_corner_quark(Quark *quark);
996 void CORE_stsmqr_quark(Quark *quark);
997 void CORE_stsmqr_sytra1_quark(Quark *quark);
998 void CORE_stsmqr_corner_quark(Quark *quark);
999 void CORE_stsqrt_quark(Quark *quark);
1000 void CORE_ststrf_quark(Quark *quark);
1001 void CORE_sttmqr_quark(Quark *quark);
1002 void CORE_sttqrt_quark(Quark *quark);
1003 void CORE_sttmlq_quark(Quark *quark);
1004 void CORE_sttlqt_quark(Quark *quark);
1005 void CORE_sormlq_quark(Quark *quark);
1006 void CORE_sormqr_quark(Quark *quark);
1007 void CORE_slaswp_quark(Quark* quark);
1008 void CORE_slaswp_f2_quark(Quark* quark);
1009 void CORE_slaswp_ontile_quark(Quark *quark);
1010 void CORE_slaswp_ontile_f2_quark(Quark *quark);
1011 void CORE_slaswpc_ontile_quark(Quark *quark);
1012 void CORE_strmm_p2_quark(Quark* quark);
1013 void CORE_sgemm_f2_quark(Quark* quark);
1014 void CORE_sgemm_p2_quark(Quark* quark);
1015 void CORE_sgemm_p2f1_quark(Quark* quark);
1016 void CORE_sgemm_p3_quark(Quark* quark);
1017 
1018 #ifdef __cplusplus
1019 }
1020 #endif
1021 
1022 #undef COMPLEX
1023 
1024 #endif