Namespace NVMathNet.Memory
Classes
- CachingMemoryManager
-
A memory manager that keeps freed blocks and hands them out again, avoiding repeated
cudaMalloc/cudaFreecalls (which are slow and synchronise the device). Requests up to 1 GiB are rounded up to a power of two (minimum 512 bytes) so blocks are interchangeable; larger requests are cached by exact size. Blocks are cached per CUDA device: a block is only handed out again to a caller whose current device is the one it was allocated on. - CudaMallocMemoryManager
-
The default manager: plain
cudaMalloc/cudaFree. - DeviceMemory
-
Process-wide settings for device memory allocation.
Interfaces
- IDeviceMemoryManager
-
Allocates and frees GPU device memory for NVMathNet.DeviceBuffer`1. Implement this to plug in a pooling or externally managed allocator. Implementations must be thread-safe.