Mercurial > hg > smallbox
view solvers/SMALL_ompGabor/ompprof.h @ 236:5f4e47b78f2b ver_2.0_alpha1
Added example.
author | luisf <luis.figueira@eecs.qmul.ac.uk> |
---|---|
date | Thu, 19 Apr 2012 17:59:08 +0100 |
parents | 31d2864dfdd4 |
children |
line wrap: on
line source
/************************************************************************** * * File name: ompprof.h * * Ron Rubinstein * Computer Science Department * Technion, Haifa 32000 Israel * ronrubin@cs * * Last Updated: 18.8.2009 * * Collection of definitions and functions for profiling the OMP method. * *************************************************************************/ #ifndef __OMP_PROF_H__ #define __OMP_PROF_H__ #include "mex.h" #include <time.h> /************************************************************************** * * Constants and data types. * **************************************************************************/ /* constants denoting the various parts of the algorithm */ enum { DtX_TIME, XtX_TIME, DtR_TIME, MAXABS_TIME, DtD_TIME, LCHOL_TIME, COMPCOEF_TIME, UPDATE_DtR_TIME, UPDATE_RESNORM_TIME, COMPRES_TIME, INDEXSORT_TIME }; /* profiling data container with counters for each part of the algorithm */ typedef struct profdata { clock_t prevtime; /* the time when last initialization/call to addproftime() was performed */ clock_t DtX_time; clock_t XtX_time; clock_t DtR_time; clock_t maxabs_time; clock_t DtD_time; clock_t Lchol_time; clock_t compcoef_time; clock_t update_DtR_time; clock_t update_resnorm_time; clock_t compres_time; clock_t indexsort_time; /* flags indicating whether profiling data was gathered */ int DtX_time_counted; int XtX_time_counted; int DtR_time_counted; int DtD_time_counted; int update_DtR_time_counted; int resnorm_time_counted; int compres_time_counted; int indexsort_time_counted; } profdata; /************************************************************************** * * Initialize a profdata structure, zero all counters, and start its timer. * **************************************************************************/ void initprofdata(profdata *pd); /************************************************************************** * * Add elapsed time from last call to addproftime(), or from initialization * of profdata, to the counter specified by comptype. comptype must be one * of the constants in the enumeration above. * **************************************************************************/ void addproftime(profdata *pd, int comptype); /************************************************************************** * * Print the current contents of the counters in profdata. * * Parameters: * pd - the profdata to print * erroromp - indicates whether error-based (nonzero) or sparsity-based (zero) * omp was performed. * batchomp - indicates whether batch-omp (nonzero) or omp-cholesky (zero) * omp was performed. * signum - number of signals processed by omp * **************************************************************************/ void printprofinfo(profdata *pd, int erroromp, int batchomp, int signum); #endif