Sarek_matrix_schememodule Affine = Sarek_ir_affinemodule P = Sarek_matrix_patternmodule C = Sarek_coopmat_typesval lowering_name : lowering -> stringval elt_bytes : Sarek_ir_types.elttype -> intval i32 : int -> Sarek_ir_types.exprval (+:) : Sarek_ir_types.expr -> Sarek_ir_types.expr -> Sarek_ir_types.exprval (-:) : Sarek_ir_types.expr -> Sarek_ir_types.expr -> Sarek_ir_types.exprval (*:) : Sarek_ir_types.expr -> Sarek_ir_types.expr -> Sarek_ir_types.exprval (/:) : Sarek_ir_types.expr -> Sarek_ir_types.expr -> Sarek_ir_types.exprval (%:) : Sarek_ir_types.expr -> Sarek_ir_types.expr -> Sarek_ir_types.exprval (<:) : Sarek_ir_types.expr -> Sarek_ir_types.expr -> Sarek_ir_types.exprval (&&:) : Sarek_ir_types.expr -> Sarek_ir_types.expr -> Sarek_ir_types.exprval gpu : string -> Sarek_ir_types.exprval new_var : fresh -> string -> Sarek_ir_types.elttype -> Sarek_ir_types.varval max_var_id : Sarek_ir_types.kernel -> intval let_ :
fresh ->
string ->
Sarek_ir_types.elttype ->
Sarek_ir_types.expr ->
(Sarek_ir_types.expr -> Sarek_ir_types.stmt) ->
Sarek_ir_types.stmtval for_ :
fresh ->
string ->
upto:int ->
(Sarek_ir_types.expr -> Sarek_ir_types.stmt) ->
Sarek_ir_types.stmttype address = {offset0 : Sarek_ir_types.expr;rs : Sarek_ir_types.expr;cs : Sarek_ir_types.expr;bs : Sarek_ir_types.expr;}val address :
Affine.env ->
P.operand ->
Sarek_ir_types.expr option ->
(address, string) Stdlib.resultval index :
address ->
row:Sarek_ir_types.expr ->
col:Sarek_ir_types.expr ->
z:Sarek_ir_types.expr ->
Sarek_ir_types.exprtype scheme = {planes : int;operand : C.component_type;acc : C.component_type;acc_elt : Sarek_ir_types.elttype;products : (int * int * int) list;(plane of A, plane of B, accumulator)
*)accumulators : int;stage : Sarek_ir_types.expr -> Sarek_ir_types.expr list;an operand element -> its plane values
*)}val int32_intrinsic : string -> Sarek_ir_types.expr list -> Sarek_ir_types.exprval bf16_round : Sarek_ir_types.expr -> Sarek_ir_types.exprval fzero : Sarek_ir_types.exprval scheme : operand_elt:Sarek_ir_types.elttype -> lowering -> schemeval pad : scheme -> intval choose_bk : scheme -> intval address_env : Sarek_ir_types.kernel -> P.gemm -> Affine.envval extra_param : fresh -> string -> Sarek_ir_types.varval uses_launch_dims : P.gemm -> bool