Multicore.Backend
val config : Ir.Backend_intf.config
include Ir.Backend_impl.No_device_buffer_and_copying
include Ir.Backend_intf.Alloc_buffer with type stream := Base.unit
include Ir.Backend_intf.Buffer
val sexp_of_buffer_ptr : buffer_ptr -> Sexplib0.Sexp.t
include sig ... end
type nonrec buffer = buffer_ptr Ir.Backend_intf.buffer
val sexp_of_buffer : buffer -> Sexplib0.Sexp.t
type nonrec ctx_arrays = buffer_ptr Ir.Backend_intf.ctx_arrays
val sexp_of_ctx_arrays : ctx_arrays -> Sexplib0.Sexp.t
val alloc_zero_init_array :
Ir.Ops.prec ->
dims:Base.int Base.array ->
Base.unit ->
buffer_ptr
val free_buffer : (Base.unit -> buffer_ptr -> Base.unit) Base.option
val use_host_memory :
(size_in_bytes:Base.int -> Base.unit Ctypes.ptr -> buffer_ptr) Base.option
Returns (an upper bound of) the memory used for arrays, in bytes.
val buffer_to_buffer :
dst:buffer_ptr ->
src:buffer_ptr ->
size_in_bytes:Base.int ->
Base.unit
val host_to_buffer : Ir.Ndarray.t -> dst:buffer_ptr -> Base.unit
val buffer_to_host : Ir.Ndarray.t -> src:buffer_ptr -> Base.unit