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
timing.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define PASTE_CODE_IPARAM_LOCALS(iparam)
#define PASTE_CODE_ALLOCATE_MATRIX_TILE(_desc_, _cond_, _type_, _type2_, _lda_, _m_, _n_)
#define PASTE_CODE_FREE_MATRIX(_desc_)
#define PASTE_TILE_TO_LAPACK(_desc_, _name_, _cond_, _type_, _lda_, _n_)
#define PASTE_CODE_ALLOCATE_MATRIX(_name_, _cond_, _type_, _lda_, _n_)
#define PASTE_CODE_ALLOCATE_COPY(_name_, _cond_, _type_, _orig_, _lda_, _n_)
#define START_TRACING()   if( 0 ) {};
#define STOP_TRACING()   if( 0 ) {};
#define START_DAG()
#define STOP_DAG()
#define START_TIMING()
#define STOP_TIMING()

Typedefs

typedef double real_Double_t

Enumerations

enum  iparam_t {
  IPARAM_THRDNBR, IPARAM_THRDNBR_SUBGRP, IPARAM_SCHEDULER, IPARAM_M,
  IPARAM_N, IPARAM_K, IPARAM_LDA, IPARAM_LDB,
  IPARAM_LDC, IPARAM_IB, IPARAM_NB, IPARAM_MB,
  IPARAM_NITER, IPARAM_WARMUP, IPARAM_CHECK, IPARAM_VERBOSE,
  IPARAM_AUTOTUNING, IPARAM_INPUTFMT, IPARAM_OUTPUTFMT, IPARAM_TRACE,
  IPARAM_DAG, IPARAM_ASYNC, IPARAM_MX, IPARAM_NX,
  IPARAM_RHBLK, IPARAM_SIZEOF
}
enum  dparam_timing {
  IPARAM_TIME, IPARAM_ANORM, IPARAM_BNORM, IPARAM_XNORM,
  IPARAM_RES, IPARAM_DNBPARAM
}

Macro Definition Documentation

