PLASMA  2.4.6
 All Data Structures Functions Groups
compute_z.h
1 
17 /***************************************************************************/
20 #define plasma_zdesc_alloc( descA, mb, nb, lm, ln, i, j, m, n, free) \
21  descA = plasma_desc_init( \
22  PlasmaComplexDouble, (mb), (nb), ((mb)*(nb)), \
23  (m), (n), (i), (j), (m), (n)); \
24  if ( plasma_desc_mat_alloc( &(descA) ) ) { \
25  plasma_error( __func__, "plasma_shared_alloc() failed"); \
26  {free;}; \
27  return PLASMA_ERR_OUT_OF_RESOURCES; \
28  }
29 
30 #define plasma_zooplap2tile( descA, A, mb, nb, lm, ln, i, j, m, n, seq, req, free) \
31  descA = plasma_desc_init( \
32  PlasmaComplexDouble, (mb), (nb), ((mb)*(nb)), \
33  (lm), (ln), (i), (j), (m), (n)); \
34  if ( plasma_desc_mat_alloc( &(descA) ) ) { \
35  plasma_error( __func__, "plasma_shared_alloc() failed"); \
36  {free;}; \
37  return PLASMA_ERR_OUT_OF_RESOURCES; \
38  } \
39  plasma_parallel_call_5( \
40  plasma_pzlapack_to_tile, \
41  PLASMA_Complex64_t*, (A), \
42  int, (lm), \
43  PLASMA_desc, (descA), \
44  PLASMA_sequence*, (seq), \
45  PLASMA_request*, (req));
46 
47 #define plasma_ziplap2tile( descA, A, mb, nb, lm, ln, i, j, m, n, seq, req) \
48  descA = plasma_desc_init( \
49  PlasmaComplexDouble, (mb), (nb), ((mb)*(nb)), \
50  (lm), (ln), (i), (j), (m), (n)); \
51  descA.mat = A; \
52  PLASMA_zgecfi_Async((lm), (ln), (A), PlasmaCM, (mb), (nb), \
53  PlasmaCCRB, (mb), (nb), (seq), (req));
54 
55 
56 #define plasma_zooptile2lap( descA, A, mb, nb, lm, ln, seq, req) \
57  plasma_parallel_call_5(plasma_pztile_to_lapack, \
58  PLASMA_desc, (descA), \
59  PLASMA_Complex64_t*, (A), \
60  int, (lm), \
61  PLASMA_sequence*, (seq), \
62  PLASMA_request*, (req));
63 
64 #define plasma_ziptile2lap( descA, A, mb, nb, lm, ln, seq, req) \
65  PLASMA_zgecfi_Async((lm), (ln), (A), PlasmaCCRB, (mb), (nb), \
66  PlasmaCM, (mb), (nb), (seq), (req));
67 
68 /***************************************************************************/
71 void plasma_pzgeadd (plasma_context_t *plasma);
72 void plasma_pzgelqf (plasma_context_t *plasma);
73 void plasma_pzgemm (plasma_context_t *plasma);
74 void plasma_pzgeqrf (plasma_context_t *plasma);
75 void plasma_pzgerbb (plasma_context_t *plasma);
76 void plasma_pzgetmi2(plasma_context_t *plasma);
77 void plasma_pzgetrf_incpiv(plasma_context_t *plasma);
78 #ifdef COMPLEX
79 void plasma_pzhemm (plasma_context_t *plasma);
80 void plasma_pzherk (plasma_context_t *plasma);
81 void plasma_pzher2k (plasma_context_t *plasma);
82 #endif
83 void plasma_pzlacpy (plasma_context_t *plasma);
84 void plasma_pzlag2c (plasma_context_t *plasma);
85 void plasma_pzlange (plasma_context_t *plasma);
86 #ifdef COMPLEX
87 void plasma_pzlanhe (plasma_context_t *plasma);
88 #endif
89 void plasma_pzlansy (plasma_context_t *plasma);
90 void plasma_pzpack (plasma_context_t *plasma);
91 void plasma_pzplghe (plasma_context_t *plasma);
92 void plasma_pzplgsy (plasma_context_t *plasma);
93 void plasma_pzplrnt (plasma_context_t *plasma);
94 void plasma_pzpotrf (plasma_context_t *plasma);
95 void plasma_pzshift (plasma_context_t *plasma);
96 void plasma_pzsymm (plasma_context_t *plasma);
97 void plasma_pzsyrk (plasma_context_t *plasma);
98 void plasma_pzsyr2k (plasma_context_t *plasma);
99 void plasma_pztrmm (plasma_context_t *plasma);
100 void plasma_pztrsm (plasma_context_t *plasma);
101 void plasma_pztrsmpl(plasma_context_t *plasma);
102 void plasma_pztrsmrv(plasma_context_t *plasma);
103 void plasma_pzunglq (plasma_context_t *plasma);
104 void plasma_pzungqr (plasma_context_t *plasma);
105 void plasma_pzungqrrh(plasma_context_t *plasma);
106 void plasma_pzunmlq (plasma_context_t *plasma);
107 void plasma_pzunmqr (plasma_context_t *plasma);
108 void plasma_pzunpack(plasma_context_t *plasma);
109 void plasma_pzhetrd_hb2st(plasma_context_t *plasma);
110 void plasma_pzunmqr_blgtrd(plasma_context_t *plasma);
111 void plasma_pzlarft_blgtrd(plasma_context_t *plasma);
112 
113 /***************************************************************************/
116 int plasma_zshift(plasma_context_t *plasma, int m, int n, PLASMA_Complex64_t *A,
117  int nprob, int me, int ne, int L,
118  PLASMA_sequence *sequence, PLASMA_request *request);
119 
120 /***************************************************************************/
123 void plasma_pzgeadd_quark(PLASMA_Complex64_t alpha, PLASMA_desc A, PLASMA_desc B, PLASMA_sequence *sequence, PLASMA_request *request);
124 void plasma_pzbarrier_tl2pnl_quark(PLASMA_desc A, PLASMA_sequence *sequence, PLASMA_request *request);
125 void plasma_pzbarrier_pnl2tl_quark(PLASMA_desc A, PLASMA_sequence *sequence, PLASMA_request *request);
126 void plasma_pzbarrier_tl2row_quark(PLASMA_desc A, PLASMA_sequence *sequence, PLASMA_request *request);
127 void plasma_pzbarrier_row2tl_quark(PLASMA_desc A, PLASMA_sequence *sequence, PLASMA_request *request);
128 void plasma_pzgebrd_tb2bd_quark(PLASMA_enum uplo, PLASMA_desc A, double *D, double *E, PLASMA_desc T, PLASMA_sequence *sequence, PLASMA_request *request);
129 void plasma_pzgebrd_ge2tb_quark(PLASMA_desc A, PLASMA_desc T, PLASMA_sequence *sequence, PLASMA_request *request);
130 void plasma_pzgelqf_quark(PLASMA_desc A, PLASMA_desc T, PLASMA_sequence *sequence, PLASMA_request *request);
131 void plasma_pzgelqfrh_quark(PLASMA_desc A, PLASMA_desc T, int BS, PLASMA_sequence *sequence, PLASMA_request *request);
132 void plasma_pzgemm_quark(PLASMA_enum transA, PLASMA_enum transB, PLASMA_Complex64_t alpha, PLASMA_desc A, PLASMA_desc B, PLASMA_Complex64_t beta, PLASMA_desc C, PLASMA_sequence *sequence, PLASMA_request *request);
133 void plasma_pzgeqrf_quark(PLASMA_desc A, PLASMA_desc T, PLASMA_sequence *sequence, PLASMA_request *request);
134 void plasma_pzgeqrfrh_quark(PLASMA_desc A, PLASMA_desc T, int BS, PLASMA_sequence *sequence, PLASMA_request *request);
135 void plasma_pzgerbh_quark(PLASMA_desc A, PLASMA_desc T, PLASMA_sequence *sequence, PLASMA_request *request);
136 void plasma_pzgerbbrh_quark(PLASMA_desc A, PLASMA_desc T, PLASMA_sequence *sequence, PLASMA_request *request);
137 void plasma_pzgetmi2_quark(PLASMA_enum idep, PLASMA_enum odep, PLASMA_enum storev, int m, int n, int mb, int nb, PLASMA_Complex64_t *A, PLASMA_sequence *sequence, PLASMA_request *request);
138 void plasma_pzgetrf_incpiv_quark(PLASMA_desc A, PLASMA_desc L, int *IPIV, PLASMA_sequence *sequence, PLASMA_request *request);
139 void plasma_pzgetrf_reclap_quark(PLASMA_desc A, int *IPIV, PLASMA_sequence *sequence, PLASMA_request *request);
140 void plasma_pzgetrf_rectil_quark(PLASMA_desc A, int *IPIV, PLASMA_sequence *sequence, PLASMA_request *request);
141 void plasma_pzhbcpy_t2bl_quark(PLASMA_enum uplo, PLASMA_desc A, PLASMA_Complex64_t *AB, int LDAB, PLASMA_sequence *sequence, PLASMA_request *request);
142 void plasma_pzhegst_quark(PLASMA_enum itype, PLASMA_enum uplo, PLASMA_desc A, PLASMA_desc B, PLASMA_sequence *sequence, PLASMA_request *request);
143 #ifdef COMPLEX
144 void plasma_pzhemm_quark(PLASMA_enum side, PLASMA_enum uplo, PLASMA_Complex64_t alpha, PLASMA_desc A, PLASMA_desc B, PLASMA_Complex64_t beta, PLASMA_desc C, PLASMA_sequence *sequence, PLASMA_request *request);
145 void plasma_pzherk_quark(PLASMA_enum uplo, PLASMA_enum trans, double alpha, PLASMA_desc A, double beta, PLASMA_desc C, PLASMA_sequence *sequence, PLASMA_request *request);
146 void plasma_pzher2k_quark(PLASMA_enum uplo, PLASMA_enum trans, PLASMA_Complex64_t alpha, PLASMA_desc A, PLASMA_desc B, double beta, PLASMA_desc C, PLASMA_sequence *sequence, PLASMA_request *request);
147 #endif
148 void plasma_pzhetrd_he2hb_quark(PLASMA_enum uplo, PLASMA_desc A, PLASMA_desc T, PLASMA_sequence *sequence, PLASMA_request *request);
149 void plasma_pzlacpy_quark(PLASMA_enum uplo, PLASMA_desc A, PLASMA_desc B, PLASMA_sequence *sequence, PLASMA_request *request);
150 void plasma_pzlag2c_quark(PLASMA_desc A, PLASMA_desc SB, PLASMA_sequence *sequence, PLASMA_request *request);
151 void plasma_pzlange_quark(PLASMA_enum norm, PLASMA_desc A, double *work, double *result, PLASMA_sequence *sequence, PLASMA_request *request);
152 #ifdef COMPLEX
153 void plasma_pzlanhe_quark(PLASMA_enum norm, PLASMA_enum uplo, PLASMA_desc A, double *work, double *result, PLASMA_sequence *sequence, PLASMA_request *request);
154 #endif
155 void plasma_pzlansy_quark(PLASMA_enum norm, PLASMA_enum uplo, PLASMA_desc A, double *work, double *result, PLASMA_sequence *sequence, PLASMA_request *request);
156 void plasma_pzlaset_quark( PLASMA_enum uplo, PLASMA_Complex64_t alpha, PLASMA_Complex64_t beta, PLASMA_desc A, PLASMA_sequence *sequence, PLASMA_request *request);
157 void plasma_pzlaset2_quark(PLASMA_enum uplo, PLASMA_Complex64_t alpha, PLASMA_desc A, PLASMA_sequence *sequence, PLASMA_request *request);
158 void plasma_pzlaswp_quark(PLASMA_desc B, int *IPIV, int inc, PLASMA_sequence *sequence, PLASMA_request *request);
159 void plasma_pzlaswpc_quark(PLASMA_desc B, int *IPIV, int inc, PLASMA_sequence *sequence, PLASMA_request *request);
160 void plasma_pzlauum_quark(PLASMA_enum uplo, PLASMA_desc A, PLASMA_sequence *sequence, PLASMA_request *request);
161 void plasma_pzplghe_quark(double bump, PLASMA_desc A, unsigned long long int seed, PLASMA_sequence *sequence, PLASMA_request *request);
162 void plasma_pzplgsy_quark(PLASMA_Complex64_t bump, PLASMA_desc A, unsigned long long int seed, PLASMA_sequence *sequence, PLASMA_request *request );
163 void plasma_pzplrnt_quark(PLASMA_desc A, unsigned long long int seed, PLASMA_sequence *sequence, PLASMA_request *request );
164 void plasma_pzpotrf_quark(PLASMA_enum uplo, PLASMA_desc A, PLASMA_sequence *sequence, PLASMA_request *request);
165 void plasma_pzshift_quark(int, int, int, PLASMA_Complex64_t *, int *, int, int, int, PLASMA_sequence*, PLASMA_request*);
166 void plasma_pzsymm_quark(PLASMA_enum side, PLASMA_enum uplo, PLASMA_Complex64_t alpha, PLASMA_desc A, PLASMA_desc B, PLASMA_Complex64_t beta, PLASMA_desc C, PLASMA_sequence *sequence, PLASMA_request *request);
167 void plasma_pzsyrk_quark(PLASMA_enum uplo, PLASMA_enum trans, PLASMA_Complex64_t alpha, PLASMA_desc A, PLASMA_Complex64_t beta, PLASMA_desc C, PLASMA_sequence *sequence, PLASMA_request *request);
168 void plasma_pzsyr2k_quark(PLASMA_enum uplo, PLASMA_enum trans, PLASMA_Complex64_t alpha, PLASMA_desc A, PLASMA_desc B, PLASMA_Complex64_t beta, PLASMA_desc C, PLASMA_sequence *sequence, PLASMA_request *request);
169 void plasma_pztrmm_quark(PLASMA_enum side, PLASMA_enum uplo, PLASMA_enum transA, PLASMA_enum diag, PLASMA_Complex64_t alpha, PLASMA_desc A, PLASMA_desc B, PLASMA_sequence *sequence, PLASMA_request *request);
170 void plasma_pztrsm_quark(PLASMA_enum side, PLASMA_enum uplo, PLASMA_enum transA, PLASMA_enum diag, PLASMA_Complex64_t alpha, PLASMA_desc A, PLASMA_desc B, PLASMA_sequence *sequence, PLASMA_request *request);
171 void plasma_pztrsmpl_quark(PLASMA_desc A, PLASMA_desc B, PLASMA_desc L, int *IPIV, PLASMA_sequence *sequence, PLASMA_request *request);
172 void plasma_pztrsmrv_quark(PLASMA_enum side, PLASMA_enum uplo, PLASMA_enum transA, PLASMA_enum diag, PLASMA_Complex64_t alpha, PLASMA_desc A, PLASMA_desc W, PLASMA_sequence *sequence, PLASMA_request *request);
173 void plasma_pztrtri_quark(PLASMA_enum uplo, PLASMA_enum diag, PLASMA_desc A, PLASMA_sequence *sequence, PLASMA_request *request);
174 void plasma_pzungbr_quark(PLASMA_enum side, PLASMA_desc A, PLASMA_desc O, PLASMA_desc T, PLASMA_sequence *sequence, PLASMA_request *request);
175 void plasma_pzungbrrh_quark(PLASMA_enum side, PLASMA_desc A, PLASMA_desc O, PLASMA_desc T, PLASMA_sequence *sequence, PLASMA_request *request);
176 void plasma_pzungqr_quark(PLASMA_desc A, PLASMA_desc Q, PLASMA_desc T, PLASMA_sequence *sequence, PLASMA_request *request);
177 void plasma_pzungqrrh_quark(PLASMA_desc A, PLASMA_desc Q, PLASMA_desc T, int BS, PLASMA_sequence *sequence, PLASMA_request *request);
178 void plasma_pzunglq_quark(PLASMA_desc A, PLASMA_desc Q, PLASMA_desc T, PLASMA_sequence *sequence, PLASMA_request *request);
179 void plasma_pzunglqrh_quark(PLASMA_desc A, PLASMA_desc Q, PLASMA_desc T, int BS, PLASMA_sequence *sequence, PLASMA_request *request);
180 void plasma_pzungtr_quark(PLASMA_enum uplo, PLASMA_desc A, PLASMA_desc Q, PLASMA_desc T, PLASMA_sequence *sequence, PLASMA_request *request);
181 void plasma_pzunmqr_quark(PLASMA_enum side, PLASMA_enum trans, PLASMA_desc A, PLASMA_desc B, PLASMA_desc T, PLASMA_sequence *sequence, PLASMA_request *request);
182 void plasma_pzunmqrrh_quark(PLASMA_enum side, PLASMA_enum trans, PLASMA_desc A, PLASMA_desc B, PLASMA_desc T, int BS, PLASMA_sequence *sequence, PLASMA_request *request);
183 void plasma_pzunmlq_quark(PLASMA_enum side, PLASMA_enum trans, PLASMA_desc A, PLASMA_desc B, PLASMA_desc T, PLASMA_sequence *sequence, PLASMA_request *request);
184 void plasma_pzunmlqrh_quark(PLASMA_enum side, PLASMA_enum trans, PLASMA_desc A, PLASMA_desc B, PLASMA_desc T, int BS, PLASMA_sequence *sequence, PLASMA_request *request);
185