Files
Raptor/validation/operations
NiccoloN 034c197260
Validate Operations / validate-operations (push) Failing after 3h10m55s
rework documentation
add plot generation scripts
adjust validation tools
add up-to-date results
2026-10-19 16:34:01 +02:00
..
2026-06-05 15:27:11 +02:00
2026-06-04 16:00:48 +02:00
2026-08-08 11:03:51 +02:00
2026-06-05 15:27:11 +02:00
2026-06-04 16:00:48 +02:00
2026-08-08 11:03:51 +02:00
2026-08-08 11:03:51 +02:00
2026-08-04 11:28:05 +02:00
2026-08-06 14:33:42 +02:00
2026-07-22 17:54:09 +02:00
2026-06-10 14:30:10 +02:00
2026-03-25 11:03:03 +01:00
2026-06-04 16:00:48 +02:00
2026-08-08 11:03:51 +02:00
2026-06-05 17:36:51 +02:00
2026-06-04 16:00:48 +02:00
2026-06-04 16:00:48 +02:00
2026-06-05 17:12:16 +02:00
2026-10-19 16:34:01 +02:00
2026-10-19 16:34:01 +02:00

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.