Expand description
GPU memory management
Structs§
- Dedicated
Allocator - Dedicated memory allocator that uses memory object per allocation requested.
- Dedicated
Block - Memory block allocated from
DedicatedAllocator. - General
Allocator - No-fragmentation allocator. Suitable for any type of small allocations. Every freed block can be reused.
- General
Block - Memory block allocated from
GeneralAllocator. - General
Config - Config for
GeneralAllocator. - Heaps
- Heaps available on particular physical device.
- Linear
Allocator - The
LinearAllocatoris best suited for short-lived allocations. The allocation strategy has minimal overhead and the implementation is fast. But holding a single block will completely stop memory recycling. - Linear
Block - Memory block allocated from
LinearAllocator. - Linear
Config - Config for
LinearAllocator. Refer to documentation onLinearAllocatorto better understand what the configuration options mean. - Mapped
Range - Represents range of the memory mapped to the host. Provides methods for safer host access to the memory.
- Memory
- Memory object wrapper. Contains size and properties of the memory.
- Memory
Block - Memory block allocated from
Heaps. - Memory
Heap Utilization - Memory utilization of one heap.
- Memory
Type Utilization - Memory utilization of one type.
- Memory
Utilization - Memory utilization stats.
- Total
Memory Utilization - Total memory utilization.
- Writer
- Wrapper structure for a mutable slice with deferred flushing for non-coherent memory.
Enums§
- Heaps
Error - Possible errors returned by
Heaps. - Kind
- Allocator kind.
- Memory
Usage - Scenarios of how resources use memory.
Traits§
- Allocator
- Allocator trait implemented for various allocators.
- Block
- Block that owns a
Segmentof theMemory. Implementor must ensure that there can’t be any other blocks with overlapping range (either through type system or safety notes for unsafe functions). Provides access to safe memory range mapping.