MCPcopy Create free account
hub / github.com/Xtra-Computing/thundersvm / to_host

Method to_host

src/thundersvm/syncmem.cpp:58–82  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

56 }
57
58 void SyncMem::to_host() {
59 switch (head_) {
60 case UNINITIALIZED:
61 malloc_host(&host_ptr, size_);
62 memset(host_ptr, 0, size_);
63 head_ = HOST;
64 own_host_data = true;
65 total_memory_size += size_;
66 break;
67 case DEVICE:
68#ifdef USE_CUDA
69 if (nullptr == host_ptr) {
70 CUDA_CHECK(cudaMallocHost(&host_ptr, size_));
71 CUDA_CHECK(cudaMemset(host_ptr, 0, size_));
72 own_host_data = true;
73 }
74 CUDA_CHECK(cudaMemcpy(host_ptr, device_ptr, size_, cudaMemcpyDeviceToHost));
75 head_ = HOST;
76#else
77 NO_GPU;
78#endif
79 break;
80 case HOST:;
81 }
82 }
83
84 void SyncMem::to_device() {
85#ifdef USE_CUDA

Callers 3

TESTFunction · 0.45
TESTFunction · 0.45
predictMethod · 0.45

Calls 1

malloc_hostFunction · 0.85

Tested by 2

TESTFunction · 0.36
TESTFunction · 0.36