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_dlag2s.c
Go to the documentation of this file.
1 
15 #include <lapacke.h>
16 #include "common.h"
17 
18 /***************************************************************************/
23 #if defined(PLASMA_HAVE_WEAK)
24 #pragma weak CORE_dlag2s = PCORE_dlag2s
25 #define CORE_dlag2s PCORE_dlag2s
26 #endif
27 void CORE_dlag2s(int m, int n,
28  double *A, int lda,
29  float *B, int ldb, int *info)
30 {
31  *info = LAPACKE_dlag2s_work(LAPACK_COL_MAJOR, m, n, A, lda, B, ldb);
32 }
33 /***************************************************************************/
36 void QUARK_CORE_dlag2s(Quark *quark, Quark_Task_Flags *task_flags,
37  int m, int n, int nb,
38  double *A, int lda,
39  float *B, int ldb,
40  PLASMA_sequence *sequence, PLASMA_request *request)
41 {
43  QUARK_Insert_Task(quark, CORE_dlag2s_quark, task_flags,
44  sizeof(int), &m, VALUE,
45  sizeof(int), &n, VALUE,
46  sizeof(double)*nb*nb, A, INPUT,
47  sizeof(int), &lda, VALUE,
48  sizeof(float)*nb*nb, B, OUTPUT,
49  sizeof(int), &ldb, VALUE,
50  sizeof(PLASMA_sequence*), &sequence, VALUE,
51  sizeof(PLASMA_request*), &request, VALUE,
52  0);
53 }
54 
55 
56 /***************************************************************************/
59 #if defined(PLASMA_HAVE_WEAK)
60 #pragma weak CORE_dlag2s_quark = PCORE_dlag2s_quark
61 #define CORE_dlag2s_quark PCORE_dlag2s_quark
62 #endif
64 {
65  int m;
66  int n;
67  double *A;
68  int lda;
69  float *B;
70  int ldb;
71  PLASMA_sequence *sequence;
72  PLASMA_request *request;
73  int info;
74 
75  quark_unpack_args_8(quark, m, n, A, lda, B, ldb, sequence, request);
76  info = LAPACKE_dlag2s_work(LAPACK_COL_MAJOR, m, n, A, lda, B, ldb);
77  if (sequence->status == PLASMA_SUCCESS && info != 0)
78  plasma_sequence_flush(quark, sequence, request, info);
79 }
80 
81 /***************************************************************************/
86 #if defined(PLASMA_HAVE_WEAK)
87 #pragma weak CORE_slag2d = PCORE_slag2d
88 #define CORE_slag2d PCORE_slag2d
89 #endif
90 void CORE_slag2d(int m, int n,
91  float *A, int lda,
92  double *B, int ldb)
93 {
94  LAPACKE_slag2d_work(LAPACK_COL_MAJOR, m, n, A, lda, B, ldb);
95 }
96 
97 /***************************************************************************/
100 void QUARK_CORE_slag2d(Quark *quark, Quark_Task_Flags *task_flags,
101  int m, int n, int nb,
102  float *A, int lda,
103  double *B, int ldb)
104 {
105  QUARK_Insert_Task(quark, CORE_slag2d_quark, task_flags,
106  sizeof(int), &m, VALUE,
107  sizeof(int), &n, VALUE,
108  sizeof(float)*nb*nb, A, INPUT,
109  sizeof(int), &lda, VALUE,
110  sizeof(double)*nb*nb, B, INOUT,
111  sizeof(int), &ldb, VALUE,
112  0);
113 }
114 
115 /***************************************************************************/
118 #if defined(PLASMA_HAVE_WEAK)
119 #pragma weak CORE_slag2d_quark = PCORE_slag2d_quark
120 #define CORE_slag2d_quark PCORE_slag2d_quark
121 #endif
123 {
124  int m;
125  int n;
126  float *A;
127  int lda;
128  double *B;
129  int ldb;
130 
131  quark_unpack_args_6(quark, m, n, A, lda, B, ldb);
132  LAPACKE_slag2d_work(LAPACK_COL_MAJOR, m, n, A, lda, B, ldb);
133 }
134