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_ctrsm.c
Go to the documentation of this file.
1 
17 #include "common.h"
18 
19 /***************************************************************************/
24 #if defined(PLASMA_HAVE_WEAK)
25 #pragma weak CORE_ctrsm = PCORE_ctrsm
26 #define CORE_ctrsm PCORE_ctrsm
27 #endif
28 void CORE_ctrsm(int side, int uplo,
29  int transA, int diag,
30  int M, int N,
31  PLASMA_Complex32_t alpha, PLASMA_Complex32_t *A, int LDA,
32  PLASMA_Complex32_t *B, int LDB)
33 {
36  (CBLAS_SIDE)side, (CBLAS_UPLO)uplo,
37  (CBLAS_TRANSPOSE)transA, (CBLAS_DIAG)diag,
38  M, N,
39  CBLAS_SADDR(alpha), A, LDA,
40  B, LDB);
41 }
42 
43 /***************************************************************************/
46 void QUARK_CORE_ctrsm(Quark *quark, Quark_Task_Flags *task_flags,
47  int side, int uplo, int transA, int diag,
48  int m, int n, int nb,
49  PLASMA_Complex32_t alpha, PLASMA_Complex32_t *A, int lda,
50  PLASMA_Complex32_t *B, int ldb)
51 {
53  QUARK_Insert_Task(quark, CORE_ctrsm_quark, task_flags,
54  sizeof(PLASMA_enum), &side, VALUE,
55  sizeof(PLASMA_enum), &uplo, VALUE,
56  sizeof(PLASMA_enum), &transA, VALUE,
57  sizeof(PLASMA_enum), &diag, VALUE,
58  sizeof(int), &m, VALUE,
59  sizeof(int), &n, VALUE,
60  sizeof(PLASMA_Complex32_t), &alpha, VALUE,
61  sizeof(PLASMA_Complex32_t)*nb*nb, A, INPUT,
62  sizeof(int), &lda, VALUE,
63  sizeof(PLASMA_Complex32_t)*nb*nb, B, INOUT | LOCALITY,
64  sizeof(int), &ldb, VALUE,
65  0);
66 }
67 
68 /***************************************************************************/
71 #if defined(PLASMA_HAVE_WEAK)
72 #pragma weak CORE_ctrsm_quark = PCORE_ctrsm_quark
73 #define CORE_ctrsm_quark PCORE_ctrsm_quark
74 #endif
75 void CORE_ctrsm_quark(Quark *quark)
76 {
77  int side;
78  int uplo;
79  int transA;
80  int diag;
81  int m;
82  int n;
83  PLASMA_Complex32_t alpha;
85  int lda;
87  int ldb;
88 
89  quark_unpack_args_11(quark, side, uplo, transA, diag, m, n, alpha, A, lda, B, ldb);
92  (CBLAS_SIDE)side, (CBLAS_UPLO)uplo,
93  (CBLAS_TRANSPOSE)transA, (CBLAS_DIAG)diag,
94  m, n,
95  CBLAS_SADDR(alpha), A, lda,
96  B, ldb);
97 }