MCPcopy Create free account
hub / github.com/OpenPTrack/open_ptrack_v2 / apply_buffers

Function apply_buffers

rtpose_wrapper/src/caffe/parallel.cpp:26–56  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

24
25template<typename Dtype>
26static void apply_buffers(const vector<Blob<Dtype>*>& blobs,
27 Dtype* buffer, size_t total_size, Op op) {
28 Dtype* ptr = buffer;
29 for (int i = 0; i < blobs.size(); ++i) {
30 int size = blobs[i]->count();
31 switch (op) {
32 case copy: {
33 // Init buffer to current values of blobs
34 caffe_copy(size,
35 reinterpret_cast<const Dtype*>(blobs[i]->data()->cpu_data()),
36 ptr);
37 break;
38 }
39 case replace_cpu:
40 blobs[i]->data()->set_cpu_data(ptr);
41 break;
42 case replace_gpu:
43 blobs[i]->data()->set_gpu_data(ptr);
44 break;
45 case replace_cpu_diff:
46 blobs[i]->diff()->set_cpu_data(ptr);
47 break;
48 case replace_gpu_diff:
49 blobs[i]->diff()->set_gpu_data(ptr);
50 break;
51 }
52 ptr += size;
53 }
54 // total_size is at least one byte
55 CHECK_EQ(total_size, (ptr == buffer ? 1 : ptr - buffer));
56}
57
58// Buffer size necessary to store given blobs
59template<typename Dtype>

Callers 2

GPUParamsMethod · 0.85
configureMethod · 0.85

Calls 8

caffe_copyFunction · 0.85
countMethod · 0.80
dataMethod · 0.80
set_gpu_dataMethod · 0.80
diffMethod · 0.80
sizeMethod · 0.45
cpu_dataMethod · 0.45
set_cpu_dataMethod · 0.45

Tested by

no test coverage detected