pub trait MemoryManagerTrait: Send + Sync {
// Required methods
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;
}
Expand description
Trait for memory management