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_zsyrk.c
Go to the documentation of this file.
1 
17 #include "common.h"
18 
19 /***************************************************************************/
24 #if defined(PLASMA_HAVE_WEAK)
25 #pragma weak CORE_zsyrk = PCORE_zsyrk
26 #define CORE_zsyrk PCORE_zsyrk
27 #endif
28 void CORE_zsyrk(int uplo, int trans,
29  int N, int K,
30  PLASMA_Complex64_t alpha, PLASMA_Complex64_t *A, int LDA,
31  PLASMA_Complex64_t beta, PLASMA_Complex64_t *C, int LDC)
32 {
35  (CBLAS_UPLO)uplo, (CBLAS_TRANSPOSE)trans,
36  N, K,
37  CBLAS_SADDR(alpha), A, LDA,
38  CBLAS_SADDR(beta), C, LDC);
39 }
40 
41 /***************************************************************************/
44 void QUARK_CORE_zsyrk(Quark *quark, Quark_Task_Flags *task_flags,
45  int uplo, int trans,
46  int n, int k, int nb,
47  PLASMA_Complex64_t alpha, PLASMA_Complex64_t *A, int lda,
48  PLASMA_Complex64_t beta, PLASMA_Complex64_t *C, int ldc)
49 {
51  QUARK_Insert_Task(quark, CORE_zsyrk_quark, task_flags,
52  sizeof(PLASMA_enum), &uplo, VALUE,
53  sizeof(PLASMA_enum), &trans, VALUE,
54  sizeof(int), &n, VALUE,
55  sizeof(int), &k, VALUE,
56  sizeof(PLASMA_Complex64_t), &alpha, VALUE,
57  sizeof(PLASMA_Complex64_t)*nb*nb, A, INPUT,
58  sizeof(int), &lda, VALUE,
59  sizeof(PLASMA_Complex64_t), &beta, VALUE,
60  sizeof(PLASMA_Complex64_t)*nb*nb, C, INOUT,
61  sizeof(int), &ldc, VALUE,
62  0);
63 }
64 
65 /***************************************************************************/
68 #if defined(PLASMA_HAVE_WEAK)
69 #pragma weak CORE_zsyrk_quark = PCORE_zsyrk_quark
70 #define CORE_zsyrk_quark PCORE_zsyrk_quark
71 #endif
72 void CORE_zsyrk_quark(Quark *quark)
73 {
74  int uplo;
75  int trans;
76  int n;
77  int k;
78  PLASMA_Complex64_t alpha;
80  int lda;
81  PLASMA_Complex64_t beta;
83  int ldc;
84 
85  quark_unpack_args_10(quark, uplo, trans, n, k, alpha, A, lda, beta, C, ldc);
88  (CBLAS_UPLO)uplo, (CBLAS_TRANSPOSE)trans,
89  n, k,
90  CBLAS_SADDR(alpha), A, lda,
91  CBLAS_SADDR(beta), C, ldc);
92 }