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(), or None when no device answered.

Notes

The manager accepts ArrayRequest objects and returns ArrayResponse instances 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 NoCudaDeviceError if no device answers.

See also

ArrayRequest

Describes a single allocation request.

ArrayResponse

Reports allocation outcomes.

StreamGroups

Manages CUDA stream groups.