Device.Slabinclude Backend_intf.Slab_alloc with type device := Device_types.deviceval alloc_pool :
?mode:Tnode.memory_mode ->
Device_types.device ->
pool_id:Base.int ->
size_in_bytes:Base.int ->
alignment:Base.int ->
Base.unitAllocates the slab for pool_id on device. The optional ?mode carries the tnode's memory mode so backends can pick a storage mode (Metal private vs. shared); backends that do not care ignore it.
val free_pool :
(Device_types.device -> pool_id:Base.int -> Base.unit) Base.optionFrees the slab for pool_id and drops its table entry. None for backends that rely on GC.
val memset_zero :
Device_types.device ->
pool_id:Base.int ->
offset:Base.int ->
size_in_bytes:Base.int ->
Base.unitZero-initializes size_in_bytes at base_of pool_id + offset.
val resolve_pool : Device_types.device -> Backend_intf.buffer_loc -> buffer_ptr