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_cgetrf_incpiv_tile.c
Go to the documentation of this file.
1
6
#define _TYPE PLASMA_Complex32_t
7
#define _PREC float
8
#define _LAMCH LAPACKE_slamch_work
9
10
#define _NAME "PLASMA_cgetrf_incpiv_Tile"
11
/* See Lawn 41 page 120 */
12
#define _FMULS FMULS_GETRF(M, N)
13
#define _FADDS FADDS_GETRF(M, N)
14
15
#include "
./timing.c
"
16
17
static
int
18
RunTest(
int
*iparam,
float
*dparam,
real_Double_t
*t_)
19
{
20
PLASMA_desc
*descL;
21
int
*piv;
22
PASTE_CODE_IPARAM_LOCALS
( iparam );
23
24
if
( M != N && check ) {
25
fprintf(stderr,
"Check cannot be perfomed with M != N\n"
);
26
check = 0;
27
}
28
29
/* Allocate Data */
30
PASTE_CODE_ALLOCATE_MATRIX_TILE
( descA, 1,
PLASMA_Complex32_t
,
PlasmaComplexFloat
, LDA, M, N );
31
32
PLASMA_cplrnt_Tile
(descA, 3456);
33
34
/* Allocate Workspace */
35
PLASMA_Alloc_Workspace_cgesv_incpiv_Tile
(
min
(M,N), &descL, &piv);
36
37
/* Save AT in lapack layout for check */
38
PASTE_TILE_TO_LAPACK
( descA,
A
, check,
PLASMA_Complex32_t
, LDA, N );
39
40
START_TIMING
();
41
PLASMA_cgetrf_incpiv_Tile
( descA, descL, piv );
42
STOP_TIMING
();
43
44
/* Check the solution */
45
if
( check )
46
{
47
PASTE_CODE_ALLOCATE_MATRIX_TILE
( descB, 1,
PLASMA_Complex32_t
,
PlasmaComplexFloat
, LDB, N, NRHS );
48
PLASMA_cplrnt_Tile
( descB, 7732 );
49
PASTE_TILE_TO_LAPACK
( descB, b, check,
PLASMA_Complex32_t
, LDB, NRHS );
50
51
PLASMA_cgetrs_incpiv_Tile
( descA, descL, piv, descB );
52
53
PASTE_TILE_TO_LAPACK
( descB, x, check,
PLASMA_Complex32_t
, LDB, NRHS );
54
dparam[
IPARAM_RES
] =
c_check_solution
(M, N, NRHS,
A
, LDA, b, x, LDB,
55
&(dparam[
IPARAM_ANORM
]),
56
&(dparam[
IPARAM_BNORM
]),
57
&(dparam[
IPARAM_XNORM
]));
58
59
PASTE_CODE_FREE_MATRIX
( descB );
60
free(
A
); free(b); free(x);
61
}
62
63
/* Deallocate Workspace */
64
PLASMA_Dealloc_Handle_Tile
(&descL);
65
66
PASTE_CODE_FREE_MATRIX
( descA );
67
free( piv );
68
69
return
0;
70
}
plasma_2.4.5
timing
time_cgetrf_incpiv_tile.c
Generated on Mon Jul 9 2012 12:45:07 for PLASMA by
1.8.1