summaryrefslogtreecommitdiff
path: root/matlab
diff options
context:
space:
mode:
authorEvan Shelhamer <shelhamer@imaginarynumber.net>2014-06-27 19:51:33 -0700
committerEvan Shelhamer <shelhamer@imaginarynumber.net>2014-07-03 17:14:12 -0700
commit1da30a555827e778e36c5db72ef9cc672ad85675 (patch)
treeaeee78e1972481269f16eba025c3b053a8d13cea /matlab
parentaaa9f24d369798cfa268f465ec5a1c35257ed500 (diff)
downloadcaffeonacl-1da30a555827e778e36c5db72ef9cc672ad85675.tar.gz
caffeonacl-1da30a555827e778e36c5db72ef9cc672ad85675.tar.bz2
caffeonacl-1da30a555827e778e36c5db72ef9cc672ad85675.zip
replace all memcpy by caffe_copy
Diffstat (limited to 'matlab')
-rw-r--r--matlab/caffe/matcaffe.cpp38
1 files changed, 18 insertions, 20 deletions
diff --git a/matlab/caffe/matcaffe.cpp b/matlab/caffe/matcaffe.cpp
index 1b2b65ec..957ebea0 100644
--- a/matlab/caffe/matcaffe.cpp
+++ b/matlab/caffe/matcaffe.cpp
@@ -54,12 +54,12 @@ static mxArray* do_forward(const mxArray* const bottom) {
reinterpret_cast<const float* const>(mxGetPr(elem));
switch (Caffe::mode()) {
case Caffe::CPU:
- memcpy(input_blobs[i]->mutable_cpu_data(), data_ptr,
- sizeof(float) * input_blobs[i]->count());
+ caffe_copy(input_blobs[i]->count(), data_ptr,
+ input_blobs[i]->mutable_cpu_data());
break;
case Caffe::GPU:
- cudaMemcpy(input_blobs[i]->mutable_gpu_data(), data_ptr,
- sizeof(float) * input_blobs[i]->count(), cudaMemcpyDefault);
+ caffe_copy(input_blobs[i]->count(), data_ptr,
+ input_blobs[i]->mutable_gpu_data());
break;
default:
LOG(FATAL) << "Unknown Caffe mode.";
@@ -77,12 +77,12 @@ static mxArray* do_forward(const mxArray* const bottom) {
float* data_ptr = reinterpret_cast<float*>(mxGetPr(mx_blob));
switch (Caffe::mode()) {
case Caffe::CPU:
- memcpy(data_ptr, output_blobs[i]->cpu_data(),
- sizeof(float) * output_blobs[i]->count());
+ caffe_copy(output_blobs[i]->count(), output_blobs[i]->cpu_data(),
+ data_ptr);
break;
case Caffe::GPU:
- cudaMemcpy(data_ptr, output_blobs[i]->gpu_data(),
- sizeof(float) * output_blobs[i]->count(), cudaMemcpyDefault);
+ caffe_copy(output_blobs[i]->count(), output_blobs[i]->gpu_data(),
+ data_ptr);
break;
default:
LOG(FATAL) << "Unknown Caffe mode.";
@@ -104,12 +104,12 @@ static mxArray* do_backward(const mxArray* const top_diff) {
reinterpret_cast<const float* const>(mxGetPr(elem));
switch (Caffe::mode()) {
case Caffe::CPU:
- memcpy(output_blobs[i]->mutable_cpu_diff(), data_ptr,
- sizeof(float) * output_blobs[i]->count());
+ caffe_copy(output_blobs[i]->count(), data_ptr,
+ output_blobs[i]->mutable_cpu_diff());
break;
case Caffe::GPU:
- cudaMemcpy(output_blobs[i]->mutable_gpu_diff(), data_ptr,
- sizeof(float) * output_blobs[i]->count(), cudaMemcpyDefault);
+ caffe_copy(output_blobs[i]->count(), data_ptr,
+ output_blobs[i]->mutable_gpu_diff());
break;
default:
LOG(FATAL) << "Unknown Caffe mode.";
@@ -129,12 +129,10 @@ static mxArray* do_backward(const mxArray* const top_diff) {
float* data_ptr = reinterpret_cast<float*>(mxGetPr(mx_blob));
switch (Caffe::mode()) {
case Caffe::CPU:
- memcpy(data_ptr, input_blobs[i]->cpu_diff(),
- sizeof(float) * input_blobs[i]->count());
+ caffe_copy(input_blobs[i]->count(), input_blobs[i]->cpu_diff(), data_ptr);
break;
case Caffe::GPU:
- cudaMemcpy(data_ptr, input_blobs[i]->gpu_diff(),
- sizeof(float) * input_blobs[i]->count(), cudaMemcpyDefault);
+ caffe_copy(input_blobs[i]->count(), input_blobs[i]->gpu_diff(), data_ptr);
break;
default:
LOG(FATAL) << "Unknown Caffe mode.";
@@ -206,12 +204,12 @@ static mxArray* do_get_weights() {
switch (Caffe::mode()) {
case Caffe::CPU:
- memcpy(weights_ptr, layer_blobs[j]->cpu_data(),
- sizeof(float) * layer_blobs[j]->count());
+ caffe_copy(layer_blobs[j]->count(), layer_blobs[j]->cpu_data(),
+ weights_ptr);
break;
case Caffe::GPU:
- CUDA_CHECK(cudaMemcpy(weights_ptr, layer_blobs[j]->gpu_data(),
- sizeof(float) * layer_blobs[j]->count(), cudaMemcpyDefault));
+ caffe_copy(layer_blobs[j]->count(), layer_blobs[j]->gpu_data(),
+ weights_ptr);
break;
default:
LOG(FATAL) << "Unknown caffe mode: " << Caffe::mode();