PLASMA  2.4.5
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
time_zheev_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 uplo = PlasmaUpper;
23  int vec = PlasmaNoVec;
24 
25  LDA = max(LDA, N);
26 
27  /* Allocate Data */
30  PASTE_CODE_ALLOCATE_MATRIX( W, 1, double, N, 1 );
31 
32  /* Initialize AT and bT for Symmetric Positif Matrix */
33  PLASMA_zplghe_Tile((double)0.0, descA, 51 );
34 
35  /* Save AT and bT in lapack layout for check */
36  if ( check ) {
37  }
38 
39  /* Allocate Workspace */
40  PLASMA_Alloc_Workspace_zheev(N, N, &descT);
41 
42  START_TIMING();
43  PLASMA_zheev_Tile( vec, uplo, descA, W, descT, descQ );
44  STOP_TIMING();
45 
46  /* Check the solution */
47  if ( check )
48  {
49  }
50 
51  /* DeAllocate Workspace */
53 
54  if (vec == PlasmaVec) {
55  PASTE_CODE_FREE_MATRIX( descQ );
56  }
57  PASTE_CODE_FREE_MATRIX( descA );
58  free( W );
59 
60  return 0;
61 }