Check the GPU mode to decide which memcpy to use
authorKai Li <kaili_kloud@163.com>
Wed, 9 Jul 2014 01:47:28 +0000 (09:47 +0800)
committerKai Li <kaili_kloud@163.com>
Thu, 10 Jul 2014 00:03:22 +0000 (08:03 +0800)
src/caffe/util/math_functions.cpp

index df32093..9311a39 100644 (file)
@@ -152,10 +152,10 @@ void caffe_add_scalar(const int N, const double alpha, double* Y) {
 template <typename Dtype>
 void caffe_copy(const int N, const Dtype* X, Dtype* Y) {
   if (X != Y) {
-    if (Caffe::mode() == Caffe::CPU) {
-      memcpy(Y, X, sizeof(Dtype) * N);
-    } else {
+    if (Caffe::mode() == Caffe::GPU) {
       CUDA_CHECK(cudaMemcpy(Y, X, sizeof(Dtype) * N, cudaMemcpyDefault));
+    } else {
+      memcpy(Y, X, sizeof(Dtype) * N);
     }
   }
 }
@@ -168,10 +168,10 @@ template void caffe_copy<double>(const int N, const double* X, double* Y);
 
 void caffe_memcpy(const size_t N, const void* X, void* Y) {
   if (X != Y) {
-    if (Caffe::mode() == Caffe::CPU) {
-      memcpy(Y, X, N);
-    } else {
+    if (Caffe::mode() == Caffe::GPU) {
       CUDA_CHECK(cudaMemcpy(Y, X, N, cudaMemcpyDefault));
+    } else {
+      memcpy(Y, X, N);
     }
   }
 }