9 #include <cuda_runtime.h>
25 virtual void Start()=0;
26 virtual void Stop()=0;
77 class CPUTimer :
public Timer
82 QueryPerformanceFrequency(&m_frequency);
86 virtual void Start() {QueryPerformanceCounter(&m_start);}
87 virtual void Stop() {QueryPerformanceCounter(&m_stop);}
90 return (m_stop.QuadPart - m_start.QuadPart) * 1000.0 / m_frequency.QuadPart;
94 LARGE_INTEGER m_frequency;
95 LARGE_INTEGER m_start;
virtual double getElapsed()
Definition: timer.h:62
Base timer class.
Definition: timer.h:22
virtual ~GPUTimer()
Definition: timer.h:48
cudaEvent_t timeEnd
Definition: timer.h:39
timeval timeEnd
Definition: timer.h:104
virtual ~CPUTimer()
Definition: timer.h:106
virtual void Start()
Definition: timer.h:108
GPU timer.
Definition: timer.h:35
GPUTimer(int g_idx=0)
Definition: timer.h:41
virtual void Stop()
Definition: timer.h:112
virtual void Start()
Definition: timer.h:53
cudaEvent_t timeStart
Definition: timer.h:38
int gpu_idx
Definition: timer.h:37
virtual double getElapsed()=0
timeval timeStart
Definition: timer.h:103
virtual double getElapsed()
Definition: timer.h:116
virtual void Stop()
Definition: timer.h:57
virtual ~Timer()
Definition: timer.h:24
CPU timer.
Definition: timer.h:101