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_zpotrf.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_zpotrf = PCORE_zpotrf
27 #define CORE_zpotrf PCORE_zpotrf
28 #endif
29 void CORE_zpotrf(int uplo, int N, PLASMA_Complex64_t *A, int LDA, int *INFO)
30 {
31  *INFO = LAPACKE_zpotrf_work(
32  LAPACK_COL_MAJOR,
33  lapack_const(uplo),
34  N, A, LDA );
35 }
36 
37 /***************************************************************************/
40 void QUARK_CORE_zpotrf(Quark *quark, Quark_Task_Flags *task_flags,
41  int uplo, int n, int nb,
42  PLASMA_Complex64_t *A, int lda,
43  PLASMA_sequence *sequence, PLASMA_request *request,
44  int iinfo)
45 {
47  QUARK_Insert_Task(quark, CORE_zpotrf_quark, task_flags,
48  sizeof(PLASMA_enum), &uplo, VALUE,
49  sizeof(int), &n, VALUE,
50  sizeof(PLASMA_Complex64_t)*nb*nb, A, INOUT,
51  sizeof(int), &lda, VALUE,
52  sizeof(PLASMA_sequence*), &sequence, VALUE,
53  sizeof(PLASMA_request*), &request, VALUE,
54  sizeof(int), &iinfo, VALUE,
55  0);
56 }
57 
58 /***************************************************************************/
61 #if defined(PLASMA_HAVE_WEAK)
62 #pragma weak CORE_zpotrf_quark = PCORE_zpotrf_quark
63 #define CORE_zpotrf_quark PCORE_zpotrf_quark
64 #endif
66 {
67  int uplo;
68  int n;
70  int lda;
71  PLASMA_sequence *sequence;
72  PLASMA_request *request;
73  int iinfo;
74 
75  int info;
76 
77  quark_unpack_args_7(quark, uplo, n, A, lda, sequence, request, iinfo);
78  info = LAPACKE_zpotrf_work(
79  LAPACK_COL_MAJOR,
80  lapack_const(uplo),
81  n, A, lda);
82  if (sequence->status == PLASMA_SUCCESS && info != 0)
83  plasma_sequence_flush(quark, sequence, request, iinfo+info);
84 }