MCPcopy Create free account
hub / github.com/davisking/dlib / get

Method get

dlib/cuda/cuda_data_ptr.cpp:133–154  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

131 }
132
133 cuda_data_void_ptr get (
134 size_t size
135 )
136 {
137 int new_device_id;
138 CHECK_CUDA(cudaGetDevice(&new_device_id));
139 // make room for more devices if needed
140 if (new_device_id >= (long)buffers.size())
141 buffers.resize(new_device_id+16);
142
143 // If we don't have a buffer already for this device then make one, or if it's too
144 // small, make a bigger one.
145 cuda_data_void_ptr buff = buffers[new_device_id].lock();
146 if (!buff || buff.size() < size)
147 {
148 buff = cuda_data_void_ptr(size);
149 buffers[new_device_id] = buff;
150 }
151
152 // Finally, return the buffer for the current device
153 return buff;
154 }
155
156 private:
157

Callers 14

numberMethod · 0.45
printMethod · 0.45
numberMethod · 0.45
device_global_bufferFunction · 0.45
copy_to_hostMethod · 0.45
async_copy_to_deviceMethod · 0.45
dataMethod · 0.45
cuda_data_void_ptrClass · 0.45
operator+Method · 0.45
hostMethod · 0.45
host_write_onlyMethod · 0.45

Calls 4

cuda_data_void_ptrClass · 0.85
sizeMethod · 0.45
resizeMethod · 0.45
lockMethod · 0.45

Tested by

no test coverage detected