diff options
author | Evan Shelhamer <shelhamer@imaginarynumber.net> | 2014-06-27 19:51:33 -0700 |
---|---|---|
committer | Evan Shelhamer <shelhamer@imaginarynumber.net> | 2014-07-03 17:14:12 -0700 |
commit | 1da30a555827e778e36c5db72ef9cc672ad85675 (patch) | |
tree | aeee78e1972481269f16eba025c3b053a8d13cea /matlab | |
parent | aaa9f24d369798cfa268f465ec5a1c35257ed500 (diff) | |
download | caffeonacl-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.cpp | 38 |
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(); |