Open3D (C++ API)
0.18.0+252c867
|
#include <MemoryManager.h>
Static Public Member Functions | |
static void * | Malloc (size_t byte_size, const Device &device) |
static void | Free (void *ptr, const Device &device) |
Frees previously allocated memory at address ptr on device device . More... | |
static void | Memcpy (void *dst_ptr, const Device &dst_device, const void *src_ptr, const Device &src_device, size_t num_bytes) |
static void | MemcpyFromHost (void *dst_ptr, const Device &dst_device, const void *host_ptr, size_t num_bytes) |
Same as Memcpy, but with host (CPU:0) as default src_device. More... | |
static void | MemcpyToHost (void *host_ptr, const void *src_ptr, const Device &src_device, size_t num_bytes) |
Same as Memcpy, but with host (CPU:0) as default dst_device. More... | |
Static Protected Member Functions | |
static std::shared_ptr< MemoryManagerDevice > | GetMemoryManagerDevice (const Device &device) |
Internally dispatches the appropriate MemoryManagerDevice instance. More... | |
Top-level memory interface. Calls to any of the member functions will automatically dispatch the appropriate MemoryManagerDevice instance based on the provided device which is used to execute the requested functionality.
The memory managers are dispatched as follows:
DeviceType = CPU : MemoryManagerCPU DeviceType = CUDA : ENABLE_CACHED_CUDA_MANAGER = ON : MemoryManagerCached w/ MemoryManagerCUDA Otherwise : MemoryManagerCUDA
|
static |
Frees previously allocated memory at address ptr
on device device
.
|
staticprotected |
Internally dispatches the appropriate MemoryManagerDevice instance.
|
static |
Allocates memory of byte_size
bytes on device device
and returns a pointer to the beginning of the allocated memory block.
|
static |
Copies num_bytes
bytes of memory at address src_ptr
on device src_device
to address dst_ptr
on device dst_device
.
|
static |
Same as Memcpy, but with host (CPU:0) as default src_device.
|
static |
Same as Memcpy, but with host (CPU:0) as default dst_device.