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_dsposv_tile.c
Go to the documentation of this file.
1
6
#define _TYPE double
7
#define _PREC double
8
#define _LAMCH LAPACKE_dlamch_work
9
10
#define _NAME "PLASMA_dposv_Tile"
11
/* See Lawn 41 page 120 */
12
#define _FMULS (FMULS_POTRF( N ) + FMULS_POTRS( N, NRHS ))
13
#define _FADDS (FADDS_POTRF( N ) + FADDS_POTRS( N, NRHS ))
14
15
#include "
./timing.c
"
16
17
static
int
18
RunTest(
int
*iparam,
double
*dparam,
real_Double_t
*t_)
19
{
20
int
iter;
21
PASTE_CODE_IPARAM_LOCALS
( iparam );
22
23
/* Allocate Data */
24
PASTE_CODE_ALLOCATE_MATRIX_TILE
( descA, 1,
double
,
PlasmaRealDouble
, LDA, N, N );
25
PASTE_CODE_ALLOCATE_MATRIX_TILE
( descB, 1,
double
,
PlasmaRealDouble
, LDB, N, NRHS );
26
PASTE_CODE_ALLOCATE_MATRIX_TILE
( descX, 1,
double
,
PlasmaRealDouble
, LDB, N, NRHS );
27
28
PLASMA_dplgsy_Tile
((
double
)N, descA, 51 );
29
PLASMA_dplrnt_Tile
(descB, 5723);
30
31
/* Save AT and bT in lapack layout for check */
32
PASTE_TILE_TO_LAPACK
( descA,
A
, check,
double
, LDA, N );
33
PASTE_TILE_TO_LAPACK
( descB, b, check,
double
, LDB, NRHS );
34
35
/* PLASMA DSPOSV */
36
START_TIMING
();
37
PLASMA_dsposv_Tile
(
PlasmaUpper
, descA, descB, descX, &iter);
38
STOP_TIMING
();
39
40
/* Check the solution */
41
if
(check)
42
{
43
PASTE_TILE_TO_LAPACK
( descX, x, check,
double
, LDB, NRHS );
44
45
dparam[
IPARAM_RES
] =
d_check_solution
(N, N, NRHS,
A
, LDA, b, x, LDB,
46
&(dparam[
IPARAM_ANORM
]),
47
&(dparam[
IPARAM_BNORM
]),
48
&(dparam[
IPARAM_XNORM
]));
49
free(
A
); free(b); free(x);
50
}
51
52
PASTE_CODE_FREE_MATRIX
( descA );
53
PASTE_CODE_FREE_MATRIX
( descB );
54
PASTE_CODE_FREE_MATRIX
( descX );
55
56
return
0;
57
}
plasma_2.4.5
timing
time_dsposv_tile.c
Generated on Mon Jul 9 2012 12:45:07 for PLASMA by
1.8.1