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_zherk.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_zherk = PCORE_zherk
29 #define CORE_zherk PCORE_zherk
30 #endif
31 void CORE_zherk(int uplo, int trans,
32  int N, int K,
33  double alpha, PLASMA_Complex64_t *A, int LDA,
34  double beta, PLASMA_Complex64_t *C, int LDC)
35 {
38  (CBLAS_UPLO)uplo, (CBLAS_TRANSPOSE)trans,
39  N, K,
40  alpha, A, LDA,
41  beta, C, LDC);
42 }
43 
44 /***************************************************************************/
47 void QUARK_CORE_zherk(Quark *quark, Quark_Task_Flags *task_flags,
48  int uplo, int trans,
49  int n, int k, int nb,
50  double alpha, PLASMA_Complex64_t *A, int lda,
51  double beta, PLASMA_Complex64_t *C, int ldc)
52 {
54  QUARK_Insert_Task(quark, CORE_zherk_quark, task_flags,
55  sizeof(PLASMA_enum), &uplo, VALUE,
56  sizeof(PLASMA_enum), &trans, VALUE,
57  sizeof(int), &n, VALUE,
58  sizeof(int), &k, VALUE,
59  sizeof(double), &alpha, VALUE,
60  sizeof(PLASMA_Complex64_t)*nb*nb, A, INPUT,
61  sizeof(int), &lda, VALUE,
62  sizeof(double), &beta, VALUE,
63  sizeof(PLASMA_Complex64_t)*nb*nb, C, INOUT,
64  sizeof(int), &ldc, VALUE,
65  0);
66 }
67 
68 /***************************************************************************/
71 #if defined(PLASMA_HAVE_WEAK)
72 #pragma weak CORE_zherk_quark = PCORE_zherk_quark
73 #define CORE_zherk_quark PCORE_zherk_quark
74 #endif
75 void CORE_zherk_quark(Quark *quark)
76 {
77  int uplo;
78  int trans;
79  int n;
80  int k;
81  double alpha;
83  int lda;
84  double beta;
86  int ldc;
87 
88  quark_unpack_args_10(quark, uplo, trans, n, k, alpha, A, lda, beta, C, ldc);
91  (CBLAS_UPLO)uplo, (CBLAS_TRANSPOSE)trans,
92  n, k,
93  alpha, A, lda,
94  beta, C, ldc);
95 }
96 #endif