package arrayjit
Module Arrayjit.BackendsSource
For debugging, allow Sync_backend(...).suggested_num_virtual_devices calls to return >1 numbers.
A minimalisitc wrapper creating backends where all calls run synchronously on the main thread. There is only one physical device, but as always an arbitrary number of virtual devices.
Source
val lower_assignments :
?name:Base.String.t ->
'a Indexing.bindings ->
Assignments.t ->
Base.String.t * Low_level.optimizedSource
val lower_batch_assignments :
?names:Base.String.t Base.Array.t ->
?occupancy:(name:Base.String.t -> src_n:int -> bool) ->
'a Indexing.bindings ->
Assignments.t Base.Array.t ->
Base.String.t option Base.Array.t * Low_level.optimized option Base.Array.tSource
val verify_prior_context :
ctx_arrays:('a -> (Tnode.t Base.Hashtbl.key, 'b, 'c) Base.Map.t) ->
is_in_context:('d -> Base.bool) ->
prior_context:'a ->
from_prior_context:Tnode.t Base.Hashtbl.key Base.List.t ->
(Tnode.t, 'd) Base.Hashtbl.t Base.Array.t ->
unitSource
val fresh_backend :
?backend_name:Base.String.t ->
?config:Backend_utils.Types.config ->
unit ->
(module Backend)Reinitializes a backend selected via a global backend flag.