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_d.h
Go to the documentation of this file.
1
17
/***************************************************************************/
20
#define plasma_ddesc_alloc( descA, mb, nb, lm, ln, i, j, m, n, free) \
21
descA = plasma_desc_init( \
22
PlasmaRealDouble, (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_dooplap2tile( descA, A, mb, nb, lm, ln, i, j, m, n, free) \
31
descA = plasma_desc_init( \
32
PlasmaRealDouble, (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_pdlapack_to_tile, \
41
double*, (A), \
42
int, (lm), \
43
PLASMA_desc, (descA), \
44
PLASMA_sequence*, sequence, \
45
PLASMA_request*, &request);
46
47
#define plasma_diplap2tile( descA, A, mb, nb, lm, ln, i, j, m, n) \
48
descA = plasma_desc_init( \
49
PlasmaRealDouble, (mb), (nb), ((mb)*(nb)), \
50
(lm), (ln), (i), (j), (m), (n)); \
51
descA.mat = A; \
52
PLASMA_dgecfi_Async((lm), (ln), (A), PlasmaCM, (mb), (nb), \
53
PlasmaCCRB, (mb), (nb), sequence, &request);
54
55
56
57
#define plasma_dooptile2lap( descA, A, mb, nb, lm, ln) \
58
plasma_parallel_call_5(plasma_pdtile_to_lapack, \
59
PLASMA_desc, (descA), \
60
double*, (A), \
61
int, (lm), \
62
PLASMA_sequence*, sequence, \
63
PLASMA_request*, &request);
64
65
#define plasma_diptile2lap( descA, A, mb, nb, lm, ln) \
66
PLASMA_dgecfi_Async((lm), (ln), (A), PlasmaCCRB, (mb), (nb), \
67
PlasmaCM, (mb), (nb), sequence, &request);
68
69
/***************************************************************************/
72
void
plasma_pdgeadd
(
plasma_context_t
*
plasma
);
73
void
plasma_pdgelqf
(
plasma_context_t
*
plasma
);
74
void
plasma_pdgemm
(
plasma_context_t
*
plasma
);
75
void
plasma_pdgeqrf
(
plasma_context_t
*
plasma
);
76
void
plasma_pdgerbb
(
plasma_context_t
*
plasma
);
77
void
plasma_pdgetmi2
(
plasma_context_t
*
plasma
);
78
void
plasma_pdgetrf_incpiv
(
plasma_context_t
*
plasma
);
79
#ifdef COMPLEX
80
void
plasma_pdsymm
(
plasma_context_t
*
plasma
);
81
void
plasma_pdsyrk
(
plasma_context_t
*
plasma
);
82
void
plasma_pdsyr2k
(
plasma_context_t
*
plasma
);
83
#endif
84
void
plasma_pdlacpy
(
plasma_context_t
*
plasma
);
85
void
plasma_pdlag2s
(
plasma_context_t
*
plasma
);
86
void
plasma_pdlange
(
plasma_context_t
*
plasma
);
87
#ifdef COMPLEX
88
void
plasma_pdlansy
(
plasma_context_t
*
plasma
);
89
#endif
90
void
plasma_pdlansy
(
plasma_context_t
*
plasma
);
91
void
plasma_pdpack
(
plasma_context_t
*
plasma
);
92
void
plasma_pdplgsy
(
plasma_context_t
*
plasma
);
93
void
plasma_pdplgsy
(
plasma_context_t
*
plasma
);
94
void
plasma_pdplrnt
(
plasma_context_t
*
plasma
);
95
void
plasma_pdpotrf
(
plasma_context_t
*
plasma
);
96
void
plasma_pdshift
(
plasma_context_t
*
plasma
);
97
void
plasma_pdsymm
(
plasma_context_t
*
plasma
);
98
void
plasma_pdsyrk
(
plasma_context_t
*
plasma
);
99
void
plasma_pdsyr2k
(
plasma_context_t
*
plasma
);
100
void
plasma_pdtrmm
(
plasma_context_t
*
plasma
);
101
void
plasma_pdtrsm
(
plasma_context_t
*
plasma
);
102
void
plasma_pdtrsmpl
(
plasma_context_t
*
plasma
);
103
void
plasma_pdtrsmrv
(
plasma_context_t
*
plasma
);
104
void
plasma_pdorglq
(
plasma_context_t
*
plasma
);
105
void
plasma_pdorgqr
(
plasma_context_t
*
plasma
);
106
void
plasma_pdorgqrrh
(
plasma_context_t
*
plasma
);
107
void
plasma_pdormlq
(
plasma_context_t
*
plasma
);
108
void
plasma_pdormqr
(
plasma_context_t
*
plasma
);
109
void
plasma_pdunpack
(
plasma_context_t
*
plasma
);
110
111
/***************************************************************************/
114
int
plasma_dshift
(
plasma_context_t
*
plasma
,
int
m,
int
n,
double
*
A
,
115
int
nprob,
int
me,
int
ne,
int
L
,
116
PLASMA_sequence
*sequence,
PLASMA_request
*request);
117
118
/***************************************************************************/
121
void
plasma_pdgeadd_quark
(
double
alpha,
PLASMA_desc
A
,
PLASMA_desc
B
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
122
void
plasma_pdbarrier_tl2pnl_quark
(
PLASMA_desc
A
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
123
void
plasma_pdbarrier_pnl2tl_quark
(
PLASMA_desc
A
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
124
void
plasma_pdbarrier_tl2row_quark
(
PLASMA_desc
A
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
125
void
plasma_pdbarrier_row2tl_quark
(
PLASMA_desc
A
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
126
void
plasma_pdgelqf_quark
(
PLASMA_desc
A
,
PLASMA_desc
T
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
127
void
plasma_pdgelqfrh_quark
(
PLASMA_desc
A
,
PLASMA_desc
T
,
int
BS,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
128
void
plasma_pdgemm_quark
(
PLASMA_enum
transA,
PLASMA_enum
transB,
double
alpha,
PLASMA_desc
A
,
PLASMA_desc
B
,
double
beta,
PLASMA_desc
C
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
129
void
plasma_pdgeqrf_quark
(
PLASMA_desc
A
,
PLASMA_desc
T
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
130
void
plasma_pdgeqrfrh_quark
(
PLASMA_desc
A
,
PLASMA_desc
T
,
int
BS,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
131
void
plasma_pdgerbh_quark
(
PLASMA_desc
A
,
PLASMA_desc
T
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
132
void
plasma_pdgerbb_quark
(
PLASMA_desc
A
,
PLASMA_desc
T
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
133
void
plasma_pdgerbbrh_quark
(
PLASMA_desc
A
,
PLASMA_desc
T
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
134
void
plasma_pdgetmi2_quark
(
PLASMA_enum
idep,
PLASMA_enum
odep,
PLASMA_enum
storev
,
int
m,
int
n,
int
mb,
int
nb,
double
*
A
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
135
void
plasma_pdgetrf_incpiv_quark
(
PLASMA_desc
A
,
PLASMA_desc
L
,
int
*
IPIV
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
136
void
plasma_pdgetrf_reclap_quark
(
PLASMA_desc
A
,
int
*
IPIV
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
137
void
plasma_pdgetrf_rectil_quark
(
PLASMA_desc
A
,
int
*
IPIV
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
138
void
plasma_pdsygst_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_pdsymm_quark
(
PLASMA_enum
side
,
PLASMA_enum
uplo
,
double
alpha,
PLASMA_desc
A
,
PLASMA_desc
B
,
double
beta,
PLASMA_desc
C
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
141
void
plasma_pdsyrk_quark
(
PLASMA_enum
uplo
,
PLASMA_enum
trans
,
double
alpha,
PLASMA_desc
A
,
double
beta,
PLASMA_desc
C
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
142
void
plasma_pdsyr2k_quark
(
PLASMA_enum
uplo
,
PLASMA_enum
trans
,
double
alpha,
PLASMA_desc
A
,
PLASMA_desc
B
,
double
beta,
PLASMA_desc
C
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
143
#endif
144
void
plasma_pdsyrbt_quark
(
PLASMA_enum
uplo
,
PLASMA_desc
A
,
PLASMA_desc
T
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
145
void
plasma_pdgbrdb_quark
(
PLASMA_enum
uplo
,
PLASMA_desc
A
,
double
*D,
double
*E,
PLASMA_desc
T
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
146
void
plasma_pdsbrdt_quark
(
PLASMA_enum
uplo
,
PLASMA_desc
A
,
double
*D,
double
*E,
PLASMA_desc
T
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
147
void
plasma_pdlacpy_quark
(
PLASMA_enum
uplo
,
PLASMA_desc
A
,
PLASMA_desc
B
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
148
void
plasma_pdlag2s_quark
(
PLASMA_desc
A
,
PLASMA_desc
SB
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
149
void
plasma_pdlange_quark
(
PLASMA_enum
norm
,
PLASMA_desc
A
,
double
*work,
double
*result,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
150
#ifdef COMPLEX
151
void
plasma_pdlansy_quark
(
PLASMA_enum
norm
,
PLASMA_enum
uplo
,
PLASMA_desc
A
,
double
*work,
double
*result,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
152
#endif
153
void
plasma_pdlansy_quark
(
PLASMA_enum
norm
,
PLASMA_enum
uplo
,
PLASMA_desc
A
,
double
*work,
double
*result,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
154
void
plasma_pdlaset_quark
(
PLASMA_enum
uplo
,
double
alpha,
double
beta,
PLASMA_desc
A
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
155
void
plasma_pdlaset2_quark
(
PLASMA_enum
uplo
,
double
alpha,
PLASMA_desc
A
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
156
void
plasma_pdlaswp_quark
(
PLASMA_desc
B
,
int
*
IPIV
,
int
inc,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
157
void
plasma_pdlaswpc_quark
(
PLASMA_desc
B
,
int
*
IPIV
,
int
inc,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
158
void
plasma_pdlauum_quark
(
PLASMA_enum
uplo
,
PLASMA_desc
A
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
159
void
plasma_pdplgsy_quark
(
double
bump,
PLASMA_desc
A
,
unsigned
long
long
int
seed,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
160
void
plasma_pdplgsy_quark
(
double
bump,
PLASMA_desc
A
,
unsigned
long
long
int
seed,
PLASMA_sequence
*sequence,
PLASMA_request
*request );
161
void
plasma_pdplrnt_quark
(
PLASMA_desc
A
,
unsigned
long
long
int
seed,
PLASMA_sequence
*sequence,
PLASMA_request
*request );
162
void
plasma_pdpotrf_quark
(
PLASMA_enum
uplo
,
PLASMA_desc
A
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
163
void
plasma_pdshift_quark
(
int
,
int
,
int
,
double
*,
int
*,
int
,
int
,
PLASMA_sequence
*,
PLASMA_request
*);
164
void
plasma_pdsymm_quark
(
PLASMA_enum
side
,
PLASMA_enum
uplo
,
double
alpha,
PLASMA_desc
A
,
PLASMA_desc
B
,
double
beta,
PLASMA_desc
C
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
165
void
plasma_pdsyrk_quark
(
PLASMA_enum
uplo
,
PLASMA_enum
trans
,
double
alpha,
PLASMA_desc
A
,
double
beta,
PLASMA_desc
C
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
166
void
plasma_pdsyr2k_quark
(
PLASMA_enum
uplo
,
PLASMA_enum
trans
,
double
alpha,
PLASMA_desc
A
,
PLASMA_desc
B
,
double
beta,
PLASMA_desc
C
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
167
void
plasma_pdtrmm_quark
(
PLASMA_enum
side
,
PLASMA_enum
uplo
,
PLASMA_enum
transA,
PLASMA_enum
diag
,
double
alpha,
PLASMA_desc
A
,
PLASMA_desc
B
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
168
void
plasma_pdtrsm_quark
(
PLASMA_enum
side
,
PLASMA_enum
uplo
,
PLASMA_enum
transA,
PLASMA_enum
diag
,
double
alpha,
PLASMA_desc
A
,
PLASMA_desc
B
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
169
void
plasma_pdtrsmpl_quark
(
PLASMA_desc
A
,
PLASMA_desc
B
,
PLASMA_desc
L
,
int
*
IPIV
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
170
void
plasma_pdtrsmrv_quark
(
PLASMA_enum
side
,
PLASMA_enum
uplo
,
PLASMA_enum
transA,
PLASMA_enum
diag
,
double
alpha,
PLASMA_desc
A
,
PLASMA_desc
W
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
171
void
plasma_pdtrtri_quark
(
PLASMA_enum
uplo
,
PLASMA_enum
diag
,
PLASMA_desc
A
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
172
void
plasma_pdorgbr_quark
(
PLASMA_enum
side
,
PLASMA_desc
A
,
PLASMA_desc
O,
PLASMA_desc
T
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
173
void
plasma_pdorgbrrh_quark
(
PLASMA_enum
side
,
PLASMA_desc
A
,
PLASMA_desc
O,
PLASMA_desc
T
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
174
void
plasma_pdorgqr_quark
(
PLASMA_desc
A
,
PLASMA_desc
Q
,
PLASMA_desc
T
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
175
void
plasma_pdorgqrrh_quark
(
PLASMA_desc
A
,
PLASMA_desc
Q
,
PLASMA_desc
T
,
int
BS,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
176
void
plasma_pdorglq_quark
(
PLASMA_desc
A
,
PLASMA_desc
Q
,
PLASMA_desc
T
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
177
void
plasma_pdorglqrh_quark
(
PLASMA_desc
A
,
PLASMA_desc
Q
,
PLASMA_desc
T
,
int
BS,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
178
void
plasma_pdorgtr_quark
(
PLASMA_enum
uplo
,
PLASMA_desc
A
,
PLASMA_desc
Q
,
PLASMA_desc
T
,
PLASMA_sequence
*sequence,
PLASMA_request
*request);
179
void
plasma_pdormqr_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_pdormqrrh_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_pdormlq_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_pdormlqrh_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_d.h
Generated on Mon Jul 9 2012 12:44:58 for PLASMA by
1.8.1