PLASMA  2.4.5
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
core_zher2k.c
Go to the documentation of this file.
1 
17 #include "common.h"
18 
19 #undef REAL
20 #define COMPLEX
21 #ifdef COMPLEX
22 /***************************************************************************/
27 #if defined(PLASMA_HAVE_WEAK)
28 #pragma weak CORE_zher2k = PCORE_zher2k
29 #define CORE_zher2k PCORE_zher2k
30 #endif
31 void CORE_zher2k(int uplo, int trans,
32  int N, int K,
33  PLASMA_Complex64_t alpha, PLASMA_Complex64_t *A, int LDA,
34  PLASMA_Complex64_t *B, int LDB,
35  double beta, PLASMA_Complex64_t *C, int LDC)
36 {
39  (CBLAS_UPLO)uplo, (CBLAS_TRANSPOSE)trans,
40  N, K,
41  CBLAS_SADDR(alpha), A, LDA, B, LDB,
42  beta, C, LDC);
43 }
44 
45 /***************************************************************************/
48 void QUARK_CORE_zher2k(Quark *quark, Quark_Task_Flags *task_flags,
49  int uplo, int trans,
50  int n, int k, int nb,
51  PLASMA_Complex64_t alpha, PLASMA_Complex64_t *A, int lda,
52  PLASMA_Complex64_t *B, int ldb,
53  double beta, PLASMA_Complex64_t *C, int ldc)
54 {
56  QUARK_Insert_Task(quark, CORE_zher2k_quark, task_flags,
57  sizeof(PLASMA_enum), &uplo, VALUE,
58  sizeof(PLASMA_enum), &trans, VALUE,
59  sizeof(int), &n, VALUE,
60  sizeof(int), &k, VALUE,
61  sizeof(PLASMA_Complex64_t), &alpha, VALUE,
62  sizeof(PLASMA_Complex64_t)*nb*nb, A, INPUT,
63  sizeof(int), &lda, VALUE,
64  sizeof(PLASMA_Complex64_t)*nb*nb, B, INPUT,
65  sizeof(int), &ldb, VALUE,
66  sizeof(double), &beta, VALUE,
67  sizeof(PLASMA_Complex64_t)*nb*nb, C, INOUT,
68  sizeof(int), &ldc, VALUE,
69  0);
70 }
71 
72 /***************************************************************************/
75 #if defined(PLASMA_HAVE_WEAK)
76 #pragma weak CORE_zher2k_quark = PCORE_zher2k_quark
77 #define CORE_zher2k_quark PCORE_zher2k_quark
78 #endif
80 {
81  int uplo;
82  int trans;
83  int n;
84  int k;
85  PLASMA_Complex64_t alpha;
87  int lda;
89  int ldb;
90  double beta;
92  int ldc;
93 
94  quark_unpack_args_12(quark, uplo, trans, n, k, alpha, A, lda, B, ldb, beta, C, ldc);
95  CORE_zher2k(uplo, trans, n, k, alpha, A, lda, B, ldb, beta, C, ldc);
96 }
97 #endif