Expand description
GPU memory management
Structs§
- Dedicated memory allocator that uses memory object per allocation requested.
- Memory block allocated from
DedicatedAllocator
. - No-fragmentation allocator. Suitable for any type of small allocations. Every freed block can be reused.
- Memory block allocated from
GeneralAllocator
. - Config for
GeneralAllocator
. - Heaps available on particular physical device.
- 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. - Memory block allocated from
LinearAllocator
. - Config for
LinearAllocator
. Refer to documentation onLinearAllocator
to better understand what the configuration options mean. - Represents range of the memory mapped to the host. Provides methods for safer host access to the memory.
- Memory object wrapper. Contains size and properties of the memory.
- Memory block allocated from
Heaps
. - Memory utilization of one heap.
- Memory utilization of one type.
- Memory utilization stats.
- Total memory utilization.
- Wrapper structure for a mutable slice with deferred flushing for non-coherent memory.
Enums§
- Possible errors returned by
Heaps
. - Allocator kind.
- Scenarios of how resources use memory.
Traits§
- Allocator trait implemented for various allocators.
- 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.
Type Aliases§
- Type for non-coherent atom sizes.
- Type for any memory sizes.