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_clacpy.c
Go to the documentation of this file.
1 
17 #include <lapacke.h>
18 #include "common.h"
19 
20 /***************************************************************************/
25 #if defined(PLASMA_HAVE_WEAK)
26 #pragma weak CORE_clacpy = PCORE_clacpy
27 #define CORE_clacpy PCORE_clacpy
28 #endif
29 void CORE_clacpy(PLASMA_enum uplo, int M, int N,
30  PLASMA_Complex32_t *A, int LDA,
31  PLASMA_Complex32_t *B, int LDB)
32 {
33  LAPACKE_clacpy_work(
34  LAPACK_COL_MAJOR,
35  lapack_const(uplo),
36  M, N, A, LDA, B, LDB);
37 }
38 
39 /***************************************************************************/
42 void QUARK_CORE_clacpy(Quark *quark, Quark_Task_Flags *task_flags,
43  PLASMA_enum uplo, int m, int n, int nb,
44  PLASMA_Complex32_t *A, int lda,
45  PLASMA_Complex32_t *B, int ldb)
46 {
48  QUARK_Insert_Task(quark, CORE_clacpy_quark, task_flags,
49  sizeof(PLASMA_enum), &uplo, VALUE,
50  sizeof(int), &m, VALUE,
51  sizeof(int), &n, VALUE,
52  sizeof(PLASMA_Complex32_t)*nb*nb, A, INPUT,
53  sizeof(int), &lda, VALUE,
54  sizeof(PLASMA_Complex32_t)*nb*nb, B, OUTPUT,
55  sizeof(int), &ldb, VALUE,
56  0);
57 }
58 
59 /***************************************************************************/
62 #if defined(PLASMA_HAVE_WEAK)
63 #pragma weak CORE_clacpy_quark = PCORE_clacpy_quark
64 #define CORE_clacpy_quark PCORE_clacpy_quark
65 #endif
67 {
69  int M;
70  int N;
72  int LDA;
74  int LDB;
75 
76  quark_unpack_args_7(quark, uplo, M, N, A, LDA, B, LDB);
77  LAPACKE_clacpy_work(
78  LAPACK_COL_MAJOR,
79  lapack_const(uplo),
80  M, N, A, LDA, B, LDB);
81 }
82