Pull requests / #264

#264 tests: make iq_parity reproducible from a fresh checkout

closed · @j-luwierski · 0 评论 · 在 GitHub 查看

Setup & installModels & quants

描述

The i-quant fixtures were never published, so iq_parity reported ten "missing fixture" failures on any fresh tree.  tools/iq_fixture.py now generates them deterministically (seeded rows/cols, RandomState) into the BUILD directory: for each of the ten types it writes the raw block bytes (sane fp16 scales at each layout's scale offsets, seeded index and sub-scale bytes) plus the gguf-py dequantized reference - gguf-py is dequant-only for the i-quants, so no quantizer is needed, and Q2_0 (the repository's type 42) uses tools/gguf_writer.py's codec.  The kernel type ids in the headers match the vendored gguf-py's enum one for one. Dependencies: python3 with numpy and the vendored gguf-py - nothing is pip-installed, and CMake probes the configured interpreter and .venv, registering the tests only when a usable interpreter is found and saying so otherwise.

CTest now runs iq_parity (previously built but never registered) with the fixtures as an explicit CTest fixture: generation completes before the test even under parallel execution, and a generation failure fails the run.  The missing-fixture diagnostic names both candidate files and the generating command; the nonzero exit is preserved.

站内延伸阅读

链到安装、模型与版本说明,便于 SEO/GEO,非官方 issue 正文。