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
time_zgesvd_tile.c
Go to the documentation of this file.
1
6
#define _TYPE PLASMA_Complex64_t
7
#define _PREC double
8
#define _LAMCH LAPACKE_dlamch_work
9
10
#define _NAME "PLASMA_zheev_Tile"
11
/* See Lawn 41 page 120 */
12
#define _FMULS ((2. / 3.) * ((double)N * (double)N * (double)N))
13
#define _FADDS ((2. / 3.) * ((double)N * (double)N * (double)N))
14
15
#include "
./timing.c
"
16
17
static
int
18
RunTest(
int
*iparam,
double
*dparam,
real_Double_t
*t_)
19
{
20
PASTE_CODE_IPARAM_LOCALS
( iparam );
21
PLASMA_desc
*descT;
22
int
jobu =
PlasmaNoVec
;
23
int
jobvt =
PlasmaNoVec
;
24
25
/* Allocate Data */
26
PASTE_CODE_ALLOCATE_MATRIX_TILE
( descA, 1,
PLASMA_Complex64_t
,
PlasmaComplexDouble
, LDA, N, N );
27
PASTE_CODE_ALLOCATE_MATRIX_TILE
( descU, (jobu ==
PlasmaVec
),
PLASMA_Complex64_t
,
PlasmaComplexDouble
, LDA, N, N );
28
PASTE_CODE_ALLOCATE_MATRIX_TILE
( descVT, (jobvt ==
PlasmaVec
),
PLASMA_Complex64_t
,
PlasmaComplexDouble
, LDA, N, N );
29
PASTE_CODE_ALLOCATE_MATRIX
( S, 1,
double
, N, 1 );
30
31
/* Initialiaze Data */
32
PLASMA_zplrnt_Tile
(descA, 51 );
33
34
/* Save AT and bT in lapack layout for check */
35
if
( check ) {
36
}
37
38
/* Allocate Workspace */
39
PLASMA_Alloc_Workspace_zgesvd
(N, N, &descT);
40
41
START_TIMING
();
42
PLASMA_zgesvd_Tile
(jobu, jobvt, descA, S, descU, descVT, descT);
43
STOP_TIMING
();
44
45
/* Check the solution */
46
if
( check )
47
{
48
}
49
50
/* DeAllocate Workspace */
51
PLASMA_Dealloc_Handle_Tile
(&descT);
52
53
if
(jobu ==
PlasmaVec
) {
54
PASTE_CODE_FREE_MATRIX
( descU );
55
}
56
if
(jobvt ==
PlasmaVec
) {
57
PASTE_CODE_FREE_MATRIX
( descVT );
58
}
59
PASTE_CODE_FREE_MATRIX
( descA );
60
free( S );
61
62
return
0;
63
}
plasma_2.4.5
timing
time_zgesvd_tile.c
Generated on Mon Jul 9 2012 12:45:07 for PLASMA by
1.8.1