Sarek_interpreter.Interpreter_pluginmodule Interpreter_base : sig ... endReuse the existing Interpreter implementation
Extend Framework_sig.kargs with Interpreter-specific variant
type interp_intrinsic = {intr_name : string;intr_eval : Sarek.Sarek_ir_interp.value list -> Sarek.Sarek_ir_interp.value;intr_convergence : Spoc_framework.Framework_sig.convergence;}Interpreter-specific intrinsic implementation
Intrinsic registry for Interpreter-specific intrinsics
Interpreter Backend - implements BACKEND
val run_ir :
ir:Sarek_ir_types.kernel ->
block:Spoc_framework.Framework_sig.dims ->
grid:Spoc_framework.Framework_sig.dims ->
args:(string * Sarek.Sarek_ir_interp.arg) list ->
unitRun IR directly without going through execute_direct.
val register_intrinsic :
string ->
Interpreter_intrinsics.intrinsic_impl ->
unitRegister a custom interpreter intrinsic
val find_intrinsic : string -> Interpreter_intrinsics.intrinsic_impl optionLook up an interpreter intrinsic