12 #include "DeviceUtils.h"
13 #include "../../FaissAssert.h"
15 namespace faiss {
namespace gpu {
22 CUDA_VERIFY(cudaEventCreate(&startEvent_));
23 CUDA_VERIFY(cudaEventCreate(&stopEvent_));
25 CUDA_VERIFY(cudaEventRecord(startEvent_, stream_));
29 CUDA_VERIFY(cudaEventDestroy(startEvent_));
30 CUDA_VERIFY(cudaEventDestroy(stopEvent_));
37 CUDA_VERIFY(cudaEventRecord(stopEvent_, stream_));
38 CUDA_VERIFY(cudaEventSynchronize(stopEvent_));
41 CUDA_VERIFY(cudaEventElapsedTime(&time, startEvent_, stopEvent_));
48 clock_gettime(CLOCK_REALTIME, &start_);
54 clock_gettime(CLOCK_REALTIME, &end);
56 auto diffS = end.tv_sec - start_.tv_sec;
57 auto diffNs = end.tv_nsec - start_.tv_nsec;
59 return 1000.0f * (float) diffS + ((
float) diffNs) / 1000000.0f;
float elapsedMilliseconds()
Returns elapsed time in milliseconds.
KernelTimer(cudaStream_t stream=0)
CpuTimer()
Creates and starts a new timer.
float elapsedMilliseconds()
~KernelTimer()
Destructor releases event resources.