MCPcopy Create free account
hub / github.com/BVLC/caffe / to_gpu

Method to_gpu

src/caffe/syncedmem.cpp:66–91  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

64}
65
66inline void SyncedMemory::to_gpu() {
67 check_device();
68#ifndef CPU_ONLY
69 switch (head_) {
70 case UNINITIALIZED:
71 CUDA_CHECK(cudaMalloc(&gpu_ptr_, size_));
72 caffe_gpu_memset(size_, 0, gpu_ptr_);
73 head_ = HEAD_AT_GPU;
74 own_gpu_data_ = true;
75 break;
76 case HEAD_AT_CPU:
77 if (gpu_ptr_ == NULL) {
78 CUDA_CHECK(cudaMalloc(&gpu_ptr_, size_));
79 own_gpu_data_ = true;
80 }
81 caffe_gpu_memcpy(size_, cpu_ptr_, gpu_ptr_);
82 head_ = SYNCED;
83 break;
84 case HEAD_AT_GPU:
85 case SYNCED:
86 break;
87 }
88#else
89 NO_GPU;
90#endif
91}
92
93const void* SyncedMemory::cpu_data() {
94 check_device();

Callers

nothing calls this directly

Calls 1

caffe_gpu_memsetFunction · 0.85

Tested by

no test coverage detected