Sourceval prod : int array -> int Sourceval ensure3 : int array -> int array Sourceval contiguous_strides_elems : int array -> int array Sourcetype axis_role = [ | `Normal| `Reduction
] Sourcetype mapping = {block : int list;thread : int list;vec : int list;serial : int list;
} Sourcetype iter_space = {axes : axis array;mapping : mapping;tiles : int list array;
} Sourcetype memory_scope = | Global| Shared| Register
Sourcetype layout = {shape : int array;strides : int array;alignment : int;vector_width : int;contiguous_axes : int list;
} Sourcetype allocation = {scope : memory_scope;size_bytes : int;lifetime : int * int;alias_group : int option;
} Sourcetype loop_hint = | Vectorize of {axis : int;width : int;
}| Unroll of {axis : int;factor : int;
}| Prefetch of {var : Var.t;into : memory_scope;distance : int;
}| Pipeline of {axis : int;stages : int;overlap : bool;
}
Sourcetype reduction_plan = {axes : int list;intra_thread : [ `Tree | `Welford | `Shfl | `None ];inter_thread : [ `SharedTree | `Atomic | `GridReduce ];
} Sourcetype schedule_context = {global_dims : int array;local_dims : int array;upcasted : int;device : string;stream : int option;
} Sourcetype scheduled_op = | S_Kernel of {kernel_id : int;kernel_name : string;ops : any_node list;inputs : buffer_info list;outputs : buffer_info list;iter : iter_space;reduce : reduction_plan option;hints : loop_hint list;context : schedule_context;
}| S_Memory_Transfer of {transfer_id : int;src_var : Var.t;dst_var : Var.t;src_device : string;dst_device : string;dims : int array;src_strides : int array option;dst_strides : int array option;size_bytes : int;is_async : bool;stream : int option;
}| S_Synchronization of {sync_id : int;sync_type : [ `Barrier | `Fence | `Event of int ];scope : [ `Threadgroup | `Device | `System ];devices : string list;stream : int option;
}| S_Host_Callback of {callback_id : int;callback_name : string;input_vars : Var.t list;output_vars : Var.t list;
}
Sourcetype dependency = {dep_from : int;dep_to : int;dep_vars : Var.t list;kind : [ `Data | `Control ];
} Sourcetype schedule_item = {item_id : int;operation : scheduled_op;depends_on : int list;dependents : int list;
} Sourcetype fusion_opportunity = {kernel_a : int;kernel_b : int;fusion_type : [ `Elementwise | `Reduction | `Mixed ];benefit_score : float;memory_saved : int;
} Sourcetype item_analysis = {item_id : int;flops : int;bytes_read : int;bytes_written : int;regs_per_thread : int;smem_bytes : int;occupancy : float;est_ns : int;
} Sourceval validate_dims3 : int array -> string -> unit Sourceval default_layout : ?vector_width:int -> ?alignment:int -> int array -> layout Sourceval create_memory_transfer :
transfer_id:int ->
src_var:Var.t ->
dst_var:Var.t ->
src_device:string ->
dst_device:string ->
dims:int array ->
?src_strides:int array ->
?dst_strides:int array ->
size_bytes:int ->
is_async:bool ->
stream:int option ->
unit ->
scheduled_op Sourceval create_synchronization :
sync_id:int ->
sync_type:[ `Barrier | `Event of int | `Fence ] ->
scope:[ `Device | `System | `Threadgroup ] ->
devices:string list ->
stream:int option ->
scheduled_op