Registering kernels#
- class MicrosoftKernelImplementation#
Selects the complete
com.microsoftimplementation family.NAIVEuses independent scalar correctness oracles;OPTIMIZEDuses production kernels.
- register_kernels(*, microsoft_implementation=MicrosoftKernelImplementation.OPTIMIZED)#
Legacy name that registers all kernels process-wide. The former ignored
sessargument was removed; useregister_kernels_for_session()for local registration. New global code can useregister_kernels_global()to make the scope explicit.
- register_kernel_global(domain, op_type, *, replace=True, microsoft_implementation=MicrosoftKernelImplementation.OPTIMIZED) bool#
Registers one native kernel in the process-wide dispatch table. Future sessions, and existing sessions that have not resolved the node yet, observe it. Already prepared sessions keep their cached kernel.
replace=Truereplaces an existing factory;replace=Falsekeeps it and returnsFalse. Unknown domain/operator pairs raiseValueError.
- register_kernels_global(*, replace=True, microsoft_implementation=MicrosoftKernelImplementation.OPTIMIZED) int#
Registers all shipped kernels globally and returns the number installed.
- register_kernel_for_session(sess, domain, op_type, *, replace=True, microsoft_implementation=MicrosoftKernelImplementation.OPTIMIZED) bool#
Registers one native compiled kernel on one
ReferenceEvaluator. The evaluator owns the registration for its lifetime; no other evaluator or the process-wide table is modified. The evaluator’s cached runtime session is reset so its next run observes the change.
- register_kernels_for_session(sess, *, replace=True, microsoft_implementation=MicrosoftKernelImplementation.OPTIMIZED) int#
Registers all shipped native kernels on one evaluator and returns the number installed. All four explicit APIs are idempotent in resulting state;
replace=Falsealso makes duplicate calls no-ops.from onnx_light.onnx.reference import ReferenceEvaluator from onnx_light_cpu import register_kernel_for_session, register_kernel_global register_kernel_global("", "Abs") local_sess = ReferenceEvaluator(model) register_kernel_for_session(local_sess, "", "Gemm")
- register_backend_test_cases() None#
Registers the onnx-light-cpu
test_cpu_*backend cases in onnx-light’s shared C++ backend test registry.
- has_backend_test_cases() bool#
Returns whether the
register_backend_test_casesbinding is available.
- class BackendCaseResult#
A skipped or failed backend correctness case, including its operator, case name, and reason.
- class BackendCorrectnessReport#
The executed and passed case counts and skipped and failed case results.
- run_backend_correctness_tests(microsoft_implementation=MicrosoftKernelImplementation.OPTIMIZED) BackendCorrectnessReport#
Registers onnx-light-cpu kernels and runs applicable onnx-light
TestMode.TESTbackend cases. Cases use onnx-light’s standardReferenceEvaluatorcomparison with their declared tolerances. The report records unsupported cases as skips and execution or comparison errors as failures; a kernel without an applicable correctness case is a failure.