package arrayjit
Module Backends.Sync_gccjit_backendSource
Source
type device = Sync_backend(Gccjit_device).device = {subordinal : Base.int;merge_buffer : (buffer_ptr * Tnode.t) Base.option Base.ref;mutable allocated_buffer : (buffer_ptr * Base.int) Base.option;
}Source
val alloc_buffer :
?old_buffer:(Gccjit_device.buffer_ptr * Base.int) ->
size_in_bytes:Base.int ->
'a ->
Gccjit_device.buffer_ptrSource
type context = Sync_backend(Gccjit_device).context = {device : device;ctx : Gccjit_device.context;expected_merge_node : Tnode.t Base.option;
}Source
val compile :
?shared:Base.bool ->
?name:Base.string ->
Indexing.unit_bindings ->
Assignments.t ->
Gccjit_device.codeSource
val compile_batch :
?shared:Base.bool ->
?names:Base.string Base.array ->
?occupancy:(name:Base.string -> src_n:Base.int -> Base.bool) ->
Indexing.unit_bindings ->
Assignments.t Base.array ->
Gccjit_device.code_batchSource
val link :
?from_prior_context:Tnode.t Base.list ->
context ->
Gccjit_device.code ->
context Backend_utils.Types.routineSource
val link_batch :
?from_prior_context:Tnode.t Base.list ->
context ->
Gccjit_device.code_batch ->
context * context Backend_utils.Types.routine Base.Option.t Base.Array.tSource
val device_to_device :
Tnode.t ->
into_merge_buffer:Backend_utils.Types.merge_buffer_use ->
dst:context ->
src:context ->
bool