diff options
Diffstat (limited to 'src/caffe/util/benchmark.cpp')
-rw-r--r-- | src/caffe/util/benchmark.cpp | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/caffe/util/benchmark.cpp b/src/caffe/util/benchmark.cpp index 0bd85218..009b118a 100644 --- a/src/caffe/util/benchmark.cpp +++ b/src/caffe/util/benchmark.cpp @@ -1,7 +1,6 @@ // Copyright 2014 BVLC and contributors. #include <boost/date_time/posix_time/posix_time.hpp> -#include <cuda_runtime.h> #include "caffe/common.hpp" #include "caffe/util/benchmark.hpp" @@ -17,15 +16,23 @@ Timer::Timer() Timer::~Timer() { if (Caffe::mode() == Caffe::GPU) { +#ifndef CPU_ONLY CUDA_CHECK(cudaEventDestroy(start_gpu_)); CUDA_CHECK(cudaEventDestroy(stop_gpu_)); +#else + NO_GPU; +#endif } } void Timer::Start() { if (!running()) { if (Caffe::mode() == Caffe::GPU) { +#ifndef CPU_ONLY CUDA_CHECK(cudaEventRecord(start_gpu_, 0)); +#else + NO_GPU; +#endif } else { start_cpu_ = boost::posix_time::microsec_clock::local_time(); } @@ -37,8 +44,12 @@ void Timer::Start() { void Timer::Stop() { if (running()) { if (Caffe::mode() == Caffe::GPU) { +#ifndef CPU_ONLY CUDA_CHECK(cudaEventRecord(stop_gpu_, 0)); CUDA_CHECK(cudaEventSynchronize(stop_gpu_)); +#else + NO_GPU; +#endif } else { stop_cpu_ = boost::posix_time::microsec_clock::local_time(); } @@ -55,8 +66,12 @@ float Timer::MilliSeconds() { Stop(); } if (Caffe::mode() == Caffe::GPU) { +#ifndef CPU_ONLY CUDA_CHECK(cudaEventElapsedTime(&elapsed_milliseconds_, start_gpu_, stop_gpu_)); +#else + NO_GPU; +#endif } else { elapsed_milliseconds_ = (stop_cpu_ - start_cpu_).total_milliseconds(); } @@ -70,8 +85,12 @@ float Timer::Seconds() { void Timer::Init() { if (!initted()) { if (Caffe::mode() == Caffe::GPU) { +#ifndef CPU_ONLY CUDA_CHECK(cudaEventCreate(&start_gpu_)); CUDA_CHECK(cudaEventCreate(&stop_gpu_)); +#else + NO_GPU; +#endif } initted_ = true; } |