MAGMA  magma-1.4.0
Matrix Algebra on GPU and Multicore Architectures
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
magmablas_c.h
Go to the documentation of this file.
1 /*
2  -- MAGMA (version 1.4.0) --
3  Univ. of Tennessee, Knoxville
4  Univ. of California, Berkeley
5  Univ. of Colorado, Denver
6  August 2013
7 
8  @generated c Tue Aug 13 16:43:28 2013
9 */
10 
11 #ifndef MAGMABLAS_C_H
12 #define MAGMABLAS_C_H
13 
14 #include "magma_types.h"
15 
16 #define COMPLEX
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
22  /*
23  * Interface to clean
24  */
25 float cpu_gpu_cdiff(
27  const magmaFloatComplex *hA, magma_int_t lda,
29 
30 // see also claset
33 
35  magma_int_t nb,
37 
38 // see also claswp
39 // ipiv gets updated
41  magma_int_t n,
43  magma_int_t *ipiv, magma_int_t nb, magma_int_t ind );
44 
45 // ipiv is not updated (unlike cpermute_long2)
47  /*magma_int_t n,*/
49  const magma_int_t *ipiv, magma_int_t nb, magma_int_t ind );
50 
51  /*
52  * Transpose functions
53  */
55  magma_int_t n,
57 
61  magma_int_t m, magma_int_t n );
62 
66  magma_int_t m, magma_int_t n );
67 
72  magma_queue_t stream );
73 
77  magmaFloatComplex *hA, magma_int_t lda,
79 
82  const magmaFloatComplex *hA, magma_int_t lda,
84  magmaFloatComplex_ptr dwork, magma_int_t lddwork, magma_int_t nb );
85 
86  /*
87  * Multi-GPU functions
88  */
90  magma_int_t ngpu, magma_queue_t stream[][2],
92  magmaFloatComplex *hA, magma_int_t lda,
95 
97  magma_int_t ngpu, magma_queue_t stream[][2],
98  const magmaFloatComplex *hA, magma_int_t lda,
102 
106  magmaFloatComplex *hA, magma_int_t lda,
107  magma_int_t ngpu, magma_int_t nb );
108 
111  const magmaFloatComplex *hA, magma_int_t lda,
113  magma_int_t ngpu, magma_int_t nb );
114 
118  magmaFloatComplex *hA, magma_int_t lda,
119  magma_int_t ngpu, magma_int_t nb );
120 
123  const magmaFloatComplex *hA, magma_int_t lda,
125  magma_int_t ngpu, magma_int_t nb );
126 
127 // in src/chetrd_mgpu.cpp
129  magma_int_t num_gpus, char *uplo, magma_int_t n, magma_int_t nb,
130  magmaFloatComplex *a, magma_int_t lda,
131  magmaFloatComplex **dwork, magma_int_t ldda,
132  magma_queue_t stream[][10], magma_int_t *info );
133 
134 // in src/cpotrf3_mgpu.cpp
136  magma_int_t num_gpus, char *uplo, magma_int_t m, magma_int_t n,
137  magma_int_t off_i, magma_int_t off_j, magma_int_t nb,
138  magmaFloatComplex *h_A, magma_int_t lda,
139  magmaFloatComplex *d_lA[], magma_int_t ldda,
140  magma_queue_t stream[][3], magma_int_t *info );
141 
142 // in src/cpotrf3_mgpu.cpp
144  magma_int_t num_gpus, char *uplo, magma_int_t m, magma_int_t n,
145  magma_int_t off_i, magma_int_t off_j, magma_int_t nb, magma_int_t NB,
146  magmaFloatComplex *a, magma_int_t lda,
147  magmaFloatComplex *work[], magma_int_t ldda,
148  magma_queue_t stream[][3], magma_int_t *info );
149 
151  char uplo, magma_int_t n,
152  magmaFloatComplex alpha,
153  magmaFloatComplex **A, magma_int_t lda,
154  magmaFloatComplex **X, magma_int_t incx,
155  magmaFloatComplex beta,
156  magmaFloatComplex **Y, magma_int_t incy,
157  magmaFloatComplex **work, magma_int_t lwork,
158  magma_int_t num_gpus,
159  magma_int_t nb,
160  magma_int_t offset,
161  magma_queue_t stream[][10] );
162 
164  char uplo, magma_int_t n,
165  magmaFloatComplex alpha,
166  magmaFloatComplex **A, magma_int_t lda,
167  magmaFloatComplex **X, magma_int_t incx,
168  magmaFloatComplex beta,
169  magmaFloatComplex **Y, magma_int_t incy,
170  magmaFloatComplex **work, magma_int_t lwork,
171  magma_int_t num_gpus,
172  magma_int_t nb,
173  magma_int_t offset,
174  magma_queue_t stream[][10] );
175 
177  magma_int_t num_gpus, magma_int_t k, char uplo,
178  magma_int_t n, magma_int_t nb,
179  magmaFloatComplex alpha,
180  magmaFloatComplex **da, magma_int_t ldda, magma_int_t offset,
181  magmaFloatComplex **dx, magma_int_t incx,
182  magmaFloatComplex beta,
183  magmaFloatComplex **dy, magma_int_t incy,
184  magmaFloatComplex **dwork, magma_int_t ldwork,
185  magmaFloatComplex *work, magmaFloatComplex *w,
186  magma_queue_t stream[][10] );
187 
189  magma_int_t num_gpus, magma_int_t k,
190  magma_int_t n, magmaFloatComplex *work, magmaFloatComplex *w,
191  magma_queue_t stream[][10] );
192 
195  magmaFloatComplex alpha,
196  magmaFloatComplex_ptr dA[], magma_int_t ldda, magma_int_t offset,
198  magmaFloatComplex beta,
200  magmaFloatComplex* C, magma_int_t ldc,
201  magma_int_t ngpu, magma_int_t nb,
202  magma_queue_t streams[][20], magma_int_t nstream );
203 
206  magmaFloatComplex alpha,
207  magmaFloatComplex_ptr dA[], magma_int_t ldda, magma_int_t offset,
209  magmaFloatComplex beta,
211  magmaFloatComplex* C, magma_int_t ldc,
212  magma_int_t ngpu, magma_int_t nb,
213  magma_queue_t streams[][20], magma_int_t nstream );
214 
217  magmaFloatComplex alpha,
218  magmaFloatComplex_ptr dA[], magma_int_t ldda, magma_int_t offset,
220  magmaFloatComplex beta,
222  magmaFloatComplex_ptr dwork[], magma_int_t lddwork,
223  magmaFloatComplex* C, magma_int_t ldc,
224  magmaFloatComplex* work[], magma_int_t ldwork,
225  magma_int_t ngpu, magma_int_t nb,
226  magma_queue_t streams[][20], magma_int_t nstream,
227  magma_event_t redevents[][20], magma_int_t nbevents );
228 
231  magmaFloatComplex alpha,
232  magmaFloatComplex_ptr dA[], magma_int_t ldda, magma_int_t offset,
234  magmaFloatComplex beta,
236  magmaFloatComplex_ptr dwork[], magma_int_t lddwork,
237  magmaFloatComplex* C, magma_int_t ldc,
238  magmaFloatComplex* work[], magma_int_t ldwork,
239  magma_int_t ngpu, magma_int_t nb,
240  magma_queue_t streams[][20], magma_int_t nstream,
241  magma_event_t redevents[][MagmaMaxGPUs*MagmaMaxGPUs+10], magma_int_t nbevents,
242  magma_int_t gnode[MagmaMaxGPUs][MagmaMaxGPUs+2], magma_int_t nbcmplx );
243 
246  magmaFloatComplex alpha,
247  magmaFloatComplex_ptr dA[], magma_int_t ldda, magma_int_t offset,
249  magmaFloatComplex beta,
251  magmaFloatComplex_ptr dwork[], magma_int_t lddwork,
252  magmaFloatComplex* C, magma_int_t ldc,
253  magmaFloatComplex* work[], magma_int_t ldwork,
254  magma_int_t ngpu, magma_int_t nb,
255  magma_queue_t streams[][20], magma_int_t nstream,
256  magma_event_t redevents[][MagmaMaxGPUs*MagmaMaxGPUs+10], magma_int_t nbevents,
257  magma_int_t gnode[MagmaMaxGPUs][MagmaMaxGPUs+2], magma_int_t nbcmplx );
258 
261  magmaFloatComplex alpha,
262  magmaFloatComplex_ptr dA[], magma_int_t ldda, magma_int_t offset,
264  magmaFloatComplex beta,
266  magmaFloatComplex_ptr dVIN[], magma_int_t lddv, magma_int_t voffst,
267  magmaFloatComplex_ptr dwork[], magma_int_t lddwork,
268  magmaFloatComplex *C, magma_int_t ldc,
269  magmaFloatComplex *work[], magma_int_t ldwork,
270  magma_int_t ngpu, magma_int_t nb,
271  magma_queue_t streams[][20], magma_int_t nstream,
272  magma_event_t redevents[][MagmaMaxGPUs*MagmaMaxGPUs+10], magma_int_t nbevents,
273  magma_int_t gnode[MagmaMaxGPUs][MagmaMaxGPUs+2], magma_int_t nbcmplx );
274 
275 // Ichi's version, in src/chetrd_mgpu.cpp
276 void magma_cher2k_mgpu(
277  magma_int_t num_gpus, char uplo, char trans, magma_int_t nb, magma_int_t n, magma_int_t k,
278  magmaFloatComplex alpha,
279  magmaFloatComplex **db, magma_int_t lddb, magma_int_t boffset,
280  float beta,
281  magmaFloatComplex **dc, magma_int_t lddc, magma_int_t offset,
282  magma_int_t num_streams, magma_queue_t streams[][10] );
283 
286  magmaFloatComplex alpha,
289  float beta,
290  magmaFloatComplex_ptr dC[], magma_int_t lddc, magma_int_t offset,
291  magma_int_t ngpu, magma_int_t nb,
292  magma_queue_t streams[][20], magma_int_t nstream );
293 
296  magmaFloatComplex alpha,
299  float beta,
301  magma_int_t ngpu, magma_int_t nb, magma_queue_t streams[][20], magma_int_t nstream );
302 
305  magmaFloatComplex alpha,
306  magmaFloatComplex_ptr dVIN[], magma_int_t lddv, magma_int_t voff,
307  magmaFloatComplex_ptr dWIN[], magma_int_t lddw, magma_int_t woff,
308  float beta,
309  magmaFloatComplex_ptr dC[], magma_int_t lddc, magma_int_t offset,
310  magmaFloatComplex_ptr dwork[], magma_int_t lndwork,
311  magma_int_t ngpu, magma_int_t nb,
312  magma_queue_t streams[][20], magma_int_t nstream,
313  magma_event_t redevents[][MagmaMaxGPUs*MagmaMaxGPUs+10], magma_int_t nbevents );
314 
317  magmaFloatComplex alpha,
318  magmaFloatComplex_ptr dVIN[], magma_int_t lddv, magma_int_t voff,
319  magmaFloatComplex_ptr dWIN[], magma_int_t lddw, magma_int_t woff,
320  float beta,
321  magmaFloatComplex_ptr dC[], magma_int_t lddc, magma_int_t offset,
322  magmaFloatComplex_ptr dwork[], magma_int_t lndwork,
323  magma_int_t ngpu, magma_int_t nb,
324  magmaFloatComplex **harray[],
325  magmaFloatComplex_ptr *darray[],
326  magma_queue_t streams[][20], magma_int_t nstream,
327  magma_event_t redevents[][MagmaMaxGPUs*MagmaMaxGPUs+10], magma_int_t nbevents );
328 
329  /*
330  * LAPACK auxiliary functions
331  */
332 void magmablas_cgeadd(
334  magmaFloatComplex alpha,
337 
340  magmaFloatComplex alpha,
341  magmaFloatComplex_const_ptr const *dAarray, magma_int_t ldda,
342  magmaFloatComplex_ptr *dBarray, magma_int_t lddb,
343  magma_int_t batchCount );
344 
345 void magmablas_clacpy(
346  magma_uplo_t uplo,
350 
353  magmaFloatComplex_const_ptr const *dAarray, magma_int_t ldda,
354  magmaFloatComplex_ptr *dBarray, magma_int_t lddb,
355  magma_int_t batchCount );
356 
357 float magmablas_clange(
358  magma_norm_t norm,
361  magmaFloat_ptr dwork );
362 
363 float magmablas_clanhe(
364  magma_norm_t norm, magma_uplo_t uplo,
365  magma_int_t n,
367  magmaFloat_ptr dwork );
368 
369 float magmablas_clansy(
370  magma_norm_t norm, magma_uplo_t uplo,
371  magma_int_t n,
373  magmaFloat_ptr dwork );
374 
375 void magmablas_clascl(
376  char type, magma_int_t kl, magma_int_t ku,
377  float cfrom, float cto,
380 
381 void magmablas_claset(
384 
388 
389 void magmablas_claswp(
390  magma_int_t n,
392  magma_int_t i1, magma_int_t i2,
393  const magma_int_t *ipiv, magma_int_t inci );
394 
395 void magmablas_claswpx(
396  magma_int_t n,
398  magma_int_t i1, magma_int_t i2,
399  const magma_int_t *ipiv, magma_int_t inci );
400 
401 void magmablas_claswp2(
402  magma_int_t n,
404  magma_int_t i1, magma_int_t i2,
405  const magma_int_t *d_ipiv );
406 
408  magma_uplo_t uplo, magma_int_t m,
410 
412  magma_uplo_t uplo, magma_int_t m,
414  magma_int_t ntile, magma_int_t mstride, magma_int_t nstride );
415 
416 void magma_clarfgx_gpu(
417  magma_int_t n, magmaFloatComplex *dx0, magmaFloatComplex *dx,
418  magmaFloatComplex *dtau, float *dxnorm,
419  magmaFloatComplex *ddx0, magma_int_t iter);
420 
421 void magma_clarfx_gpu(
422  magma_int_t m, magma_int_t n, magmaFloatComplex *v, magmaFloatComplex *tau,
423  magmaFloatComplex *c, magma_int_t ldc, float *xnorm,
424  magmaFloatComplex *dT, magma_int_t iter, magmaFloatComplex *work);
425 
426 void magma_clarfbx_gpu(
427  magma_int_t m, magma_int_t k, magmaFloatComplex *V, magma_int_t ldv,
428  magmaFloatComplex *dT, magma_int_t ldt, magmaFloatComplex *c,
429  magmaFloatComplex *dwork);
430 
431 void magma_clarfgtx_gpu(
432  magma_int_t n, magmaFloatComplex *dx0, magmaFloatComplex *dx,
433  magmaFloatComplex *dtau, float *dxnorm,
434  magmaFloatComplex *dA, magma_int_t it,
435  magmaFloatComplex *V, magma_int_t ldv, magmaFloatComplex *T, magma_int_t ldt,
436  magmaFloatComplex *dwork);
437 
439  magma_int_t k, float *xnorm, magmaFloatComplex *c);
440 
444  magmaFloat_ptr dxnorm);
445 
447  magma_int_t k, float tol, float *xnorm, float *xnorm2,
448  magmaFloatComplex *c, magma_int_t ldc, float *lsticc);
449 
451  magma_int_t m, magma_int_t num, magmaFloatComplex *da, magma_int_t ldda,
452  float *dxnorm, float *lsticc);
453 
454  /*
455  * Level 1 BLAS
456  */
457 void magmablas_cswap(
458  magma_int_t n,
461 
462 void magmablas_cswapblk(
463  magma_storev_t storev,
464  magma_int_t n,
467  magma_int_t i1, magma_int_t i2,
468  const magma_int_t *ipiv, magma_int_t inci,
469  magma_int_t offset );
470 
472  magma_int_t n, magma_int_t nb,
475 
476  /*
477  * Level 2 BLAS
478  */
479 void magmablas_cgemv(
481  magmaFloatComplex alpha,
484  magmaFloatComplex beta,
486 
487 #ifdef COMPLEX
489  magma_uplo_t uplo, magma_int_t n,
490  magmaFloatComplex alpha,
493  magmaFloatComplex beta,
495 #endif
496 
498  magma_uplo_t uplo, magma_int_t n,
499  magmaFloatComplex alpha,
502  magmaFloatComplex beta,
504  magmaFloatComplex_ptr dwork, magma_int_t lwork );
505 
507  magma_uplo_t uplo, magma_int_t n,
508  magmaFloatComplex alpha,
511  magmaFloatComplex beta,
513 
514  /*
515  * Level 3 BLAS
516  */
517 void magmablas_cgemm(
518  magma_trans_t transA, magma_trans_t transB,
520  magmaFloatComplex alpha,
523  magmaFloatComplex beta,
525 
528  magmaFloatComplex alpha,
529  const magmaFloatComplex *dA, magma_int_t lda,
530  const magmaFloatComplex *dB, magma_int_t ldb,
531  magmaFloatComplex beta,
532  magmaFloatComplex *dC, magma_int_t ldc );
533 
535  magma_trans_t transA, magma_trans_t transB,
537  magmaFloatComplex alpha,
540  magmaFloatComplex beta,
542 
544  magma_trans_t transA, magma_trans_t transB,
546  magmaFloatComplex alpha,
549  magmaFloatComplex beta,
551 
552 void magmablas_chemm(
553  magma_side_t side, magma_uplo_t uplo,
555  magmaFloatComplex alpha,
558  magmaFloatComplex beta,
560 
561 void magmablas_csymm(
562  magma_side_t side, magma_uplo_t uplo,
564  magmaFloatComplex alpha,
567  magmaFloatComplex beta,
569 
570 void magmablas_csyrk(
571  magma_uplo_t uplo, magma_trans_t trans,
573  magmaFloatComplex alpha,
575  magmaFloatComplex beta,
577 
578 void magmablas_cherk(
579  magma_uplo_t uplo, magma_trans_t trans,
581  float alpha,
583  float beta,
585 
586 void magmablas_csyr2k(
587  magma_uplo_t uplo, magma_trans_t trans,
589  magmaFloatComplex alpha,
592  magmaFloatComplex beta,
594 
595 void magmablas_cher2k(
596  magma_uplo_t uplo, magma_trans_t trans,
598  magmaFloatComplex alpha,
601  float beta,
603 
604 #ifndef COMPLEX
605 void magmablas_ctrsm(
606  magma_side_t side, magma_uplo_t uplo, magma_trans_t trans, magma_diag_t diag,
608  magmaFloatComplex alpha,
611 
612 void magmablas_ctrsm_work(
613  magma_side_t side, magma_uplo_t uplo, magma_trans_t trans, magma_diag_t diag,
615  magmaFloatComplex alpha,
618  int flag, magmaFloatComplex_ptr d_dinvA, magmaFloatComplex_ptr dx );
619 #endif
620 
621  /*
622  * Wrappers for platform independence.
623  * These wrap CUBLAS or AMD OpenCL BLAS functions.
624  */
625 
626 // ========================================
627 // copying vectors
628 // set copies host to device
629 // get copies device to host
630 // copy copies device to device
631 // (with CUDA unified addressing, copy can be between same or different devices)
632 // Add the function, file, and line for error-reporting purposes.
633 
634 #define magma_csetvector( n, hx_src, incx, dy_dst, incy ) \
635  magma_csetvector_internal( n, hx_src, incx, dy_dst, incy, __func__, __FILE__, __LINE__ )
636 
637 #define magma_cgetvector( n, dx_src, incx, hy_dst, incy ) \
638  magma_cgetvector_internal( n, dx_src, incx, hy_dst, incy, __func__, __FILE__, __LINE__ )
639 
640 #define magma_csetvector_async( n, hx_src, incx, dy_dst, incy, queue ) \
641  magma_csetvector_async_internal( n, hx_src, incx, dy_dst, incy, queue, __func__, __FILE__, __LINE__ )
642 
643 #define magma_cgetvector_async( n, dx_src, incx, hy_dst, incy, queue ) \
644  magma_cgetvector_async_internal( n, dx_src, incx, hy_dst, incy, queue, __func__, __FILE__, __LINE__ )
645 
646 #define magma_ccopyvector_async( n, dx_src, incx, dy_dst, incy, queue ) \
647  magma_ccopyvector_async_internal( n, dx_src, incx, dy_dst, incy, queue, __func__, __FILE__, __LINE__ )
648 
649 #define magma_ccopyvector_async( n, dx_src, incx, dy_dst, incy, queue ) \
650  magma_ccopyvector_async_internal( n, dx_src, incx, dy_dst, incy, queue, __func__, __FILE__, __LINE__ )
651 
653  magma_int_t n,
654  magmaFloatComplex const* hx_src, magma_int_t incx,
655  magmaFloatComplex_ptr dy_dst, magma_int_t incy,
656  const char* func, const char* file, int line );
657 
659  magma_int_t n,
661  magmaFloatComplex* hy_dst, magma_int_t incy,
662  const char* func, const char* file, int line );
663 
668  magmaFloatComplex_ptr dy_dst, magma_int_t incy,
669  const char* func, const char* file, int line );
670 
672  magma_int_t n,
673  magmaFloatComplex const* hx_src, magma_int_t incx,
674  magmaFloatComplex_ptr dy_dst, magma_int_t incy,
675  magma_queue_t queue,
676  const char* func, const char* file, int line );
677 
679  magma_int_t n,
681  magmaFloatComplex* hy_dst, magma_int_t incy,
682  magma_queue_t queue,
683  const char* func, const char* file, int line );
684 
689  magmaFloatComplex_ptr dy_dst, magma_int_t incy,
690  magma_queue_t queue,
691  const char* func, const char* file, int line );
692 
693 
694 // ========================================
695 // copying sub-matrices (contiguous columns)
696 // set copies host to device
697 // get copies device to host
698 // copy copies device to device
699 // (with CUDA unified addressing, copy can be between same or different devices)
700 // Add the function, file, and line for error-reporting purposes.
701 
702 #define magma_csetmatrix( m, n, hA_src, lda, dB_dst, lddb ) \
703  magma_csetmatrix_internal( m, n, hA_src, lda, dB_dst, lddb, __func__, __FILE__, __LINE__ )
704 
705 #define magma_cgetmatrix( m, n, dA_src, ldda, hB_dst, ldb ) \
706  magma_cgetmatrix_internal( m, n, dA_src, ldda, hB_dst, ldb, __func__, __FILE__, __LINE__ )
707 
708 #define magma_ccopymatrix( m, n, dA_src, ldda, dB_dst, lddb ) \
709  magma_ccopymatrix_internal( m, n, dA_src, ldda, dB_dst, lddb, __func__, __FILE__, __LINE__ )
710 
711 #define magma_csetmatrix_async( m, n, hA_src, lda, dB_dst, lddb, queue ) \
712  magma_csetmatrix_async_internal( m, n, hA_src, lda, dB_dst, lddb, queue, __func__, __FILE__, __LINE__ )
713 
714 #define magma_cgetmatrix_async( m, n, dA_src, ldda, hB_dst, ldb, queue ) \
715  magma_cgetmatrix_async_internal( m, n, dA_src, ldda, hB_dst, ldb, queue, __func__, __FILE__, __LINE__ )
716 
717 #define magma_ccopymatrix_async( m, n, dA_src, ldda, dB_dst, lddb, queue ) \
718  magma_ccopymatrix_async_internal( m, n, dA_src, ldda, dB_dst, lddb, queue, __func__, __FILE__, __LINE__ )
719 
722  magmaFloatComplex const* hA_src, magma_int_t ldha,
723  magmaFloatComplex_ptr dB_dst, magma_int_t lddb,
724  const char* func, const char* file, int line );
725 
729  magmaFloatComplex* hB_dst, magma_int_t ldhb,
730  const char* func, const char* file, int line );
731 
735  magmaFloatComplex_ptr dB_dst, magma_int_t lddb,
736  const char* func, const char* file, int line );
737 
740  magmaFloatComplex const* hA_src, magma_int_t ldha,
741  magmaFloatComplex_ptr dB_dst, magma_int_t lddb,
742  magma_queue_t queue,
743  const char* func, const char* file, int line );
744 
748  magmaFloatComplex* hB_dst, magma_int_t ldhb,
749  magma_queue_t queue,
750  const char* func, const char* file, int line );
751 
755  magmaFloatComplex_ptr dB_dst, magma_int_t lddb,
756  magma_queue_t queue,
757  const char* func, const char* file, int line );
758 
759 
760 // ========================================
761 // Level 1 BLAS
762 
763 // in cublas_v2, result returned through output argument
765  magma_int_t n,
767 
768 // in cublas_v2, result returned through output argument
770  magma_int_t n,
772 
773 // in cublas_v2, result returned through output argument
774 float magma_scasum(
775  magma_int_t n,
777 
778 void magma_caxpy(
779  magma_int_t n,
780  magmaFloatComplex alpha,
783 
784 void magma_ccopy(
785  magma_int_t n,
788 
789 // in cublas_v2, result returned through output argument
790 magmaFloatComplex
792  magma_int_t n,
795 
796 // in cublas_v2, result returned through output argument
797 #ifdef COMPLEX
798 magmaFloatComplex
800  magma_int_t n,
803 #endif
804 
805 // in cublas_v2, result returned through output argument
806 float magma_scnrm2(
807  magma_int_t n,
809 
810 void magma_crot(
811  magma_int_t n,
814  float dc, magmaFloatComplex ds );
815 
816 #ifdef COMPLEX
817 void magma_csrot(
818  magma_int_t n,
821  float dc, float ds );
822 #endif
823 
824 #ifdef REAL
825 void magma_crotm(
826  magma_int_t n,
827  magmaFloat_ptr dx, magma_int_t incx,
828  magmaFloat_ptr dy, magma_int_t incy,
829  magmaFloat_const_ptr param );
830 
831 void magma_crotmg(
834  magmaFloat_ptr param );
835 #endif
836 
837 void magma_cscal(
838  magma_int_t n,
839  magmaFloatComplex alpha,
841 
842 void magma_csscal(
843  magma_int_t n,
844  float alpha,
846 
847 void magma_cswap(
848  magma_int_t n,
851 
852 // ========================================
853 // Level 2 BLAS
854 
855 void magma_cgemv(
856  magma_trans_t transA,
858  magmaFloatComplex alpha,
861  magmaFloatComplex beta,
863 
864 void magma_cgerc(
866  magmaFloatComplex alpha,
870 
871 #ifdef COMPLEX
872 void magma_cgeru(
874  magmaFloatComplex alpha,
878 #endif
879 
880 void magma_chemv(
881  magma_uplo_t uplo,
882  magma_int_t n,
883  magmaFloatComplex alpha,
886  magmaFloatComplex beta,
888 
889 void magma_cher(
890  magma_uplo_t uplo,
891  magma_int_t n,
892  float alpha,
895 
896 void magma_cher2(
897  magma_uplo_t uplo,
898  magma_int_t n,
899  magmaFloatComplex alpha,
903 
904 void magma_ctrmv(
905  magma_uplo_t uplo, magma_trans_t trans, magma_diag_t diag,
906  magma_int_t n,
909 
910 void magma_ctrsv(
911  magma_uplo_t uplo, magma_trans_t trans, magma_diag_t diag,
912  magma_int_t n,
915 
916 // ========================================
917 // Level 3 BLAS
918 
919 void magma_cgemm(
920  magma_trans_t transA, magma_trans_t transB,
922  magmaFloatComplex alpha,
925  magmaFloatComplex beta,
927 
928 void magma_csymm(
929  magma_side_t side, magma_uplo_t uplo,
931  magmaFloatComplex alpha,
934  magmaFloatComplex beta,
936 
937 void magma_csyrk(
938  magma_uplo_t uplo, magma_trans_t trans,
940  magmaFloatComplex alpha,
942  magmaFloatComplex beta,
944 
945 void magma_csyr2k(
946  magma_uplo_t uplo, magma_trans_t trans,
948  magmaFloatComplex alpha,
951  magmaFloatComplex beta,
953 
954 #ifdef COMPLEX
955 void magma_chemm(
956  magma_side_t side, magma_uplo_t uplo,
958  magmaFloatComplex alpha,
961  magmaFloatComplex beta,
963 
964 void magma_cherk(
965  magma_uplo_t uplo, magma_trans_t trans,
967  float alpha,
969  float beta,
971 
972 void magma_cher2k(
973  magma_uplo_t uplo, magma_trans_t trans,
975  magmaFloatComplex alpha,
978  float beta,
980 #endif
981 
982 void magma_ctrmm(
983  magma_side_t side, magma_uplo_t uplo, magma_trans_t trans, magma_diag_t diag,
985  magmaFloatComplex alpha,
988 
989 void magma_ctrsm(
990  magma_side_t side, magma_uplo_t uplo, magma_trans_t trans, magma_diag_t diag,
992  magmaFloatComplex alpha,
995 
996 #ifdef __cplusplus
997 }
998 #endif
999 
1000 #undef COMPLEX
1001 
1002 #endif /* MAGMABLAS_C_H */
void magmablas_scnrm2_row_check_adjust(magma_int_t k, float tol, float *xnorm, float *xnorm2, magmaFloatComplex *c, magma_int_t ldc, float *lsticc)
float magmablas_clange(magma_norm_t norm, magma_int_t m, magma_int_t n, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloat_ptr dwork)
void magma_cgetvector_internal(magma_int_t n, magmaFloatComplex_const_ptr dx_src, magma_int_t incx, magmaFloatComplex *hy_dst, magma_int_t incy, const char *func, const char *file, int line)
void magma_chemm(magma_side_t side, magma_uplo_t uplo, magma_int_t m, magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloatComplex_const_ptr dB, magma_int_t lddb, magmaFloatComplex beta, magmaFloatComplex_ptr dC, magma_int_t lddc)
void magma_cher2(magma_uplo_t uplo, magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex_const_ptr dx, magma_int_t incx, magmaFloatComplex_const_ptr dy, magma_int_t incy, magmaFloatComplex_ptr dA, magma_int_t ldda)
magma_int_t magma_icamin(magma_int_t n, magmaFloatComplex_const_ptr dx, magma_int_t incx)
void magmablas_scnrm2_adjust(magma_int_t k, float *xnorm, magmaFloatComplex *c)
void magma_clarfgx_gpu(magma_int_t n, magmaFloatComplex *dx0, magmaFloatComplex *dx, magmaFloatComplex *dtau, float *dxnorm, magmaFloatComplex *ddx0, magma_int_t iter)
magma_int_t magmablas_chemv2(magma_uplo_t uplo, magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloatComplex_const_ptr dX, magma_int_t incx, magmaFloatComplex beta, magmaFloatComplex_ptr dY, magma_int_t incy, magmaFloatComplex_ptr dwork, magma_int_t lwork)
magma_err_t magma_ccopyvector_internal(magma_int_t m, magma_int_t n, magmaFloatComplex_const_ptr dx_src, magma_int_t incx, magmaFloatComplex_ptr dy_dst, magma_int_t incy, const char *func, const char *file, int line)
void magmablas_csymmetrize(magma_uplo_t uplo, magma_int_t m, magmaFloatComplex_ptr dA, magma_int_t ldda)
float magma_scasum(magma_int_t n, magmaFloatComplex_const_ptr dx, magma_int_t incx)
void magmablas_cher2k_mgpu_spec325(magma_uplo_t uplo, magma_trans_t trans, magma_int_t m, magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex_ptr dVIN[], magma_int_t lddv, magma_int_t voff, magmaFloatComplex_ptr dWIN[], magma_int_t lddw, magma_int_t woff, float beta, magmaFloatComplex_ptr dC[], magma_int_t lddc, magma_int_t offset, magmaFloatComplex_ptr dwork[], magma_int_t lndwork, magma_int_t ngpu, magma_int_t nb, magmaFloatComplex **harray[], magmaFloatComplex_ptr *darray[], magma_queue_t streams[][20], magma_int_t nstream, magma_event_t redevents[][MagmaMaxGPUs *MagmaMaxGPUs+10], magma_int_t nbevents)
char magma_diag_t
Definition: magma_types.h:379
void magma_csetmatrix_1D_col_bcyclic(magma_int_t m, magma_int_t n, const magmaFloatComplex *hA, magma_int_t lda, magmaFloatComplex_ptr dA[], magma_int_t ldda, magma_int_t ngpu, magma_int_t nb)
float * magmaFloat_ptr
Definition: magma_types.h:230
void czero_32x32_block(magmaFloatComplex_ptr dA, magma_int_t ldda)
float magma_scnrm2(magma_int_t n, magmaFloatComplex_const_ptr dx, magma_int_t incx)
magma_int_t magmablas_chemv_mgpu(magma_int_t num_gpus, magma_int_t k, char uplo, magma_int_t n, magma_int_t nb, magmaFloatComplex alpha, magmaFloatComplex **da, magma_int_t ldda, magma_int_t offset, magmaFloatComplex **dx, magma_int_t incx, magmaFloatComplex beta, magmaFloatComplex **dy, magma_int_t incy, magmaFloatComplex **dwork, magma_int_t ldwork, magmaFloatComplex *work, magmaFloatComplex *w, magma_queue_t stream[][10])
void magmablas_chemm_mgpu_com(magma_side_t side, magma_uplo_t uplo, magma_int_t m, magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex_ptr dA[], magma_int_t ldda, magma_int_t offset, magmaFloatComplex_ptr dB[], magma_int_t lddb, magmaFloatComplex beta, magmaFloatComplex_ptr dC[], magma_int_t lddc, magmaFloatComplex_ptr dwork[], magma_int_t lddwork, magmaFloatComplex *C, magma_int_t ldc, magmaFloatComplex *work[], magma_int_t ldwork, magma_int_t ngpu, magma_int_t nb, magma_queue_t streams[][20], magma_int_t nstream, magma_event_t redevents[][MagmaMaxGPUs *MagmaMaxGPUs+10], magma_int_t nbevents, magma_int_t gnode[MagmaMaxGPUs][MagmaMaxGPUs+2], magma_int_t nbcmplx)
Definition: chemm_mgpu.cpp:20
#define T(m)
Definition: zgeqrf_mc.cpp:14
magmaFloatComplex * magmaFloatComplex_ptr
Definition: magma_types.h:232
void magma_csyrk(magma_uplo_t uplo, magma_trans_t trans, magma_int_t n, magma_int_t k, magmaFloatComplex alpha, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloatComplex beta, magmaFloatComplex_ptr dC, magma_int_t lddc)
void magmablas_cgemm_fermi80(magma_trans_t transA, magma_trans_t transB, magma_int_t m, magma_int_t n, magma_int_t k, magmaFloatComplex alpha, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloatComplex_const_ptr dB, magma_int_t lddb, magmaFloatComplex beta, magmaFloatComplex_ptr dC, magma_int_t lddc)
int magma_int_t
Definition: magmablas.h:12
void magmablas_scnrm2_check(magma_int_t m, magma_int_t num, magmaFloatComplex *da, magma_int_t ldda, float *dxnorm, float *lsticc)
void magma_csetvector_async_internal(magma_int_t n, magmaFloatComplex const *hx_src, magma_int_t incx, magmaFloatComplex_ptr dy_dst, magma_int_t incy, magma_queue_t queue, const char *func, const char *file, int line)
void magma_clarfgtx_gpu(magma_int_t n, magmaFloatComplex *dx0, magmaFloatComplex *dx, magmaFloatComplex *dtau, float *dxnorm, magmaFloatComplex *dA, magma_int_t it, magmaFloatComplex *V, magma_int_t ldv, magmaFloatComplex *T, magma_int_t ldt, magmaFloatComplex *dwork)
#define C(i, j)
void magma_cgetvector_async_internal(magma_int_t n, magmaFloatComplex_const_ptr dx_src, magma_int_t incx, magmaFloatComplex *hy_dst, magma_int_t incy, magma_queue_t queue, const char *func, const char *file, int line)
void magmablas_cgeadd(magma_int_t m, magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloatComplex_ptr dB, magma_int_t lddb)
void magma_cgemm(magma_trans_t transA, magma_trans_t transB, magma_int_t m, magma_int_t n, magma_int_t k, magmaFloatComplex alpha, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloatComplex_const_ptr dB, magma_int_t lddb, magmaFloatComplex beta, magmaFloatComplex_ptr dC, magma_int_t lddc)
void magmablas_cher2k_mgpu_spec(magma_uplo_t uplo, magma_trans_t trans, magma_int_t n, magma_int_t k, magmaFloatComplex alpha, magmaFloatComplex_ptr dA[], magma_int_t lda, magma_int_t aoff, magmaFloatComplex_ptr dB[], magma_int_t ldb, magma_int_t boff, float beta, magmaFloatComplex_ptr dC[], magma_int_t ldc, magma_int_t offset, magma_int_t ngpu, magma_int_t nb, magma_queue_t streams[][20], magma_int_t nstream)
#define h_A(i, j)
#define dB(dev, i, j)
void magmablas_ctranspose2(magmaFloatComplex_ptr odata, magma_int_t ldo, magmaFloatComplex_const_ptr idata, magma_int_t ldi, magma_int_t m, magma_int_t n)
char magma_storev_t
Definition: magma_types.h:386
char magma_trans_t
Definition: magma_types.h:377
void magma_csetmatrix_1D_row_bcyclic(magma_int_t m, magma_int_t n, const magmaFloatComplex *hA, magma_int_t lda, magmaFloatComplex_ptr dA[], magma_int_t ldda, magma_int_t ngpu, magma_int_t nb)
void magma_ctrsm(magma_side_t side, magma_uplo_t uplo, magma_trans_t trans, magma_diag_t diag, magma_int_t m, magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloatComplex_ptr dB, magma_int_t lddb)
void magmablas_claset(magma_uplo_t uplo, magma_int_t m, magma_int_t n, magmaFloatComplex_ptr dA, magma_int_t ldda)
magma_int_t magmablas_chemv_sync(magma_int_t num_gpus, magma_int_t k, magma_int_t n, magmaFloatComplex *work, magmaFloatComplex *w, magma_queue_t stream[][10])
void magma_caxpy(magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex_const_ptr dx, magma_int_t incx, magmaFloatComplex_ptr dy, magma_int_t incy)
void magmablas_cgetmatrix_transpose_mgpu(magma_int_t ngpu, magma_queue_t stream[][2], magmaFloatComplex_ptr dAT[], magma_int_t ldda, magmaFloatComplex *hA, magma_int_t lda, magmaFloatComplex_ptr dB[], magma_int_t lddb, magma_int_t m, magma_int_t n, magma_int_t nb)
void magmablas_cgemm(magma_trans_t transA, magma_trans_t transB, magma_int_t m, magma_int_t n, magma_int_t k, magmaFloatComplex alpha, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloatComplex_const_ptr dB, magma_int_t lddb, magmaFloatComplex beta, magmaFloatComplex_ptr dC, magma_int_t lddc)
char magma_norm_t
Definition: magma_types.h:381
void magma_cherk(magma_uplo_t uplo, magma_trans_t trans, magma_int_t n, magma_int_t k, float alpha, magmaFloatComplex_const_ptr dA, magma_int_t ldda, float beta, magmaFloatComplex_ptr dC, magma_int_t lddc)
magmaFloatComplex magma_cdotc(magma_int_t n, magmaFloatComplex_const_ptr dx, magma_int_t incx, magmaFloatComplex_const_ptr dy, magma_int_t incy)
#define dX(i, j)
#define dwork(dev, i, j)
void magma_cgetmatrix_1D_col_bcyclic(magma_int_t m, magma_int_t n, magmaFloatComplex_ptr dA[], magma_int_t ldda, magmaFloatComplex *hA, magma_int_t lda, magma_int_t ngpu, magma_int_t nb)
void magmablas_cswapblk(magma_storev_t storev, magma_int_t n, magmaFloatComplex_ptr dA, magma_int_t ldda, magmaFloatComplex_ptr dB, magma_int_t lddb, magma_int_t i1, magma_int_t i2, const magma_int_t *ipiv, magma_int_t inci, magma_int_t offset)
char magma_side_t
Definition: magma_types.h:380
void magmablas_claswp(magma_int_t n, magmaFloatComplex_ptr dAT, magma_int_t ldda, magma_int_t i1, magma_int_t i2, const magma_int_t *ipiv, magma_int_t inci)
void magma_ccopy(magma_int_t n, magmaFloatComplex_const_ptr dx, magma_int_t incx, magmaFloatComplex_ptr dy, magma_int_t incy)
magma_int_t magma_icamax(magma_int_t n, magmaFloatComplex_const_ptr dx, magma_int_t incx)
void magma_crot(magma_int_t n, magmaFloatComplex_ptr dx, magma_int_t incx, magmaFloatComplex_ptr dy, magma_int_t incy, float dc, magmaFloatComplex ds)
void magmablas_claswp2(magma_int_t n, magmaFloatComplex_ptr dAT, magma_int_t ldda, magma_int_t i1, magma_int_t i2, const magma_int_t *d_ipiv)
void magmablas_cgeadd_batched(magma_int_t m, magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex_const_ptr const *dAarray, magma_int_t ldda, magmaFloatComplex_ptr *dBarray, magma_int_t lddb, magma_int_t batchCount)
float magmablas_clanhe(magma_norm_t norm, magma_uplo_t uplo, magma_int_t n, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloat_ptr dwork)
void magma_cgemv(magma_trans_t transA, magma_int_t m, magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloatComplex_const_ptr dx, magma_int_t incx, magmaFloatComplex beta, magmaFloatComplex_ptr dy, magma_int_t incy)
void magma_csetmatrix_internal(magma_int_t m, magma_int_t n, magmaFloatComplex const *hA_src, magma_int_t ldha, magmaFloatComplex_ptr dB_dst, magma_int_t lddb, const char *func, const char *file, int line)
void magma_cher(magma_uplo_t uplo, magma_int_t n, float alpha, magmaFloatComplex_const_ptr dx, magma_int_t incx, magmaFloatComplex_ptr dA, magma_int_t ldda)
#define dAT(i, j)
void magma_clarfbx_gpu(magma_int_t m, magma_int_t k, magmaFloatComplex *V, magma_int_t ldv, magmaFloatComplex *dT, magma_int_t ldt, magmaFloatComplex *c, magmaFloatComplex *dwork)
void magma_cgetmatrix_1D_row_bcyclic(magma_int_t m, magma_int_t n, magmaFloatComplex_ptr dA[], magma_int_t ldda, magmaFloatComplex *hA, magma_int_t lda, magma_int_t ngpu, magma_int_t nb)
void magma_csrot(magma_int_t n, magmaFloatComplex_ptr dx, magma_int_t incx, magmaFloatComplex_ptr dy, magma_int_t incy, float dc, float ds)
#define dY(d, i, j)
void magmablas_cher2k_mgpu2(magma_uplo_t uplo, magma_trans_t trans, magma_int_t n, magma_int_t k, magmaFloatComplex alpha, magmaFloatComplex_ptr dA[], magma_int_t ldda, magma_int_t aoff, magmaFloatComplex_ptr dB[], magma_int_t lddb, magma_int_t boff, float beta, magmaFloatComplex_ptr dC[], magma_int_t lddc, magma_int_t offset, magma_int_t ngpu, magma_int_t nb, magma_queue_t streams[][20], magma_int_t nstream)
void magmablas_chemm_1gpu_old(magma_side_t side, magma_uplo_t uplo, magma_int_t m, magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex_ptr dA[], magma_int_t ldda, magma_int_t offset, magmaFloatComplex_ptr dB[], magma_int_t lddb, magmaFloatComplex beta, magmaFloatComplex_ptr dC[], magma_int_t lddc, magmaFloatComplex *C, magma_int_t ldc, magma_int_t ngpu, magma_int_t nb, magma_queue_t streams[][20], magma_int_t nstream)
float const * magmaFloat_const_ptr
Definition: magma_types.h:237
void magmablas_cher2k_mgpu_spec324(magma_uplo_t uplo, magma_trans_t trans, magma_int_t m, magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex_ptr dVIN[], magma_int_t lddv, magma_int_t voff, magmaFloatComplex_ptr dWIN[], magma_int_t lddw, magma_int_t woff, float beta, magmaFloatComplex_ptr dC[], magma_int_t lddc, magma_int_t offset, magmaFloatComplex_ptr dwork[], magma_int_t lndwork, magma_int_t ngpu, magma_int_t nb, magma_queue_t streams[][20], magma_int_t nstream, magma_event_t redevents[][MagmaMaxGPUs *MagmaMaxGPUs+10], magma_int_t nbevents)
void magmablas_cpermute_long3(magmaFloatComplex_ptr dAT, magma_int_t ldda, const magma_int_t *ipiv, magma_int_t nb, magma_int_t ind)
#define MagmaMaxGPUs
Definition: magma_types.h:255
void magmablas_cgemv(magma_trans_t trans, magma_int_t m, magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloatComplex_const_ptr dx, magma_int_t incx, magmaFloatComplex beta, magmaFloatComplex_ptr dy, magma_int_t incy)
void magmablas_scnrm2_cols(magma_int_t m, magma_int_t n, magmaFloatComplex_ptr dA, magma_int_t ldda, magmaFloat_ptr dxnorm)
void magmablas_csymm(magma_side_t side, magma_uplo_t uplo, magma_int_t m, magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloatComplex_const_ptr dB, magma_int_t lddb, magmaFloatComplex beta, magmaFloatComplex_ptr dC, magma_int_t lddc)
void magmablas_cherk(magma_uplo_t uplo, magma_trans_t trans, magma_int_t n, magma_int_t k, float alpha, magmaFloatComplex_const_ptr dA, magma_int_t ldda, float beta, magmaFloatComplex_ptr dC, magma_int_t lddc)
void magma_ccopymatrix_internal(magma_int_t m, magma_int_t n, magmaFloatComplex_const_ptr dA_src, magma_int_t ldda, magmaFloatComplex_ptr dB_dst, magma_int_t lddb, const char *func, const char *file, int line)
void magmablas_clacpy(magma_uplo_t uplo, magma_int_t m, magma_int_t n, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloatComplex_ptr dB, magma_int_t lddb)
magma_int_t magma_chtodhe(magma_int_t num_gpus, char *uplo, magma_int_t n, magma_int_t nb, magmaFloatComplex *a, magma_int_t lda, magmaFloatComplex **dwork, magma_int_t ldda, magma_queue_t stream[][10], magma_int_t *info)
void magmablas_claset_identity(magma_int_t m, magma_int_t n, magmaFloatComplex_ptr dA, magma_int_t ldda)
void magmablas_ctranspose2s(magmaFloatComplex_ptr odata, magma_int_t ldo, magmaFloatComplex_const_ptr idata, magma_int_t ldi, magma_int_t m, magma_int_t n, magma_queue_t stream)
void magmablas_cher2k(magma_uplo_t uplo, magma_trans_t trans, magma_int_t n, magma_int_t k, magmaFloatComplex alpha, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloatComplex_const_ptr dB, magma_int_t lddb, float beta, magmaFloatComplex_ptr dC, magma_int_t lddc)
void magma_csetmatrix_async_internal(magma_int_t m, magma_int_t n, magmaFloatComplex const *hA_src, magma_int_t ldha, magmaFloatComplex_ptr dB_dst, magma_int_t lddb, magma_queue_t queue, const char *func, const char *file, int line)
void magmablas_ctranspose(magmaFloatComplex_ptr odata, magma_int_t ldo, magmaFloatComplex_const_ptr idata, magma_int_t ldi, magma_int_t m, magma_int_t n)
magma_int_t magmablas_csymv(magma_uplo_t uplo, magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloatComplex_const_ptr dx, magma_int_t incx, magmaFloatComplex beta, magmaFloatComplex_ptr dy, magma_int_t incy)
magma_int_t magmablas_chemv_mgpu_offset(char uplo, magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex **A, magma_int_t lda, magmaFloatComplex **X, magma_int_t incx, magmaFloatComplex beta, magmaFloatComplex **Y, magma_int_t incy, magmaFloatComplex **work, magma_int_t lwork, magma_int_t num_gpus, magma_int_t nb, magma_int_t offset, magma_queue_t stream[][10])
void magma_cgeru(magma_int_t m, magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex_const_ptr dx, magma_int_t incx, magmaFloatComplex_const_ptr dy, magma_int_t incy, magmaFloatComplex_ptr dA, magma_int_t ldda)
void magmablas_clascl(char type, magma_int_t kl, magma_int_t ku, float cfrom, float cto, magma_int_t m, magma_int_t n, magmaFloatComplex_ptr dA, magma_int_t ldda, magma_int_t *info)
void magmablas_chemm_1gpu(magma_side_t side, magma_uplo_t uplo, magma_int_t m, magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex_ptr dA[], magma_int_t ldda, magma_int_t offset, magmaFloatComplex_ptr dB[], magma_int_t lddb, magmaFloatComplex beta, magmaFloatComplex_ptr dC[], magma_int_t lddc, magmaFloatComplex *C, magma_int_t ldc, magma_int_t ngpu, magma_int_t nb, magma_queue_t streams[][20], magma_int_t nstream)
#define Y(i, j)
void magmablas_cgetmatrix_transpose(magma_int_t m, magma_int_t n, magmaFloatComplex_const_ptr dAT, magma_int_t ldda, magmaFloatComplex *hA, magma_int_t lda, magmaFloatComplex_ptr dwork, magma_int_t lddwork, magma_int_t nb)
void magmablas_csyr2k(magma_uplo_t uplo, magma_trans_t trans, magma_int_t n, magma_int_t k, magmaFloatComplex alpha, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloatComplex_const_ptr dB, magma_int_t lddb, magmaFloatComplex beta, magmaFloatComplex_ptr dC, magma_int_t lddc)
void czero_nbxnb_block(magma_int_t nb, magmaFloatComplex_ptr dA, magma_int_t ldda)
void magmablas_chemm(magma_side_t side, magma_uplo_t uplo, magma_int_t m, magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloatComplex_const_ptr dB, magma_int_t lddb, magmaFloatComplex beta, magmaFloatComplex_ptr dC, magma_int_t lddc)
#define A(i, j)
Definition: cprint.cpp:16
float magmablas_clansy(magma_norm_t norm, magma_uplo_t uplo, magma_int_t n, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloat_ptr dwork)
void magma_ctrsv(magma_uplo_t uplo, magma_trans_t trans, magma_diag_t diag, magma_int_t n, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloatComplex_ptr dx, magma_int_t incx)
void magmablas_ctranspose_inplace(magma_int_t n, magmaFloatComplex_ptr dA, magma_int_t ldda)
magma_int_t magma_chtodpo(magma_int_t num_gpus, char *uplo, magma_int_t m, magma_int_t n, magma_int_t off_i, magma_int_t off_j, magma_int_t nb, magmaFloatComplex *h_A, magma_int_t lda, magmaFloatComplex *d_lA[], magma_int_t ldda, magma_queue_t stream[][3], magma_int_t *info)
void magma_ctrmv(magma_uplo_t uplo, magma_trans_t trans, magma_diag_t diag, magma_int_t n, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloatComplex_ptr dx, magma_int_t incx)
void magmablas_clacpy_batched(magma_uplo_t uplo, magma_int_t m, magma_int_t n, magmaFloatComplex_const_ptr const *dAarray, magma_int_t ldda, magmaFloatComplex_ptr *dBarray, magma_int_t lddb, magma_int_t batchCount)
void magmablas_cgemm_fermi64(magma_trans_t transA, magma_trans_t transB, magma_int_t m, magma_int_t n, magma_int_t k, magmaFloatComplex alpha, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloatComplex_const_ptr dB, magma_int_t lddb, magmaFloatComplex beta, magmaFloatComplex_ptr dC, magma_int_t lddc)
char magma_uplo_t
Definition: magma_types.h:378
#define dC(dev, i, j)
magma_err_t magma_ccopyvector_async_internal(magma_int_t m, magma_int_t n, magmaFloatComplex_const_ptr dx_src, magma_int_t incx, magmaFloatComplex_ptr dy_dst, magma_int_t incy, magma_queue_t queue, const char *func, const char *file, int line)
magma_int_t magmablas_chemv(magma_uplo_t uplo, magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloatComplex_const_ptr dx, magma_int_t incx, magmaFloatComplex beta, magmaFloatComplex_ptr dy, magma_int_t incy)
void magma_cgetmatrix_internal(magma_int_t m, magma_int_t n, magmaFloatComplex_const_ptr dA_src, magma_int_t ldda, magmaFloatComplex *hB_dst, magma_int_t ldhb, const char *func, const char *file, int line)
void magma_ccopymatrix_async_internal(magma_int_t m, magma_int_t n, magmaFloatComplex_const_ptr dA_src, magma_int_t ldda, magmaFloatComplex_ptr dB_dst, magma_int_t lddb, magma_queue_t queue, const char *func, const char *file, int line)
void magmablas_cswapdblk(magma_int_t n, magma_int_t nb, magmaFloatComplex_ptr dA, magma_int_t ldda, magma_int_t inca, magmaFloatComplex_ptr dB, magma_int_t lddb, magma_int_t incb)
void magmablas_cgemm_reduce(magma_int_t m, magma_int_t n, magma_int_t k, magmaFloatComplex alpha, const magmaFloatComplex *dA, magma_int_t lda, const magmaFloatComplex *dB, magma_int_t ldb, magmaFloatComplex beta, magmaFloatComplex *dC, magma_int_t ldc)
magma_int_t magma_cdtohpo(magma_int_t num_gpus, char *uplo, magma_int_t m, magma_int_t n, magma_int_t off_i, magma_int_t off_j, magma_int_t nb, magma_int_t NB, magmaFloatComplex *a, magma_int_t lda, magmaFloatComplex *work[], magma_int_t ldda, magma_queue_t stream[][3], magma_int_t *info)
int magma_err_t
Definition: magma_types.h:23
void magma_cscal(magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex_ptr dx, magma_int_t incx)
#define magmablas_ctrsm
#define dx(d, j)
void magma_cswap(magma_int_t n, magmaFloatComplex_ptr dx, magma_int_t incx, magmaFloatComplex_ptr dy, magma_int_t incy)
void magmablas_claswpx(magma_int_t n, magmaFloatComplex_ptr dAT, magma_int_t ldx, magma_int_t ldy, magma_int_t i1, magma_int_t i2, const magma_int_t *ipiv, magma_int_t inci)
void magma_cher2k_mgpu(magma_int_t num_gpus, char uplo, char trans, magma_int_t nb, magma_int_t n, magma_int_t k, magmaFloatComplex alpha, magmaFloatComplex **db, magma_int_t lddb, magma_int_t boffset, float beta, magmaFloatComplex **dc, magma_int_t lddc, magma_int_t offset, magma_int_t num_streams, magma_queue_t streams[][10])
magmaFloatComplex const * magmaFloatComplex_const_ptr
Definition: magma_types.h:239
void magma_csyr2k(magma_uplo_t uplo, magma_trans_t trans, magma_int_t n, magma_int_t k, magmaFloatComplex alpha, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloatComplex_const_ptr dB, magma_int_t lddb, magmaFloatComplex beta, magmaFloatComplex_ptr dC, magma_int_t lddc)
#define dT(m)
void magmablas_chemm_mgpu_spec33(magma_side_t side, magma_uplo_t uplo, magma_int_t m, magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex_ptr dA[], magma_int_t ldda, magma_int_t offset, magmaFloatComplex_ptr dB[], magma_int_t lddb, magmaFloatComplex beta, magmaFloatComplex_ptr dC[], magma_int_t lddc, magmaFloatComplex_ptr dVIN[], magma_int_t lddv, magma_int_t voffst, magmaFloatComplex_ptr dwork[], magma_int_t lddwork, magmaFloatComplex *C, magma_int_t ldc, magmaFloatComplex *work[], magma_int_t ldwork, magma_int_t ngpu, magma_int_t nb, magma_queue_t streams[][20], magma_int_t nstream, magma_event_t redevents[][MagmaMaxGPUs *MagmaMaxGPUs+10], magma_int_t nbevents, magma_int_t gnode[MagmaMaxGPUs][MagmaMaxGPUs+2], magma_int_t nbcmplx)
void magmablas_csetmatrix_transpose_mgpu(magma_int_t ngpu, magma_queue_t stream[][2], const magmaFloatComplex *hA, magma_int_t lda, magmaFloatComplex_ptr dAT[], magma_int_t ldda, magmaFloatComplex_ptr dB[], magma_int_t lddb, magma_int_t m, magma_int_t n, magma_int_t nb)
void magma_cgerc(magma_int_t m, magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex_const_ptr dx, magma_int_t incx, magmaFloatComplex_const_ptr dy, magma_int_t incy, magmaFloatComplex_ptr dA, magma_int_t ldda)
void magma_ctrmm(magma_side_t side, magma_uplo_t uplo, magma_trans_t trans, magma_diag_t diag, magma_int_t m, magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloatComplex_ptr dB, magma_int_t lddb)
magma_int_t magmablas_chemv_mgpu_32_offset(char uplo, magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex **A, magma_int_t lda, magmaFloatComplex **X, magma_int_t incx, magmaFloatComplex beta, magmaFloatComplex **Y, magma_int_t incy, magmaFloatComplex **work, magma_int_t lwork, magma_int_t num_gpus, magma_int_t nb, magma_int_t offset, magma_queue_t stream[][10])
void magma_csscal(magma_int_t n, float alpha, magmaFloatComplex_ptr dx, magma_int_t incx)
void magma_chemv(magma_uplo_t uplo, magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloatComplex_const_ptr dx, magma_int_t incx, magmaFloatComplex beta, magmaFloatComplex_ptr dy, magma_int_t incy)
void magma_csymm(magma_side_t side, magma_uplo_t uplo, magma_int_t m, magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloatComplex_const_ptr dB, magma_int_t lddb, magmaFloatComplex beta, magmaFloatComplex_ptr dC, magma_int_t lddc)
float cpu_gpu_cdiff(magma_int_t m, magma_int_t n, const magmaFloatComplex *hA, magma_int_t lda, magmaFloatComplex_const_ptr dA, magma_int_t ldda)
void magma_cgetmatrix_async_internal(magma_int_t m, magma_int_t n, magmaFloatComplex_const_ptr dA_src, magma_int_t ldda, magmaFloatComplex *hB_dst, magma_int_t ldhb, magma_queue_t queue, const char *func, const char *file, int line)
void magmablas_cswap(magma_int_t n, magmaFloatComplex_ptr dA, magma_int_t ldda, magmaFloatComplex_ptr dB, magma_int_t lddb)
void magma_csetvector_internal(magma_int_t n, magmaFloatComplex const *hx_src, magma_int_t incx, magmaFloatComplex_ptr dy_dst, magma_int_t incy, const char *func, const char *file, int line)
magmaFloatComplex magma_cdotu(magma_int_t n, magmaFloatComplex_const_ptr dx, magma_int_t incx, magmaFloatComplex_const_ptr dy, magma_int_t incy)
void magma_clarfx_gpu(magma_int_t m, magma_int_t n, magmaFloatComplex *v, magmaFloatComplex *tau, magmaFloatComplex *c, magma_int_t ldc, float *xnorm, magmaFloatComplex *dT, magma_int_t iter, magmaFloatComplex *work)
void magma_cher2k(magma_uplo_t uplo, magma_trans_t trans, magma_int_t n, magma_int_t k, magmaFloatComplex alpha, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloatComplex_const_ptr dB, magma_int_t lddb, float beta, magmaFloatComplex_ptr dC, magma_int_t lddc)
void magmablas_csyrk(magma_uplo_t uplo, magma_trans_t trans, magma_int_t n, magma_int_t k, magmaFloatComplex alpha, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloatComplex beta, magmaFloatComplex_ptr dC, magma_int_t lddc)
#define V(m)
void magmablas_cpermute_long2(magma_int_t n, magmaFloatComplex_ptr dAT, magma_int_t ldda, magma_int_t *ipiv, magma_int_t nb, magma_int_t ind)
void magmablas_chemm_mgpu(magma_side_t side, magma_uplo_t uplo, magma_int_t m, magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex_ptr dA[], magma_int_t ldda, magma_int_t offset, magmaFloatComplex_ptr dB[], magma_int_t lddb, magmaFloatComplex beta, magmaFloatComplex_ptr dC[], magma_int_t lddc, magmaFloatComplex_ptr dwork[], magma_int_t lddwork, magmaFloatComplex *C, magma_int_t ldc, magmaFloatComplex *work[], magma_int_t ldwork, magma_int_t ngpu, magma_int_t nb, magma_queue_t streams[][20], magma_int_t nstream, magma_event_t redevents[][20], magma_int_t nbevents)
#define dA(dev, i, j)
void magmablas_chemm_mgpu_spec(magma_side_t side, magma_uplo_t uplo, magma_int_t m, magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex_ptr dA[], magma_int_t ldda, magma_int_t offset, magmaFloatComplex_ptr dB[], magma_int_t lddb, magmaFloatComplex beta, magmaFloatComplex_ptr dC[], magma_int_t lddc, magmaFloatComplex_ptr dwork[], magma_int_t lddwork, magmaFloatComplex *C, magma_int_t ldc, magmaFloatComplex *work[], magma_int_t ldwork, magma_int_t ngpu, magma_int_t nb, magma_queue_t streams[][20], magma_int_t nstream, magma_event_t redevents[][MagmaMaxGPUs *MagmaMaxGPUs+10], magma_int_t nbevents, magma_int_t gnode[MagmaMaxGPUs][MagmaMaxGPUs+2], magma_int_t nbcmplx)
void magmablas_csetmatrix_transpose(magma_int_t m, magma_int_t n, const magmaFloatComplex *hA, magma_int_t lda, magmaFloatComplex_ptr dAT, magma_int_t ldda, magmaFloatComplex_ptr dwork, magma_int_t lddwork, magma_int_t nb)
void magmablas_csymmetrize_tiles(magma_uplo_t uplo, magma_int_t m, magmaFloatComplex_ptr dA, magma_int_t ldda, magma_int_t ntile, magma_int_t mstride, magma_int_t nstride)