default_memmgr
- cubie.memory.default_memmgr = MemoryManager(totalmem=8589934592, registry={}, stream_groups=StreamGroups(groups={}, streams={}), _mode='passive', _auto_pool=[], _manual_pool=[], _queued_allocations={}, _group_chunk_parameters={}, _usage_clock=0, _pending_teardowns=[], pinned_max_bytes=8589934592, allocation_granule_bytes=33554432, _pinned_lock=<unlocked _thread.lock object>, _pinned_live_bytes=0, _pinned_retained_bytes=0, _pinned_releases=deque([]), _device_probe_error=None)
Singleton interface coordinating GPU memory allocation and stream usage.
- Parameters:
registry – Registry mapping instance identifiers to their memory settings.
stream_groups – Manager for organising instances into stream groups.
- cubie.memory.totalmem
Total GPU memory in bytes as of the last
probe_device(), orNonewhen no device answered.
Notes
The manager accepts
ArrayRequestobjects and returnsArrayResponseinstances that reference allocated arrays and chunking information. Active mode enforces per-instance VRAM proportions while passive mode mirrors standard allocation behaviour using chunking only when necessary.Construction succeeds without a device: the manager stays unsized and every decision needing a byte figure reprobes, then raises
NoCudaDeviceErrorif no device answers.See also
ArrayRequestDescribes a single allocation request.
ArrayResponseReports allocation outcomes.
StreamGroupsManages CUDA stream groups.