new class timer

git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@2420 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
boufaras 2011-09-29 13:06:45 +00:00
commit 189165d5c0

View file

@ -35,8 +35,7 @@
#ifndef __moGPUTimer_H_ #ifndef __moGPUTimer_H_
#define __moGPUTimer_H_ #define __moGPUTimer_H_
// CUDA Utility Tools #include <sys/time.h>
#include <cutil.h>
/** /**
* To compute execution time * To compute execution time
@ -46,7 +45,9 @@ class moGPUTimer {
public: public:
unsigned int timer; timeval tim;
double t1;
double t2;
/** /**
* Constructor * Constructor
@ -54,9 +55,8 @@ public:
moGPUTimer() { moGPUTimer() {
timer = 0; t1 = 0;
//Create timer t2 = 0;
cutCreateTimer(&timer);
} }
/** /**
@ -74,7 +74,8 @@ public:
void start() { void start() {
// Start timer // Start timer
cutStartTimer(timer); gettimeofday(&tim, NULL);
t1 = tim.tv_sec + (tim.tv_usec / 1000000.0);
} }
/** /**
@ -84,30 +85,21 @@ public:
void stop() { void stop() {
// Stop timer // Stop timer
cutStopTimer(timer); gettimeofday(&tim, NULL);
t2 = tim.tv_sec + (tim.tv_usec / 1000000.0);
} }
/** /**
* to get timer value in ms * to get timer value in s
* @return execution time in ms * @return execution time in s
*/ */
double getTime() { double getTime() {
// get time // get time
return cutGetTimerValue(timer); return (t2 - t1);
}
/**
* to delete timer
*/
void deleteTimer() {
//Delete timer
cutDeleteTimer(timer);
} }