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
LinearAllocator
is 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 onLinearAllocator
to 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
Segment
of 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.