#define PASTE_CODE_ALLOCATE_COPY (   _name_,
  _cond_,
  _type_,
  _orig_,
  _lda_,
  _n_ 
)
Value:
_type_ *_name_ = NULL; \
if( _cond_ ) { \
_name_ = (_type_*)malloc( (_lda_) * (_n_) * sizeof(_type_) ); \
if ( ! _name_ ) { \
fprintf(stderr, "Our of Memory for %s\n", #_name_); \
return -1; \
} \
memcpy(_name_, _orig_, (_lda_) * (_n_) * sizeof(_type_) ); \
}

Definition at line 105 of file timing.h.

#define PASTE_CODE_ALLOCATE_MATRIX (   _name_,
  _cond_,
  _type_,
  _lda_,
  _n_ 
)
Value:
_type_ *_name_ = NULL; \
if( _cond_ ) { \
_name_ = (_type_*)malloc( (_lda_) * (_n_) * sizeof(_type_) ); \
if ( ! _name_ ) { \
fprintf(stderr, "Our of Memory for %s\n", #_name_); \
return -1; \
} \
}

Definition at line 95 of file timing.h.

#define PASTE_CODE_ALLOCATE_MATRIX_TILE (   _desc_,
  _cond_,
  _type_,
  _type2_,
  _lda_,
  _m_,
  _n_ 
)
Value:
PLASMA_desc *_desc_ = NULL; \
if( _cond_ ) { \
_type_ *ptr = NULL; \
ptr = (_type_*)malloc( (_lda_) * (_n_) * sizeof(_type_) ); \
if ( ! ptr ) { \
fprintf(stderr, "Our of Memory for %s\n", #_desc_); \
return -1; \
} \
PLASMA_Desc_Create(&(_desc_), ptr, _type2_, MB, NB, MB*NB, _lda_, _n_, 0, 0, _m_, _n_); \
}

Definition at line 66 of file timing.h.

#define PASTE_CODE_FREE_MATRIX (   _desc_)
Value:
if ( _desc_ != NULL ) { \
free(_desc_->mat); \
} \
PLASMA_Desc_Destroy( &_desc_ );

Definition at line 78 of file timing.h.

#define PASTE_CODE_IPARAM_LOCALS (   iparam)
Value:
double t; \
int64_t M = iparam[IPARAM_M]; \
int64_t N = iparam[IPARAM_N]; \
int64_t K = iparam[IPARAM_K]; \
int64_t NRHS = K; \
int64_t LDA = max(M, iparam[IPARAM_LDA]); \
int64_t LDB = max(N, iparam[IPARAM_LDB]); \
int64_t LDC = max(K, iparam[IPARAM_LDC]); \
int64_t IB = iparam[IPARAM_IB]; \
int64_t MB = iparam[IPARAM_MB]; \
int64_t NB = iparam[IPARAM_NB]; \
int64_t MT = (M%MB==0) ? (M/MB) : (M/MB+1); \
int64_t NT = (N%NB==0) ? (N/NB) : (N/NB+1); \
int check = iparam[IPARAM_CHECK]; \
int loud = iparam[IPARAM_VERBOSE]; \
(void)M;(void)N;(void)K;(void)NRHS; \
(void)LDA;(void)LDB;(void)LDC; \
(void)IB;(void)MB;(void)NB;(void)MT;(void)NT; \
(void)check;(void)loud;

Definition at line 44 of file timing.h.

#define PASTE_TILE_TO_LAPACK (   _desc_,
  _name_,
  _cond_,
  _type_,
  _lda_,
  _n_ 
)
Value:
_type_ *_name_ = NULL; \
if ( _cond_ ) { \
_name_ = (_type_*)malloc( (_lda_) * (_n_) * sizeof(_type_)); \
if ( ! _name_ ) { \
fprintf(stderr, "Our of Memory for %s\n", #_name_); \
return -1; \
} \
PLASMA_Tile_to_Lapack(_desc_, (void*)_name_, _lda_); \
}

Definition at line 84 of file timing.h.

#define START_DAG ( )
Value:
if ( iparam[IPARAM_DAG] == 2 ) \
PLASMA_Enable(PLASMA_DAG);

Definition at line 145 of file timing.h.

#define START_TIMING ( )
Value:
START_TRACING(); \
t = -cWtime();

Definition at line 158 of file timing.h.

#define START_TRACING ( )    if( 0 ) {};

Definition at line 132 of file timing.h.

#define STOP_DAG ( )
Value:
if ( iparam[IPARAM_DAG] == 2 ) \
PLASMA_Disable(PLASMA_DAG);

Definition at line 149 of file timing.h.

#define STOP_TIMING ( )
Value:
t += cWtime(); \
STOP_TRACING(); \
STOP_DAG(); \
*t_ = t;

Definition at line 163 of file timing.h.

#define STOP_TRACING ( )    if( 0 ) {};

Definition at line 135 of file timing.h.


Typedef Documentation

typedef double real_Double_t

Definition at line 4 of file timing.h.


Enumeration Type Documentation

Enumerator:
IPARAM_TIME 
IPARAM_ANORM 
IPARAM_BNORM 
IPARAM_XNORM 
IPARAM_RES 
IPARAM_DNBPARAM 

Definition at line 35 of file timing.h.

enum iparam_t
Enumerator:
IPARAM_THRDNBR 
IPARAM_THRDNBR_SUBGRP 
IPARAM_SCHEDULER 
IPARAM_M 
IPARAM_N 
IPARAM_K 
IPARAM_LDA 
IPARAM_LDB 
IPARAM_LDC 
IPARAM_IB 
IPARAM_NB 
IPARAM_MB 
IPARAM_NITER 
IPARAM_WARMUP 
IPARAM_CHECK 
IPARAM_VERBOSE 
IPARAM_AUTOTUNING 
IPARAM_INPUTFMT 
IPARAM_OUTPUTFMT 
IPARAM_TRACE 
IPARAM_DAG 
IPARAM_ASYNC 
IPARAM_MX 
IPARAM_NX 
IPARAM_RHBLK 
IPARAM_SIZEOF 

Definition at line 6 of file timing.h.

{
IPARAM_THRDNBR, /* Number of cores */
IPARAM_THRDNBR_SUBGRP, /* Number of cores in a subgroup (NUMA node) */
IPARAM_SCHEDULER, /* What scheduler do we choose (dyn, stat) */
IPARAM_M, /* Number of rows of the matrix */
IPARAM_N, /* Number of columns of the matrix */
IPARAM_K, /* RHS or K */
IPARAM_LDA, /* Leading dimension of A */
IPARAM_LDB, /* Leading dimension of B */
IPARAM_LDC, /* Leading dimension of C */
IPARAM_IB, /* Inner-blocking size */
IPARAM_NB, /* Number of columns in a tile */
IPARAM_MB, /* Number of rows in a tile */
IPARAM_NITER, /* Number of iteration of each test */
IPARAM_WARMUP, /* Run one test to load dynamic libraries */
IPARAM_CHECK, /* Checking activated or not */
IPARAM_VERBOSE, /* How much noise do we want? */
IPARAM_AUTOTUNING, /* Disable/enable autotuning */
IPARAM_INPUTFMT, /* Input format (Use only for getmi/gecfi) */
IPARAM_OUTPUTFMT, /* Output format (Use only for getmi/gecfi) */
IPARAM_TRACE, /* Generate trace on the first non warmup run */
IPARAM_DAG, /* Do we require to output the DOT file? */
IPARAM_ASYNC, /* Asynchronous calls */
IPARAM_MX, /* */
IPARAM_NX, /* */
IPARAM_RHBLK, /* Householder reduction parameter for QR/LQ */
};