Sarek_matrix_adviceWhat matrix units could do for a recognised GEMM nest.
Static knowledge only: which Sarek_coopmat_types.config a lowering would use for the nest's element types, which backends can run it, and whether the result would stay bit-identical (Sarek_coopmat_types.accuracy_regime.Strict) or only bounded (Sarek_coopmat_types.accuracy_regime.Relaxed_bounded). Nothing here probes a device or changes code. Table: specs/matrix-pattern-advice.md.
How a lowering would change results. Not Sarek_coopmat_types.accuracy_regime on purpose: Relaxed_operands is a larger deviation than the Relaxed_bounded that Sarek_coopmat.accept_relaxed_accumulation admits, and must not be mistaken for it.
type advice = {case : element_case;config : Sarek_coopmat_types.config option;lowering : lowering option;accuracy_class : accuracy_class option;accuracy : string;backends : (string * string) list;backend, status
*)}val element_case : Sarek_matrix_pattern.gemm -> element_caseval advise : Sarek_matrix_pattern.gemm -> adviceval has_matrix_unit : advice -> boolA configuration exists for this nest.
val render :
?kernel_name:string ->
Sarek_matrix_pattern.gemm ->
advice ->
stringThe alert text, several lines.