package arrayjit
Parameter Simple_no_device_backend.Backend
val sexp_of_context : context -> Sexplib0.Sexp.tval sexp_of_procedure : procedure -> Sexplib0.Sexp.tval sexp_of_ctx_array : ctx_array -> Sexplib0.Sexp.tval sexp_of_buffer_ptr : buffer_ptr -> Sexplib0.Sexp.ttype ctx_arrays = ctx_array Base.Map.M(Tnode).tval sexp_of_ctx_arrays : ctx_arrays -> Sexplib0.Sexp.tval buffer_ptr : ctx_array -> buffer_ptrval ctx_arrays : context -> ctx_arraysval alloc_buffer :
?old_buffer:(buffer_ptr * Base.int) ->
size_in_bytes:Base.int ->
Base.unit ->
buffer_ptrval expected_merge_node : procedure -> Tnode.t Base.optionval is_in_context : Low_level.traced_array -> Base.boolIf true, the node is required to be in the contexts linked with code that uses it.
Should return false for nodes that are virtual, local, or which the backend prefers to access directly from the host.
val compile :
name:Base.string ->
opt_ctx_arrays:ctx_arrays Base.option ->
Indexing.unit_bindings ->
Low_level.optimized ->
procedureval compile_batch :
names:Base.string Base.option Base.array ->
opt_ctx_arrays:ctx_arrays Base.option ->
Indexing.unit_bindings ->
Low_level.optimized Base.option Base.array ->
ctx_arrays Base.option * procedure Base.option Base.arrayval link_compiled :
merge_buffer:(buffer_ptr * Tnode.t) Base.option Base.ref ->
context ->
procedure ->
context * Indexing.lowered_bindings * Tnode.task * Base.stringval name : Base.stringval init : label:Base.string -> contextval to_buffer : Tnode.t -> dst:buffer_ptr -> src:context -> Base.unitval host_to_buffer : Ndarray.t -> dst:buffer_ptr -> Base.unitval buffer_to_host : Ndarray.t -> src:buffer_ptr -> Base.unit