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

Method to_device

src/thundersvm/syncmem.cpp:84–108  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

82 }
83
84 void SyncMem::to_device() {
85#ifdef USE_CUDA
86 switch (head_) {
87 case UNINITIALIZED:
88 CUDA_CHECK(cudaMalloc(&device_ptr, size_));
89 CUDA_CHECK(cudaMemset(device_ptr, 0, size_));
90 head_ = DEVICE;
91 own_device_data = true;
92 total_memory_size += size_;
93 break;
94 case HOST:
95 if (nullptr == device_ptr) {
96 CUDA_CHECK(cudaMalloc(&device_ptr, size_));
97 CUDA_CHECK(cudaMemset(device_ptr, 0, size_));
98 own_device_data = true;
99 }
100 CUDA_CHECK(cudaMemcpy(device_ptr, host_ptr, size_, cudaMemcpyHostToDevice));
101 head_ = DEVICE;
102 break;
103 case DEVICE:;
104 }
105#else
106 NO_GPU;
107#endif
108 }
109
110 void SyncMem::set_host_data(void *data) {
111 CHECK_NOTNULL(data);

Callers 3

TESTFunction · 0.45
TESTFunction · 0.45
predictMethod · 0.45

Calls

no outgoing calls

Tested by 2

TESTFunction · 0.36
TESTFunction · 0.36