Metal_api.Devicetype t = {id : int;handle : Metal_types.mtl_device;name : string;max_threads_per_threadgroup : Metal_types.mtl_size Ctypes.structure;max_threadgroup_memory : int;supports_fp64 : bool;is_cpu : bool;}val get_all_handles : unit -> Metal_types.mtl_device arrayval make_device : int -> unit Ctypes_static.ptr -> tval get_uncached : int -> tval cache : (int, t) Stdlib.Hashtbl.tval get : int -> tval id : t -> intval name : t -> stringval handle : t -> Metal_types.mtl_deviceval max_buffer_length : t -> intThe largest MTLBuffer this device allocates, in bytes (maxBufferLength).
val recommended_working_set : t -> intrecommendedMaxWorkingSetSize in bytes: on Apple silicon, the share of unified memory the GPU may keep resident without degrading.