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_dlacpy.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_dlacpy = PCORE_dlacpy
27 #define CORE_dlacpy PCORE_dlacpy
28 #endif
29 void CORE_dlacpy(PLASMA_enum uplo, int M, int N,
30  double *A, int LDA,
31  double *B, int LDB)
32 {
33  LAPACKE_dlacpy_work(
34  LAPACK_COL_MAJOR,
35  lapack_const(uplo),
36  M, N, A, LDA, B, LDB);
37 }
38 
39 /***************************************************************************/
42 void QUARK_CORE_dlacpy(Quark *quark, Quark_Task_Flags *task_flags,
43  PLASMA_enum uplo, int m, int n, int nb,
44  double *A, int lda,
45  double *B, int ldb)
46 {
48  QUARK_Insert_Task(quark, CORE_dlacpy_quark, task_flags,
49  sizeof(PLASMA_enum), &uplo, VALUE,
50  sizeof(int), &m, VALUE,
51  sizeof(int), &n, VALUE,
52  sizeof(double)*nb*nb, A, INPUT,
53  sizeof(int), &lda, VALUE,
54  sizeof(double)*nb*nb, B, OUTPUT,
55  sizeof(int), &ldb, VALUE,
56  0);
57 }
58 
59 /***************************************************************************/
62 #if defined(PLASMA_HAVE_WEAK)
63 #pragma weak CORE_dlacpy_quark = PCORE_dlacpy_quark
64 #define CORE_dlacpy_quark PCORE_dlacpy_quark
65 #endif
67 {
69  int M;
70  int N;
71  double *A;
72  int LDA;
73  double *B;
74  int LDB;
75 
76  quark_unpack_args_7(quark, uplo, M, N, A, LDA, B, LDB);
77  LAPACKE_dlacpy_work(
78  LAPACK_COL_MAJOR,
79  lapack_const(uplo),
80  M, N, A, LDA, B, LDB);
81 }
82