pub struct HybridMemoryManager { /* private fields */ }
Expand description
Hybrid memory manager that efficiently handles both CPU and GPU memory
Implementations§
Source§impl HybridMemoryManager
impl HybridMemoryManager
Sourcepub fn new(config: &BridgeConfig) -> NeuralResult<Self>
pub fn new(config: &BridgeConfig) -> NeuralResult<Self>
Create a new hybrid memory manager
Sourcepub fn set_gpu_device(&self, device: Arc<Device>) -> NeuralResult<()>
pub fn set_gpu_device(&self, device: Arc<Device>) -> NeuralResult<()>
Set GPU device for GPU operations
Trait Implementations§
Source§impl MemoryManagerTrait for HybridMemoryManager
impl MemoryManagerTrait for HybridMemoryManager
fn allocate(&self, size: usize) -> NeuralResult<MemoryHandle>
fn deallocate(&self, handle: MemoryHandle) -> NeuralResult<()>
fn transfer_to_gpu(&self, data: &[f32]) -> NeuralResult<BufferHandle>
fn transfer_from_gpu(&self, buffer: BufferHandle) -> NeuralResult<Vec<f32>>
fn get_memory_stats(&self) -> MemoryStats
Auto Trait Implementations§
impl Freeze for HybridMemoryManager
impl RefUnwindSafe for HybridMemoryManager
impl Send for HybridMemoryManager
impl Sync for HybridMemoryManager
impl Unpin for HybridMemoryManager
impl UnwindSafe for HybridMemoryManager
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more