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_dlansy.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_dlansy = PCORE_dlansy
27 #define CORE_dlansy PCORE_dlansy
28 #endif
29 void CORE_dlansy(int norm, int uplo, int N,
30  double *A, int LDA,
31  double *work, double *normA)
32 {
33  *normA = LAPACKE_dlansy_work(
34  LAPACK_COL_MAJOR,
35  lapack_const(norm), lapack_const(uplo),
36  N, A, LDA, work);
37 }
38 
39 /***************************************************************************/
42 void QUARK_CORE_dlansy(Quark *quark, Quark_Task_Flags *task_flags,
43  int norm, int uplo, int N,
44  double *A, int LDA, int szeA,
45  int szeW, double *result)
46 {
47  szeW = max(1, szeW);
49  QUARK_Insert_Task(quark, CORE_dlansy_quark, task_flags,
50  sizeof(PLASMA_enum), &norm, VALUE,
51  sizeof(PLASMA_enum), &uplo, VALUE,
52  sizeof(int), &N, VALUE,
53  sizeof(double)*szeA, A, INPUT,
54  sizeof(int), &LDA, VALUE,
55  sizeof(double)*szeW, NULL, SCRATCH,
56  sizeof(double), result, OUTPUT,
57  0);
58 }
59 
60 /***************************************************************************/
63 #if defined(PLASMA_HAVE_WEAK)
64 #pragma weak CORE_dlansy_quark = PCORE_dlansy_quark
65 #define CORE_dlansy_quark PCORE_dlansy_quark
66 #endif
68 {
69  double *normA;
70  int norm;
71  int uplo;
72  int N;
73  double *A;
74  int LDA;
75  double *work;
76 
77  quark_unpack_args_7(quark, normA, norm, uplo, N, A, LDA, work);
78  *normA = LAPACKE_dlansy_work(
79  LAPACK_COL_MAJOR,
80  lapack_const(norm), lapack_const(uplo),
81  N, A, LDA, work);
82 }
83 
84 /***************************************************************************/
87 void QUARK_CORE_dlansy_f1(Quark *quark, Quark_Task_Flags *task_flags,
89  double *A, int LDA, int szeA,
90  int szeW, double *result,
91  double *fake, int szeF)
92 {
93  szeW = max(1, szeW);
95  QUARK_Insert_Task(quark, CORE_dlansy_f1_quark, task_flags,
96  sizeof(PLASMA_enum), &norm, VALUE,
97  sizeof(PLASMA_enum), &uplo, VALUE,
98  sizeof(int), &N, VALUE,
99  sizeof(double)*szeA, A, INPUT,
100  sizeof(int), &LDA, VALUE,
101  sizeof(double)*szeW, NULL, SCRATCH,
102  sizeof(double), result, OUTPUT,
103  sizeof(double)*szeF, fake, OUTPUT | GATHERV,
104  0);
105 }
106 
107 /***************************************************************************/
110 #if defined(PLASMA_HAVE_WEAK)
111 #pragma weak CORE_dlansy_f1_quark = PCORE_dlansy_f1_quark
112 #define CORE_dlansy_f1_quark PCORE_dlansy_f1_quark
113 #endif
115 {
116  double *normA;
117  int norm;
118  int uplo;
119  int N;
120  double *A;
121  int LDA;
122  double *work;
123  double *fake;
124 
125  quark_unpack_args_8(quark, norm, uplo, N, A, LDA, work, normA, fake);
126  *normA = LAPACKE_dlansy_work(
127  LAPACK_COL_MAJOR,
128  lapack_const(norm),
129  lapack_const(uplo),
130  N, A, LDA, work);
131 }