# 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 ```bash .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](../README.md) for prerequisites, options, artifacts, and result interpretation. ## Cases and naming Models use `//_.onnx`. The validator prints `/` as the operation ID. Use lowercase `snake_case` and keep the generator function, graph name, directory, and filename consistent. The [complete inventory](INVENTORY.md) 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`](gen_tests.py) define the inventory, shapes, attributes, and constants; some checked-in models are hand-authored.