C_syntax.Compile_driverOne driver owns naming, binding order, emission order and batch source assembly. The compiler callback retains ownership of its artifacts and libraries; its return value is shared by every batch member, and exceptions cross this boundary unchanged.
module Config (Input : sig ... end) : C_syntax_configval drive :
batch:bool ->
names:Base.String.t Base.Array.t ->
'a Indexing.bindings ->
Low_level.optimized Base.Array.t ->
includes:string ->
builtins:(Base.String.t * string * Base.String.t Base.List.t) Base.List.t ->
?conditional_includes:??? ->
compile_source:(name:Base.String.t -> Base.String.t -> 'b) ->
unit ->
'b
* ((Base.string * Backend_intf.kparam_source) Base.list
* Base.string
* Low_level.launch_dims)
Base.Array.tval compile :
name:Base.String.t ->
'a Indexing.bindings ->
Low_level.optimized ->
includes:string ->
builtins:(Base.String.t * string * Base.String.t Base.List.t) Base.List.t ->
?conditional_includes:??? ->
compile_source:(name:Base.String.t -> Base.String.t -> 'b) ->
unit ->
'b
* (Base.string * Backend_intf.kparam_source) Base.list
* Base.string
* Low_level.launch_dimsval compile_batch :
names:Base.String.t Base.Array.t ->
'a Indexing.bindings ->
Low_level.optimized Base.Array.t ->
includes:string ->
builtins:(Base.String.t * string * Base.String.t Base.List.t) Base.List.t ->
?conditional_includes:??? ->
compile_source:(name:Base.String.t -> Base.String.t -> 'b) ->
unit ->
'b
* ((Base.string * Backend_intf.kparam_source) Base.list
* Base.string
* Low_level.launch_dims)
Base.Array.t