add plot generation scripts adjust validation tools add up-to-date results
1.5 KiB
Operation validation suite
ONNX cases for compilation, functional Pim simulation, and comparison with the ONNX-MLIR reference runtime. Run commands from the repository root.
Generate and validate
.venv/bin/python validation/operations/gen_tests.py
.venv/bin/python validation/validate.py \
--raptor-path build_release/Release/bin/onnx-mlir \
--onnx-include-dir onnx-mlir/include \
--operations-dir validation/operations \
--raptor-extra-arg=--pim-detect-communication-deadlock
The complete suite uses parallel workers and must run outside the sandbox.
Point --operations-dir at a category or case, such as gemm/small below this
directory, for focused validation. Use --compile-only followed by --run-only
to separate compilation from execution.
See the validation guide for prerequisites, options, artifacts, and result interpretation.
Cases and naming
Models use <category>/<case>/<category>_<case>.onnx. The validator prints
<category>/<case> as the operation ID. Use lowercase snake_case and keep
the generator function, graph name, directory, and filename consistent.
The complete inventory describes all 177 checked-in cases.
The suite covers arithmetic and broadcasting, convolution strategies, matrix
products, pooling, reductions, activations, and tensor indexing/layout changes,
including chained and YOLO-derived regression cases. The case directories and
gen_tests.py define the inventory, shapes, attributes, and
constants; some checked-in models are hand-authored.