PLASMA
2.4.5
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
Main Page
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
compute_c.h
Go to the documentation of this file.
1
17
/***************************************************************************/
20
#define plasma_cdesc_alloc( descA, mb, nb, lm, ln, i, j, m, n, free) \
21
descA = plasma_desc_init( \
22
PlasmaComplexFloat, (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_cooplap2tile( descA, A, mb, nb, lm, ln, i, j, m, n, free) \
31
descA = plasma_desc_init( \
32
PlasmaComplexFloat, (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_pclapack_to_tile, \
41
PLASMA_Complex32_t*, (A), \
42
int, (lm), \
43
PLASMA_desc, (descA), \
44
PLASMA_sequence*, sequence, \
45
PLASMA_request*, &request);
46
47
#define plasma_ciplap2tile( descA, A, mb, nb, lm, ln, i, j, m, n) \
48
descA = plasma_desc_init( \
49
PlasmaComplexFloat, (mb), (nb), ((mb)*(nb)), \
50
(lm), (ln), (i), (j), (m), (n)); \
51
descA.mat = A; \
52
PLASMA_cgecfi_Async((lm), (ln), (A), PlasmaCM, (mb), (nb), \
53
PlasmaCCRB, (mb), (nb), sequence, &request);
54
55
56
57
#define plasma_cooptile2lap( descA, A, mb, nb, lm, ln) \
58
plasma_parallel_call_5(plasma_pctile_to_lapack, \
59
PLASMA_desc, (descA), \
60
PLASMA_Complex32_t*, (A), \
61
int, (lm), \
62
PLASMA_sequence*, sequence, \
63
PLASMA_request*, &request);
64
65
#define plasma_ciptile2lap( descA, A, mb, nb, lm, ln) \
66
PLASMA_cgecfi_Async((lm), (ln), (A), PlasmaCCRB, (mb), (nb), \
67
PlasmaCM, (mb), (nb), sequence, &request);
68
69
/***************************************************************************/
72
void
plasma_pcgeadd
(
plasma_context_t
*
plasma
);
73
void
plasma_pcgelqf
(
plasma_context_t
*
plasma
);
74
void
plasma_pcgemm
(
plasma_context_t
*
plasma
);
75
void
plasma_pcgeqrf
(
plasma_context_t
*
plasma
);
76
void
plasma_pcgerbb
(
plasma_context_t
*
plasma
);
77
void
plasma_pcgetmi2
(
plasma_context_t
*
plasma
);
78
void
plasma_pcgetrf_incpiv
(
plasma_context_t
*
plasma
);
79
#ifdef COMPLEX
80
void
plasma_pchemm
(
plasma_context_t
*
plasma
);
81
void
plasma_pcherk
(
plasma_context_t
*
plasma
);
82
void
plasma_pcher2k
(
plasma_context_t
*
plasma
);
83
#endif
84
void
plasma_pclacpy
(
plasma_context_t
*
plasma
);
85
void
plasma_pclag2z
(
plasma_context_t
*
plasma
);
86
void
plasma_pclange
(
plasma_context_t
*
plasma
);
87
#ifdef COMPLEX
88
void
plasma_pclanhe
(
plasma_context_t
*
plasma
);
89
#endif
90
void
plasma_pclansy
(
plasma_context_t
*
plasma
);
91
void
plasma_pcpack
(
plasma_context_t
*
plasma
);
92
void
plasma_pcplghe
(
plasma_context_t
*
plasma
);
93
void
plasma_pcplgsy
(
plasma_context_t
*
plasma
);
94
void
plasma_pcplrnt
(
plasma_context_t
*
plasma
);
95
void
plasma_pcpotrf
(
plasma_context_t
*
plasma
);
96
void
plasma_pcshift
(
plasma_context_t
*
plasma
);
97
void
plasma_pcsymm
(
plasma_context_t
*
plasma
);
98
void
plasma_pcsyrk
(
plasma_context_t
*
plasma
);
99
void
plasma_pcsyr2k
(
plasma_context_t
*
plasma
);
100
void
plasma_pctrmm
(
plasma_context_t
*
plasma
);
101
void
plasma_pctrsm
(
plasma_context_t
*
plasma
);
102
void
plasma_pctrsmpl
(
plasma_context_t
*
plasma
);
103
void
plasma_pctrsmrv
(
plasma_context_t
*
plasma
);
104
void
plasma_pcunglq
(
plasma_context_t
*
plasma
);
105
void
plasma_pcungqr
(
plasma_context_t
*
plasma
);
106
void
plasma_pcungqrrh
(
plasma_context_t
*
plasma
);
107
void
plasma_pcunmlq
(
plasma_context_t
*
plasma
);
108
void
plasma_pcunmqr
(
plasma_context_t
*
plasma
);
109
void
plasma_pcunpack
(
plasma_context_t
*
plasma
);
110
111
/***************************************************************************/
114
int
plasma_cshift
(
plasma_context_t
*
plasma
,
int
m,
int
n,
PLASMA_Complex32_t
*
A
,
115
int
nprob,
int
me,
int
ne,
int
L
,
116
PLASMA_sequence
*sequence,
PLASMA_request
*request);
117
118
/***************************************************************************/
121
void
plasma_pcgeadd_quark
(
PLASMA_Complex32_t
alpha,
PLASMA_desc
A
,
PLASMA_desc
B
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
122
void
plasma_pcbarrier_tl2pnl_quark
(
PLASMA_desc
A
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
123
void
plasma_pcbarrier_pnl2tl_quark
(
PLASMA_desc
A
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
124
void
plasma_pcbarrier_tl2row_quark
(
PLASMA_desc
A
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
125
void
plasma_pcbarrier_row2tl_quark
(
PLASMA_desc
A
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
126
void
plasma_pcgelqf_quark
(
PLASMA_desc
A
,
PLASMA_desc
T
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
127
void
plasma_pcgelqfrh_quark
(
PLASMA_desc
A
,
PLASMA_desc
T
,
int
BS,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
128
void
plasma_pcgemm_quark
(
PLASMA_enum
transA,
PLASMA_enum
transB,
PLASMA_Complex32_t
alpha,
PLASMA_desc
A
,
PLASMA_desc
B
,
PLASMA_Complex32_t
beta,
PLASMA_desc
C
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
129
void
plasma_pcgeqrf_quark
(
PLASMA_desc
A
,
PLASMA_desc
T
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
130
void
plasma_pcgeqrfrh_quark
(
PLASMA_desc
A
,
PLASMA_desc
T
,
int
BS,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
131
void
plasma_pcgerbh_quark
(
PLASMA_desc
A
,
PLASMA_desc
T
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
132
void
plasma_pcgerbb_quark
(
PLASMA_desc
A
,
PLASMA_desc
T
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
133
void
plasma_pcgerbbrh_quark
(
PLASMA_desc
A
,
PLASMA_desc
T
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
134
void
plasma_pcgetmi2_quark
(
PLASMA_enum
idep,
PLASMA_enum
odep,
PLASMA_enum
storev
,
int
m,
int
n,
int
mb,
int
nb,
PLASMA_Complex32_t
*
A
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
135
void
plasma_pcgetrf_incpiv_quark
(
PLASMA_desc
A
,
PLASMA_desc
L
,
int
*
IPIV
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
136
void
plasma_pcgetrf_reclap_quark
(
PLASMA_desc
A
,
int
*
IPIV
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
137
void
plasma_pcgetrf_rectil_quark
(
PLASMA_desc
A
,
int
*
IPIV
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
138
void
plasma_pchegst_quark
(
PLASMA_enum
itype
,
PLASMA_enum
uplo
,
PLASMA_desc
A
,
PLASMA_desc
B
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
139
#ifdef COMPLEX
140
void
plasma_pchemm_quark
(
PLASMA_enum
side
,
PLASMA_enum
uplo
,
PLASMA_Complex32_t
alpha,
PLASMA_desc
A
,
PLASMA_desc
B
,
PLASMA_Complex32_t
beta,
PLASMA_desc
C
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
141
void
plasma_pcherk_quark
(
PLASMA_enum
uplo
,
PLASMA_enum
trans
,
float
alpha,
PLASMA_desc
A
,
float
beta,
PLASMA_desc
C
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
142
void
plasma_pcher2k_quark
(
PLASMA_enum
uplo
,
PLASMA_enum
trans
,
PLASMA_Complex32_t
alpha,
PLASMA_desc
A
,
PLASMA_desc
B
,
float
beta,
PLASMA_desc
C
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
143
#endif
144
void
plasma_pcherbt_quark
(
PLASMA_enum
uplo
,
PLASMA_desc
A
,
PLASMA_desc
T
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
145
void
plasma_pcgbrdb_quark
(
PLASMA_enum
uplo
,
PLASMA_desc
A
,
float
*D,
float
*E,
PLASMA_desc
T
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
146
void
plasma_pchbrdt_quark
(
PLASMA_enum
uplo
,
PLASMA_desc
A
,
float
*D,
float
*E,
PLASMA_desc
T
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
147
void
plasma_pclacpy_quark
(
PLASMA_enum
uplo
,
PLASMA_desc
A
,
PLASMA_desc
B
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
148
void
plasma_pclag2z_quark
(
PLASMA_desc
A
,
PLASMA_desc
SB
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
149
void
plasma_pclange_quark
(
PLASMA_enum
norm
,
PLASMA_desc
A
,
float
*work,
float
*result,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
150
#ifdef COMPLEX
151
void
plasma_pclanhe_quark
(
PLASMA_enum
norm
,
PLASMA_enum
uplo
,
PLASMA_desc
A
,
float
*work,
float
*result,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
152
#endif
153
void
plasma_pclansy_quark
(
PLASMA_enum
norm
,
PLASMA_enum
uplo
,
PLASMA_desc
A
,
float
*work,
float
*result,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
154
void
plasma_pclaset_quark
(
PLASMA_enum
uplo
,
PLASMA_Complex32_t
alpha,
PLASMA_Complex32_t
beta,
PLASMA_desc
A
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
155
void
plasma_pclaset2_quark
(
PLASMA_enum
uplo
,
PLASMA_Complex32_t
alpha,
PLASMA_desc
A
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
156
void
plasma_pclaswp_quark
(
PLASMA_desc
B
,
int
*
IPIV
,
int
inc,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
157
void
plasma_pclaswpc_quark
(
PLASMA_desc
B
,
int
*
IPIV
,
int
inc,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
158
void
plasma_pclauum_quark
(
PLASMA_enum
uplo
,
PLASMA_desc
A
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
159
void
plasma_pcplghe_quark
(
float
bump,
PLASMA_desc
A
,
unsigned
long
long
int
seed,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
160
void
plasma_pcplgsy_quark
(
PLASMA_Complex32_t
bump,
PLASMA_desc
A
,
unsigned
long
long
int
seed,
PLASMA_sequence
*sequence,
PLASMA_request
*request );
161
void
plasma_pcplrnt_quark
(
PLASMA_desc
A
,
unsigned
long
long
int
seed,
PLASMA_sequence
*sequence,
PLASMA_request
*request );
162
void
plasma_pcpotrf_quark
(
PLASMA_enum
uplo
,
PLASMA_desc
A
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
163
void
plasma_pcshift_quark
(
int
,
int
,
int
,
PLASMA_Complex32_t
*,
int
*,
int
,
int
,
PLASMA_sequence
*,
PLASMA_request
*);
164
void
plasma_pcsymm_quark
(
PLASMA_enum
side
,
PLASMA_enum
uplo
,
PLASMA_Complex32_t
alpha,
PLASMA_desc
A
,
PLASMA_desc
B
,
PLASMA_Complex32_t
beta,
PLASMA_desc
C
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
165
void
plasma_pcsyrk_quark
(
PLASMA_enum
uplo
,
PLASMA_enum
trans
,
PLASMA_Complex32_t
alpha,
PLASMA_desc
A
,
PLASMA_Complex32_t
beta,
PLASMA_desc
C
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
166
void
plasma_pcsyr2k_quark
(
PLASMA_enum
uplo
,
PLASMA_enum
trans
,
PLASMA_Complex32_t
alpha,
PLASMA_desc
A
,
PLASMA_desc
B
,
PLASMA_Complex32_t
beta,
PLASMA_desc
C
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
167
void
plasma_pctrmm_quark
(
PLASMA_enum
side
,
PLASMA_enum
uplo
,
PLASMA_enum
transA,
PLASMA_enum
diag
,
PLASMA_Complex32_t
alpha,
PLASMA_desc
A
,
PLASMA_desc
B
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
168
void
plasma_pctrsm_quark
(
PLASMA_enum
side
,
PLASMA_enum
uplo
,
PLASMA_enum
transA,
PLASMA_enum
diag
,
PLASMA_Complex32_t
alpha,
PLASMA_desc
A
,
PLASMA_desc
B
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
169
void
plasma_pctrsmpl_quark
(
PLASMA_desc
A
,
PLASMA_desc
B
,
PLASMA_desc
L
,
int
*
IPIV
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
170
void
plasma_pctrsmrv_quark
(
PLASMA_enum
side
,
PLASMA_enum
uplo
,
PLASMA_enum
transA,
PLASMA_enum
diag
,
PLASMA_Complex32_t
alpha,
PLASMA_desc
A
,
PLASMA_desc
W
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
171
void
plasma_pctrtri_quark
(
PLASMA_enum
uplo
,
PLASMA_enum
diag
,
PLASMA_desc
A
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
172
void
plasma_pcungbr_quark
(
PLASMA_enum
side
,
PLASMA_desc
A
,
PLASMA_desc
O,
PLASMA_desc
T
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
173
void
plasma_pcungbrrh_quark
(
PLASMA_enum
side
,
PLASMA_desc
A
,
PLASMA_desc
O,
PLASMA_desc
T
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
174
void
plasma_pcungqr_quark
(
PLASMA_desc
A
,
PLASMA_desc
Q
,
PLASMA_desc
T
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
175
void
plasma_pcungqrrh_quark
(
PLASMA_desc
A
,
PLASMA_desc
Q
,
PLASMA_desc
T
,
int
BS,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
176
void
plasma_pcunglq_quark
(
PLASMA_desc
A
,
PLASMA_desc
Q
,
PLASMA_desc
T
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
177
void
plasma_pcunglqrh_quark
(
PLASMA_desc
A
,
PLASMA_desc
Q
,
PLASMA_desc
T
,
int
BS,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
178
void
plasma_pcungtr_quark
(
PLASMA_enum
uplo
,
PLASMA_desc
A
,
PLASMA_desc
Q
,
PLASMA_desc
T
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
179
void
plasma_pcunmqr_quark
(
PLASMA_enum
side
,
PLASMA_enum
trans
,
PLASMA_desc
A
,
PLASMA_desc
B
,
PLASMA_desc
T
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
180
void
plasma_pcunmqrrh_quark
(
PLASMA_enum
side
,
PLASMA_enum
trans
,
PLASMA_desc
A
,
PLASMA_desc
B
,
PLASMA_desc
T
,
int
BS,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
181
void
plasma_pcunmlq_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_pcunmlqrh_quark
(
PLASMA_enum
side
,
PLASMA_enum
trans
,
PLASMA_desc
A
,
PLASMA_desc
B
,
PLASMA_desc
T
,
int
BS,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
plasma_2.4.5
control
compute_c.h
Generated on Mon Jul 9 2012 12:44:58 for PLASMA by
1.8.1