hipengine 0.2.1__tar.gz → 0.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {hipengine-0.2.1 → hipengine-0.2.2}/CHANGELOG.md +35 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/PKG-INFO +1 -1
- {hipengine-0.2.1 → hipengine-0.2.2}/WORKLOG.md +87 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/docs/API.md +17 -4
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/generation/qwen35_paro.py +43 -9
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/llm.py +30 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/loading/qwen35_paro.py +2 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/runtime/qwen35_paro_runner.py +431 -2
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/server/__main__.py +35 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/server/api.py +306 -17
- {hipengine-0.2.1 → hipengine-0.2.2}/pyproject.toml +1 -1
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_generation_qwen35_paro.py +68 -1
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_server_api.py +119 -3
- {hipengine-0.2.1 → hipengine-0.2.2}/.gitattributes +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/.github/workflows/publish.yml +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/.gitignore +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/AGENTS.md +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/CLAUDE.md +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/LICENSE +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/README.md +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/7900XTX.md +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/CHANGELOG.md +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/MTP.md +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/README.md +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/W7900.md +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/configs/llamacpp-mtp-qwen36-27b.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/prompts/mtpbench-code-general-ja.jsonl +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/.gitkeep +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-13-hipengine-qwen35-paro-optimal-blocked.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-13-source-lineage-qwen35-paro-optimal-4k-128.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-13-source-lineage-qwen35-paro-optimal-512-128.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-14-hipengine-qwen35-c1-parent-fixture-blocked.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-14-hipengine-qwen35-cn-correctness-blocked.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-14-hipengine-qwen35-paro-512-128-ab-fused-lmhead128-graph-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-14-hipengine-qwen35-paro-512-128-c1-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-14-hipengine-qwen35-paro-512-128-graph-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-14-hipengine-qwen35-paro-512-128-linear-qkv-z-full-qk-fused-graph-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-14-hipengine-qwen35-paro-512-128-linear-qkv-z-fused-graph-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-14-hipengine-qwen35-paro-512-128-lmhead128-qk-qkvz-fused-graph-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-14-hipengine-qwen35-paro-512-128-tokenizer-cache-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-0p8b-paro-512-128-blocked.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-c1-parent-fixture-accepted.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-c1-parent-mixed-blocked.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-c1-router-qnorm-blocked.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-c1-scheduler-serial-bench-blocked.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-c2-native-compact-prefill-correctness-accepted.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-c2-scheduler-serial-bench-blocked.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-c2-scheduler-serial-runner-accepted.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-c2-serial-slot-runner-accepted.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-c4-native-compact-prefill-correctness-accepted.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-c4-scheduler-serial-bench-blocked.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-c4-scheduler-serial-runner-accepted.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-c8-native-compact-prefill-correctness-accepted.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-c8-scheduler-serial-bench-blocked.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-c8-scheduler-serial-runner-accepted.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-cn-generated-equality-accepted.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-dflash-ddtree-blocked.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-linear-attn-segment-prefill-accepted.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-native-prefill-compact-c8-blocked.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-native-prefill-full-attn-boundary-blocked.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-native-prefill-full-single-request-accepted.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-native-prefill-multiloop-512-4k-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-native-prefill-plan-blocked.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-native-prefix-layer0-attention-accepted.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-native-prefix-layer0-attn-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-native-prefix-layer0-decode-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-native-prefix-layer0-gated-recurrent-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-native-prefix-layer0-stage-bisect-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-native-prefix-layer3-fullattn-stage-accepted.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-native-prefix-prefill-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-native-prefix-scratch-restore-sweep.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-native-prefix-serial-fullattn-layer4-accepted.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-native-prefix-serial-suffix-full40-accepted.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-native-prefix-sweep-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-prefix-bisect-blocked.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-15-hipengine-qwen35-varlen-full-attn-prefill-accepted.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-16-hipengine-gguf-q4k-pack8-bf16out-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-16-hipengine-gguf-q4k-pack8-gemv-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-16-hipengine-gguf-qwen35-e2e-correctness-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-16-hipengine-gguf-vs-paro-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-16-hipengine-qwen35-aotriton-cast-glue-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-16-hipengine-qwen35-aotriton-gate-rotate-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-16-hipengine-qwen35-aotriton-threshold-sweep-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-16-hipengine-qwen35-aotriton-v3-memory-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-16-hipengine-qwen35-aotriton-v3-prefill-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-16-hipengine-qwen35-comparison-tables-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-16-hipengine-qwen35-decode-graph-replay-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-16-hipengine-qwen35-long-checkpoint-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-16-hipengine-qwen35-prefill-chunking-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-gfx1151-shisa-qwen36-packed-canonical-sweep-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-gfx1151-shisa-qwen36-packed-chunk256-sweep-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-gguf-aotriton-v3-prefill-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-gguf-bulk-prefill-q4km-accepted.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-gguf-decode-graph-replay-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-gguf-full-attn-gpu-prelude-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-gguf-local-quant-coverage-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-gguf-prefill-projection-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-gguf-q4km-parity-benchmark-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-gguf-resident-session-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen35-08b-gfx1151-dense-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen35-35b-qwen36-27b-gfx1151-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen35-d11-rotate-dual-pack8-fusion-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen35-d12-rmsnorm-producer-fusion-deferred.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen35-d13-same-input-projection-fusions-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen35-d14-selected-moe-postop-fold-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen35-d15-router-coop-fold-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen35-d16-kv-pack8-fusion-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen35-d21-marlin-k-qweight-neutral-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen35-d31-d33-grouped-gqa-long-context-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen35-d42-dispatch-cap-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen35-d44-launch-bounds-deferred.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen35-d51-gdn-decode-audit.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen35-d52-w8a16-decode-audit.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen35-p33-moe-metadata-fanout-deferred.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen35-p52-prefill-chunk-autotune-accepted.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen35-qwen36-p11-rocblas-ab-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen35-qwen36-p12-shared-gate-up-token-tile-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen35-qwen36-p13-shared-down-combine-token-tile-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen35-qwen36-p14-moe-wmma-threshold-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen35-qwen36-p16-prefill-mcumode-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen35-qwen36-p31-gdn-rotate-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen35-qwen36-p32-router-sigmoid-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen35-qwen36-paro-dual-format-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen35-qwen36-w1-unroll600-ablation-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen35-rocprof-amdahl-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen36-35b-a3b-q4km-512-128-paro-blocker-profile.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen36-35b-a3b-q4km-bench-paro-comparison-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen36-35b-a3b-q4km-bulk-moe-prefill-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen36-35b-a3b-q4km-bulk-parity-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen36-35b-a3b-q4km-decode-pack8-raw-partial.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen36-35b-a3b-q4km-decode-profile-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen36-35b-a3b-q4km-expert-pack8-sidecar-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen36-35b-a3b-q4km-fast-bulk-default-promoted-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen36-35b-a3b-q4km-full-attn-parity-fixed-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen36-35b-a3b-q4km-intake-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen36-35b-a3b-q4km-linear-recurrent-parity-fixed-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen36-35b-a3b-q4km-native-attention-bulk-moe-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen36-35b-a3b-q4km-public-generate-smoke.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen36-35b-a3b-q4km-selected-device-experts-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen36-packed-shared-decode-fusion-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen36-shisa-force-legacy-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-hipengine-qwen36-shisa-packed-vs-legacy-refresh-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-llamacpp-hip-qwen36-peak.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-llamacpp-upstream-gfx1151-qwen36-gguf-rerun-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-17-llamacpp-vulkan-qwen36-peak.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-18-hipengine-gfx1100-qwen36-27b-paro-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-18-hipengine-gfx1100-shisa-qwen36-packed-gt1k-default-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-18-hipengine-p8_2-dense-q4k-wmma-prefill-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-18-hipengine-qwen35-gt1k-prefill-chunk-policy-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-18-hipengine-qwen35-int8-kv-128k-quality-perf-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-18-hipengine-qwen35-int8-kv-256k-capacity-blocked.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-18-hipengine-qwen35-int8-kv-256k-single-buffer-capacity-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-18-hipengine-qwen35-int8-kv-aotriton-query-reuse-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-18-hipengine-qwen35-int8-kv-scratch-release-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-18-hipengine-qwen36-35b-a3b-q4km-p8-compact-moe-wmma-accepted.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-18-hipengine-qwen36-35b-a3b-q4km-p9_a3-gdn-k2-chain-accepted.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-18-hipengine-qwen36-35b-a3b-q4km-p9_c1-wmma-tile-sweep-blocked.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-18-hipengine-qwen36-35b-a3b-q4km-p9_c10-combined-gap-analysis.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-18-hipengine-qwen36-35b-a3b-q4km-p9_c11-hot-expert-final-blocked.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-18-hipengine-qwen36-35b-a3b-q4km-p9_c3-selected-moe-profile.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-18-hipengine-qwen36-35b-a3b-q4km-p9_c4-q4-hot-fulltile-v1-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-18-hipengine-qwen36-35b-a3b-q4km-p9_c5-q4-sidemeta-v1-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-18-hipengine-qwen36-35b-a3b-q4km-p9_c7-q5-opt-v1-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-18-hipengine-qwen36-35b-a3b-q4km-p9_c8-q6-retain-legacy.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-18-hipengine-qwen36-35b-a3b-q4km-p9_c9-tail-no-padding-not-retained.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-18-hipengine-qwen36-35b-a3b-q4km-prefill-q8-wmma-p8_1.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-19-hipengine-qwen36-35b-a3b-q4km-p9_b7-decode-gemv-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-19-hipengine-qwen36-35b-a3b-q4km-p9_c12-q4t16-repack-design.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-19-hipengine-qwen36-35b-a3b-q4km-p9_c13-q4t16-materializer.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-19-hipengine-qwen36-35b-a3b-q4km-p9_e2-e2e-correctness-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-19-hipengine-qwen36-35b-a3b-q4km-p9_h1-fastpath-safety-correctness-accepted.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-19-hipengine-qwen36-35b-a3b-q4km-p9_h2-decode-repack-design.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-19-hipengine-qwen36-35b-a3b-q4km-p9_h3-t16-512x128-bench.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-19-hipengine-qwen36-35b-a3b-q4km-p9_h3-t16-e2e-correctness-accepted.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-19-hipengine-qwen36-35b-a3b-q4km-p9_h3-t16-rocprof-512x16-summary.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-19-hipengine-qwen36-packed-int8-kv-readme-memory-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-19-llamacpp-mtp-qwen36-27b-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-20-hipengine-qwen36-35b-a3b-q4km-p10-b5-p9-e2e-gate-blocked.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-20-hipengine-qwen36-35b-a3b-q4km-p10-b6-acceptance-blocked.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-20-hipengine-qwen36-35b-a3b-q4km-p10-wave1-blocked.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-20-hipengine-qwen36-35b-a3b-q4km-p9_c14-q4t16-selected-wmma-prototype.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-20-hipengine-qwen36-35b-a3b-q4km-p9_c15-q4t16-replay-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-20-hipengine-qwen36-35b-a3b-q4km-p9_c16-selected-moe-alternatives.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-20-hipengine-qwen36-35b-a3b-q4km-p9_c17-no-q4-redesign-blocked.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-20-hipengine-qwen36-35b-a3b-q4km-p9_d1-router-split-coop.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-20-hipengine-qwen36-35b-a3b-q4km-p9_d10-q8t16-dual-split-64.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-20-hipengine-qwen36-35b-a3b-q4km-p9_d11-rejected-q8t16-shared-silu.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-20-hipengine-qwen36-35b-a3b-q4km-p9_d15-dense-dual-alpha-beta.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-20-hipengine-qwen36-35b-a3b-q4km-p9_d16-q8t16-f32-ssm-out.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-20-hipengine-qwen36-35b-a3b-q4km-p9_d17-key-bf16-rope.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-20-hipengine-qwen36-35b-a3b-q4km-p9_d18-splitk-gqa-gate.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-20-hipengine-qwen36-35b-a3b-q4km-p9_d2-bf16-key-rope-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-20-hipengine-qwen36-35b-a3b-q4km-p9_d4-q4t16-silu-decode.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-20-hipengine-qwen36-35b-a3b-q4km-p9_d6-q8t16-pair-dispatch.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-20-hipengine-qwen36-35b-a3b-q4km-p9_d7-q8t16-qkv-gate-pair.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-20-hipengine-qwen36-35b-a3b-q4km-p9_d8-q8t16-dcache-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-20-hipengine-qwen36-35b-a3b-q4km-p9_d9-q8t16-triple-qkv.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-20-hipengine-qwen36-35b-a3b-q4km-p9_g1-final-acceptance-blocked.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-20-hipengine-qwen36-35b-a3b-q4km-p9_h3-rejected-attn-gate-fusion.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-20-hipengine-qwen36-35b-a3b-q4km-p9_h3-rejected-attn128.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-20-hipengine-qwen36-35b-a3b-q4km-p9_h3-rejected-q4t16-silu256.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-20-hipengine-qwen36-35b-a3b-q4km-p9_h3-rejected-q5q6-direct-probes.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-20-hipengine-qwen36-35b-a3b-q4km-p9_h3-rejected-q6dense-dpreload.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-21-hipengine-qwen36-35b-a3b-q4km-p10-aotriton-v2-v3-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-21-hipengine-qwen36-35b-a3b-q4km-p10-d10-splitk-rocprof.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-21-hipengine-qwen36-35b-a3b-q4km-p10-d11-comparison-review.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-21-hipengine-qwen36-35b-a3b-q4km-p10-d8-splitk-decode.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-21-hipengine-qwen36-35b-a3b-q4km-p10-d9-splitk-sweep.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-21-hipengine-qwen36-35b-a3b-q4km-p10-decode-repack-residency-audit.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-21-hipengine-qwen36-35b-a3b-q4km-p10-long-context-chunked-smoke.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-21-hipengine-qwen36-35b-a3b-q4km-p10-long-context-preflight-blocked.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-21-hipengine-qwen36-35b-a3b-q4km-p10-memory-decode-pass-review.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-21-hipengine-qwen36-35b-a3b-q4km-p10-no-prefill-scratch-kv.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-21-hipengine-qwen36-35b-a3b-q4km-p10-q8-t16-scale-broadcast-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-21-hipengine-qwen36-35b-a3b-q4km-p10-r0-rocprof-baseline.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-21-hipengine-qwen36-35b-a3b-q4km-p10-r1-post-x1-rocprof.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-21-hipengine-qwen36-35b-a3b-q4km-p10-retained-safe-mode.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-21-hipengine-qwen36-35b-a3b-q4km-p10-selected-moe-t16-launchbounds-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-21-hipengine-qwen36-35b-a3b-q4km-p10-task39-32k-smoke.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-21-hipengine-qwen36-35b-a3b-q4km-p10-task40-prefill-vs-paro-diagnosis.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-21-hipengine-qwen36-35b-a3b-q4km-p10-x1-correctness-plus-x2-wmma-blocker.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-21-local-rx7900xtx-gguf-vs-paro-memory-comparison.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-22-hipengine-qwen36-35b-a3b-q4km-q4ks-after-memory-decode-pass-review.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-22-hipengine-qwen36-35b-a3b-q4km-q4ks-direct-selected-moe-c1-4k128-accepted.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-22-hipengine-qwen36-35b-a3b-q4km-q4ks-final-gate-4k128-accepted.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-22-hipengine-qwen36-35b-a3b-q4km-q4ks-q8-t16-decode-probes-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-22-hipengine-qwen36-35b-a3b-q4km-q4ks-q8-t16-second-pass-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-22-hipengine-qwen36-35b-a3b-q4km-q4ks-router256-4k128-accepted.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-22-hipengine-qwen36-35b-a3b-q4km-q4ks-selected-moe-down64-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-22-hipengine-qwen36-35b-a3b-q4km-q4ks-selected-moe-t16-qk256-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-22-hipengine-qwen36-35b-a3b-q4km-q4ks-small-kernel-second-pass-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-22-hipengine-qwen36-35b-a3b-q4km-q4ks-small-kernel-third-pass-rejected.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-hipengine-qwen36-35b-a3b-q4ks-persistent-session-w7900-gap-review.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-hipengine-qwen36-35b-a3b-q4ks-w7900-cold-start-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-hipengine-qwen36-35b-a3b-q4ks-w7900-readme-sweep-accepted.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-hipengine-qwen36-35b-a3b-q4ks-w7900-therock713-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-hipengine-w7900-therock713-gguf-paro-512-4k-spot-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-paro-512-prefill-workspace-overlap-rootcause-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-paro-prefill-workspace-overlap-threshold-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-rx7900xtx-hipengine-gguf-q4km-1024-128.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-rx7900xtx-hipengine-gguf-q4km-131072-128-blocked.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-rx7900xtx-hipengine-gguf-q4km-32768-128.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-rx7900xtx-hipengine-gguf-q4km-4096-128.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-rx7900xtx-hipengine-gguf-q4km-512-128-rerun.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-rx7900xtx-hipengine-gguf-q4km-65536-128-blocked.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-rx7900xtx-hipengine-gguf-q4ks-4096-128.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-rx7900xtx-hipengine-paro-bf16kv-1024-128.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-rx7900xtx-hipengine-paro-bf16kv-131072-128.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-rx7900xtx-hipengine-paro-bf16kv-32768-128.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-rx7900xtx-hipengine-paro-bf16kv-4096-128.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-rx7900xtx-hipengine-paro-bf16kv-512-128.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-rx7900xtx-hipengine-paro-bf16kv-65536-128.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-rx7900xtx-hipengine-paro-int8kv-131072-128.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-rx7900xtx-hipengine-paro-int8kv-65536-128.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-rx7900xtx-llamacpp-hip-q4km-f16kv-sweep.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-rx7900xtx-llamacpp-hip-q4km-q8kv-maxctx.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-rx7900xtx-llamacpp-vulkan-q4km-f16kv-sweep.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-rx7900xtx-llamacpp-vulkan-q4km-q8kv-maxctx.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-rx7900xtx-paro-v011-current-regression-check.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-rx7900xtx-rocm7130423-current-head-paro-512-4k-check.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-rx7900xtx-rocm7130423-pure-current-head-paro-512-4k-check.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-rx7900xtx-rocm7130423-pure-packed-qwen36-paro-512-4k-check.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-rx7900xtx-rocm714-current-head-paro-512-4k-check.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-23-w7900-hipengine-therock713-paro-gguf-sweep-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-25-w7900-hipengine-gguf-q4ks-readme-persistent-5run.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-25-w7900-hipengine-paro-readme-persistent-5run.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/benchmarks/results/2026-05-25-w7900-hipengine-readme-persistent-5run-diagnostic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/docs/BENCHMARK.md +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/docs/DFLASH.md +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/docs/ENVS.md +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/docs/GGUF.md +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/docs/GGUF_DECODE_REPACK.md +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/docs/IMPLEMENTATION.md +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/docs/KERNELS.md +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/docs/KVCACHE.md +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/docs/LESSONS-LEARNED.md +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/docs/MARLIN.md +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/docs/MTP.md +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/docs/OPTIMIZE-DENSE.md +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/docs/OPTIMIZE.md +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/docs/PLAN.md +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/docs/PREFILL.md +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/docs/PUBLISH.md +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/docs/README.md +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/docs/RELAXED.md +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/docs/ROOFLINE-gfx1151.md +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/docs/ROOFLINE.md +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/docs/SPECULATIVE-DECODE.md +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/docs/TESTING.md +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/docs/source_lineage.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/fixtures/qwen35_paro/parent_512_32_seed1234.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hatch_build.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/benchmark/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/benchmark/correctness.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/core/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/core/build.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/core/device.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/core/dtype.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/core/hip.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/core/memory.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/core/rocblas.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/core/tensor.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/dispatch/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/dispatch/batch.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/dispatch/fusion.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/dispatch/kv.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/distributed/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/generation/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/generation/batch_scheduler.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/generation/qwen35_gguf.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/generation/registry.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/backends.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/cpu_reference/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/cpu_reference/fixtures.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/cpu_reference/ops.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/cuda_sm86/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_release.toml +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/MANIFEST.vendor.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/_internal/aiter_hip_common.h +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/_internal/flash/aiter.h +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/_internal/kernel_cluster.h +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/_internal/lazy_tensor_internal.h +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/_internal/packed_kernel.h +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/_internal/triton_kernel.h +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/_internal/util.h +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/config.h +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/cpp_tune.h +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/dtypes.h +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/flash.h +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/runtime.h +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/util.h +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/v2/flash.h +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/lib/aotriton.images/amd-gfx11xx/flash/attn_fwd/FONLY__/357/274/212bf16@16_256_F_F_0_0___gfx11xx.aks2" +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/lib/aotriton.images/amd-gfx11xx/flash/attn_fwd/FONLY__/357/274/212bf16@16_256_F_F_0_1___gfx11xx.aks2" +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/lib/aotriton.images/amd-gfx11xx/flash/attn_fwd/FONLY__/357/274/212bf16@16_256_F_F_3_0___gfx11xx.aks2" +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/lib/aotriton.images/amd-gfx11xx/flash/attn_fwd/FONLY__/357/274/212bf16@16_256_F_T_0_0___gfx11xx.aks2" +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/lib/aotriton.images/amd-gfx11xx/flash/attn_fwd/FONLY__/357/274/212bf16@16_256_F_T_0_1___gfx11xx.aks2" +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/lib/aotriton.images/amd-gfx11xx/flash/attn_fwd/FONLY__/357/274/212bf16@16_256_F_T_3_0___gfx11xx.aks2" +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/lib/aotriton.images/amd-gfx11xx/flash/attn_fwd/FONLY__/357/274/212bf16@16_256_T_F_0_0___gfx11xx.aks2" +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/lib/aotriton.images/amd-gfx11xx/flash/attn_fwd/FONLY__/357/274/212bf16@16_256_T_F_0_1___gfx11xx.aks2" +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/lib/aotriton.images/amd-gfx11xx/flash/attn_fwd/FONLY__/357/274/212bf16@16_256_T_F_3_0___gfx11xx.aks2" +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/lib/aotriton.images/amd-gfx11xx/flash/attn_fwd/FONLY__/357/274/212bf16@16_256_T_T_0_0___gfx11xx.aks2" +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/lib/aotriton.images/amd-gfx11xx/flash/attn_fwd/FONLY__/357/274/212bf16@16_256_T_T_0_1___gfx11xx.aks2" +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/lib/aotriton.images/amd-gfx11xx/flash/attn_fwd/FONLY__/357/274/212bf16@16_256_T_T_3_0___gfx11xx.aks2" +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/lib/libaotriton_v2.so +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/lib/libaotriton_v2.so.0.11.2 +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_wrap.cc +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/aotriton_wrap.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/paged_attn_decode.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/paged_attn_decode.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/paged_kv_write.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/attention/paged_kv_write.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/common/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/convert/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/convert/cast.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/convert/cast.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/fused/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/fused/gguf_ops.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/fused/gguf_ops.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/fused/paro_combine.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/fused/paro_combine.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/fused/paro_silu.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/fused/paro_silu.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/linear/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/linear/dense_gemv.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/linear/dense_gemv.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/linear/lm_head.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/linear/lm_head.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/linear_attn/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/linear_attn/conv.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/linear_attn/conv.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/linear_attn/gdn.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/linear_attn/gdn.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/moe/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/moe/group_scatter.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/moe/group_scatter.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/moe/prefill.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/moe/router.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/moe/router.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/norm/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/norm/rmsnorm.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/norm/rmsnorm.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_expert_pack8_gemv.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_expert_pack8_gemv.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_k_gemv.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_k_gemv.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_k_selected_pack8_gemv.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_k_selected_pack8_gemv.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_k_selected_prefill.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_k_selected_prefill.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_k_t16_selected_prefill.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_k_t16_selected_prefill.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_gemv.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_gemv.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_pack8_gemv.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_pack8_gemv.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_prefill.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_prefill.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_selected_pack8_gemv.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_selected_pack8_gemv.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_selected_prefill.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_selected_prefill.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_t16_selected_prefill.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_t16_selected_prefill.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_q6_k_embedding.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_q6_k_embedding.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_q6_k_pack8_gemv.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_q6_k_pack8_gemv.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_q6_k_t16_gemv.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_q6_k_t16_gemv.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_pack8_gemv.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_pack8_gemv.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_prefill.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_prefill.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_t16_gemv.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_t16_gemv.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_t16_prefill.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_t16_prefill.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_t16_selected_gemv.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/gguf_t16_selected_gemv.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/paro_awq_gemv.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/paro_awq_gemv.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/paro_marlin_k.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/paro_marlin_k.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/w8a16_linear.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/quant/w8a16_linear.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/rotary/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/rotary/paro_rotate.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/rotary/paro_rotate.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/rotary/qwen35_rotary.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/rotary/qwen35_rotary.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/runtime/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/runtime/state.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/runtime/state.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/smoke/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/smoke/smoke_add.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/smoke/smoke_add.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/wmma/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/wmma/paro_awq_wmma.hip +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1100/wmma/paro_awq_wmma.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/hip_gfx1151/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kernels/registry.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kvcache/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kvcache/policy.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/kvcache/spans.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/layers/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/layers/base.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/loading/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/loading/gguf.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/loading/hf_cache.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/loading/materialize.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/loading/qwen35_gguf.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/loading/qwen35_gguf_expert_sidecar.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/loading/qwen35_gguf_materialize.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/loading/safetensors.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/models/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/models/base.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/models/qwen35.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/models/registry.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/models/toy.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/quant/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/quant/base.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/quant/bf16.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/quant/fp16.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/quant/gguf.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/quant/gguf_k.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/quant/gguf_q4_k.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/quant/gguf_t16.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/quant/registry.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/quant/w4_paro.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/runtime/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/runtime/gguf_embedding.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/runtime/gguf_linear.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/runtime/prefill.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/runtime/qwen35_gguf_runner.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/runtime/qwen35_paro.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/runtime/workspace.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/server/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/speculative/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/speculative/interfaces.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/tokenization/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/tokenization/gguf.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/util/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/hipengine/util/amdgpu_vram.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/__init__.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/check_fixtures.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/check_lineage.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/fetch_aotriton.sh +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/gdn_decode_probe.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/gguf_k_gemv_smoke.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/gguf_prefill_projection_smoke.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/gguf_q6_k_embedding_smoke.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/inspect_gguf.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/llamacpp_bench_with_peak.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/llamacpp_mtp_bench.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_batch_correctness.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_batch_packed_prefill_correctness.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_batch_serial_bench.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_batch_serial_correctness.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_compare_tables.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_decode_graph_fixture_gate.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_dflash_ddtree_blocker.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_e2e_correctness.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_gguf_aotriton_prefill_sweep.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_gguf_bench.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_gguf_build_expert_sidecar.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_gguf_bulk_parity.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_gguf_decode_graph_smoke.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_gguf_e2e_correctness.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_gguf_expert_pack8_smoke.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_gguf_moe_replay.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_gguf_p9_e2e_correctness.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_gguf_rocprof_summary.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_kv_e2e_fixture_gate.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_kv_int8_accuracy.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_kv_policy_args.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_native_compact_prefill_plan.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_native_prefill_boundary.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_native_prefill_correctness.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_native_prefill_fixture_gate.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_native_prefill_fullattn_stage_probe.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_native_prefill_plan.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_native_prefill_stage_probe.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_paro_bench.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_paro_next_token.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_paro_packed_bench.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_readme_sweep.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/qwen35_rocprof_audit.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/resolve_worklog_conflict.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/smoke.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/strip_paro_safetensors.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/vendor_aotriton.sh +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/scripts/w8a16_decode_probe.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/_gguf_synthetic_weights.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/conftest.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/fixtures/cpu_reference/attention_decode_masked.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/fixtures/cpu_reference/full_attn_prefill_causal_gqa_gate.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/fixtures/cpu_reference/kv_int8_dequant_per_token_head.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/fixtures/cpu_reference/linear_basic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/fixtures/cpu_reference/paged_attn_decode_int8_per_token_head.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/fixtures/cpu_reference/rmsnorm_basic.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/fixtures/cpu_reference/rotate_split_half.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/fixtures/gguf/qwen35_0_8b_q4_1_e2e.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/fixtures/gguf/qwen35_0_8b_q4_k_m_e2e.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/fixtures/gguf/qwen35_0_8b_q8_0_e2e.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/fixtures/gguf/qwen35_0_8b_ud_q4_k_xl_e2e.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/fixtures/gguf/qwen36_35b_a3b_q4km_p9_e2e.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/fixtures/gguf/qwen36_35b_a3b_q4km_smoke.json +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_aotriton_discovery.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_build.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_cast_plan.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_check_lineage.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_cpu_reference.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_dense_gemv_plan.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_dispatch_batch.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_fusion_spike.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_generation_batch_scheduler.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_gfx1151_backend.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_gguf_e2e_acceptance.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_gguf_embedding_dispatch.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_gguf_expert_pack8_gemv.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_gguf_gemv_decode_dispatch.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_gguf_k_gemv.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_gguf_k_selected_pack8_gemv_decode.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_gguf_k_selected_wmma_prefill.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_gguf_k_t16_selected_wmma_prefill.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_gguf_linear_dispatch.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_gguf_ops.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_gguf_q4_k_gemv.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_gguf_q4_k_pack8_gemv_decode.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_gguf_q4_k_selected_dual_pack8_gemv_decode.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_gguf_q4_k_selected_wmma_prefill.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_gguf_q4_k_t16_selected_wmma_prefill.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_gguf_q4_k_tile16_repack.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_gguf_q4_k_wmma_prefill.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_gguf_q6_k_embedding.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_gguf_q6_k_pack8_gemv_decode.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_gguf_q6_k_t16_gemv_decode.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_gguf_q8_0_pack8_gemv_decode.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_gguf_q8_0_t16_gemv_decode.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_gguf_q8_0_t16_wmma_prefill.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_gguf_q8_0_wmma_prefill.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_gguf_q8_0_wmma_prefill_dual.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_gguf_quant_layout.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_gguf_reader.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_gguf_t16_repack.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_gguf_t16_selected_gemv_decode.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_hf_cache.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_hip_runtime.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_kernel_registry.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_kv_dispatch.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_kvcache_policy.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_kvcache_spans.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_llm_generate.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_llm_gguf_generate_path.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_lm_head_plan.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_loading_materialize.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_loading_safetensors.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_memory_stats.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_model_quant_and_imports.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_paro_awq_gemv_plan.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_paro_awq_wmma_plan.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_paro_combine_plan.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_paro_rotate_plan.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_paro_silu_plan.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_bench_memory_audit.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_decode_state.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_gguf_chunked_prefill.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_gguf_compact_moe_gemv_routing.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_gguf_compact_moe_wmma_resolver.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_gguf_compact_moe_wmma_routing.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_gguf_decode_graph_policy.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_gguf_decode_repack_dispatch.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_gguf_decode_repack_semantics.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_gguf_expert_sidecar.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_gguf_fastpath_safety.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_gguf_full_attention_gpu.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_gguf_gdn_prefill_correctness.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_gguf_gdn_prefill_routing.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_gguf_mapping.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_gguf_materialize.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_gguf_moe_replay.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_gguf_p10_x2_layer_correctness.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_gguf_p9_e2e_correctness.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_gguf_rocprof_summary.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_gguf_runner.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_gguf_tokenizer.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_kv_e2e_fixture_gate.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_kv_int8_accuracy.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_linear_attn_conv_plan.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_linear_attn_gdn_plan.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_moe_group_scatter_plan.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_native_prefill_boundary.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_native_prefill_fullattn_stage_probe.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_paged_attn_decode_plan.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_paged_kv_write_plan.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_paro_layout.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_paro_marlin_k.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_prefill_workspace_policy.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_resident_batch_layout.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_rmsnorm_plan.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_rotary_plan.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_qwen35_router_plan.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_runtime_state_plan.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_runtime_workspace.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_smoke_add_plan.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_speculative_interfaces.py +0 -0
- {hipengine-0.2.1 → hipengine-0.2.2}/tests/test_w8a16_linear_plan.py +0 -0
|
@@ -6,6 +6,41 @@ This changelog is for package/API releases. Performance rollup history remains i
|
|
|
6
6
|
[`benchmarks/CHANGELOG.md`](benchmarks/CHANGELOG.md), with detailed benchmark
|
|
7
7
|
evidence under [`benchmarks/results/`](benchmarks/results/).
|
|
8
8
|
|
|
9
|
+
## Unreleased
|
|
10
|
+
|
|
11
|
+
No changes yet.
|
|
12
|
+
|
|
13
|
+
## v0.2.2 - 2026-05-26
|
|
14
|
+
|
|
15
|
+
Patch release improving server startup context preallocation, KV memory
|
|
16
|
+
admission, and request defaults.
|
|
17
|
+
|
|
18
|
+
### Added
|
|
19
|
+
|
|
20
|
+
- Server-wide resident context/KV preallocation controls:
|
|
21
|
+
`--max-context-tokens`, `--kv-storage`, `--kv-scale-dtype`, and
|
|
22
|
+
`--kv-scale-granularity`. Eager startup prepares the resident PARO session for
|
|
23
|
+
the configured context, and requests beyond that context or with a different
|
|
24
|
+
KV policy are rejected instead of resizing/reloading the model.
|
|
25
|
+
- Automatic server context sizing when `--max-context-tokens` is omitted: after
|
|
26
|
+
resident weights load, the runtime estimates the selected KV dtype plus
|
|
27
|
+
persistent context metadata and preallocates
|
|
28
|
+
`min(model_max_context_tokens, allocatable_context_tokens)`.
|
|
29
|
+
- Fast PARO retained-KV capacity estimate during resident session build. The
|
|
30
|
+
runtime uses current `hipMemGetInfo` after model weights load to report the
|
|
31
|
+
estimated max context for the selected KV dtype and for INT8 KV, warning when
|
|
32
|
+
INT8 still falls below the model's advertised max context.
|
|
33
|
+
|
|
34
|
+
### Changed
|
|
35
|
+
|
|
36
|
+
- Chat requests that omit `max_tokens` now use `max_tokens=auto`, meaning the
|
|
37
|
+
remaining admitted context (`max_context_tokens - prompt_tokens - 1`).
|
|
38
|
+
|
|
39
|
+
### Fixed
|
|
40
|
+
|
|
41
|
+
- Clean up partially-built PARO resident sessions if capacity preflight or
|
|
42
|
+
allocation fails, avoiding leaked resident buffers on startup/admission OOM.
|
|
43
|
+
|
|
9
44
|
## v0.2.1 - 2026-05-25
|
|
10
45
|
|
|
11
46
|
Patch release improving server session management, streaming, and
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hipengine
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.2
|
|
4
4
|
Summary: ROCm-native local LLM inference engine with a torch-free runtime hot path
|
|
5
5
|
Project-URL: Homepage, https://github.com/shisa-ai/hipEngine
|
|
6
6
|
Project-URL: Repository, https://github.com/shisa-ai/hipEngine
|
|
@@ -26634,3 +26634,90 @@ uv run --extra dev python -m pytest -q tests/test_server_api.py tests/test_llm_g
|
|
|
26634
26634
|
```
|
|
26635
26635
|
|
|
26636
26636
|
Restarted the LAN server from the local checkout with TheRock ROCm library paths. Eager startup completed after 31s, `/v1/models` returned `qwen-paro`, and VRAM was already resident at 19.54GB before serving requests. A subsequent streamed chat request returned the role chunk at 0.01s and reasoning chunks as `delta.reasoning_content` from 0.49s onward, with VRAM staying resident at 19.54GB. Server PID 12107, wrapper PID 12082, log `/tmp/hipengine-server-8000.log`.
|
|
26637
|
+
|
|
26638
|
+
## 2026-05-25 — PARO KV capacity preflight for server sizing
|
|
26639
|
+
|
|
26640
|
+
Revisited the first-request reload diagnosis. The chat default should remain `max_tokens=8192`; the real issue is that session sizing is request-driven, so a warmed 4096-token resident session can be discarded when a later request needs a larger KV arena. Before changing admission/preallocation policy, added a fast retained-KV capacity estimate in `Qwen35ParoResidentSession`: after resident weights load and before full-attention KV buffers are allocated, the runtime reads `hipMemGetInfo`, subtracts a configurable reserve (`HIPENGINE_KV_CAPACITY_RESERVE_MIB`, default 512 MiB), computes bytes/token for the selected KV dtype and for INT8 KV, emits structured progress records, and logs a warning when INT8 capacity is below the model's advertised max context. This gives startup logs such as "INT8 KV can fit about N tokens vs model max M" instead of discovering the limit via an OOMing `hipMalloc`.
|
|
26641
|
+
|
|
26642
|
+
Wired the estimate into server policy: `ServerConfig`/CLI now have `--max-context-tokens` (default 131072), `--kv-storage`, `--kv-scale-dtype`, and `--kv-scale-granularity`. Eager startup calls `LLM.prepare(max_sequence_length=...)` before the warmup generation, so the resident PARO session/KV arena is preallocated for the configured context. Request admission checks `prompt_tokens + max_tokens + 1 <= max_context_tokens`, and per-request KV settings must match the server-wide preallocated policy; violations return OpenAI-style 400 errors instead of triggering a session resize/reload.
|
|
26643
|
+
|
|
26644
|
+
Also made PARO resident session construction clean up partially-built buffers if preflight/allocation fails, so an over-large requested context fails cleanly instead of leaking resident weights/KV. Chat default coverage was restored to assert the intended 8192-token server default.
|
|
26645
|
+
|
|
26646
|
+
Validation:
|
|
26647
|
+
|
|
26648
|
+
```bash
|
|
26649
|
+
python -m pytest -q tests/test_server_api.py tests/test_generation_qwen35_paro.py tests/test_llm_generate.py
|
|
26650
|
+
# 24 passed
|
|
26651
|
+
python -m py_compile hipengine/runtime/qwen35_paro_runner.py hipengine/loading/qwen35_paro.py hipengine/server/api.py hipengine/server/__main__.py hipengine/llm.py hipengine/generation/qwen35_paro.py
|
|
26652
|
+
```
|
|
26653
|
+
|
|
26654
|
+
## 2026-05-25 — server auto context sizing accounts for retained metadata
|
|
26655
|
+
|
|
26656
|
+
Follow-up to the PARO server KV preallocation work: a real startup with default auto sizing attempted the model max 262144-token BF16 context and OOMed before the old KV estimate ran because `_allocate_common_buffers()` materialized a large persistent prefill block table (`prefill_capacity_rows x blocks`). Fixed the sizing path to load resident weights first, run the HIP free-memory estimate before context-dependent metadata/KV allocation, and include persistent context metadata in the allocatable-token calculation. Automatic server startup now selects `min(model_max_context_tokens, allocatable_context_tokens)` for the selected KV policy, while explicit `--max-context-tokens` still fails fast with guidance to lower the cap or use INT8 KV.
|
|
26657
|
+
|
|
26658
|
+
Also made chat `max_tokens` dynamic when omitted: after the resident context is prepared, chat requests default to the remaining admitted context (`max_context_tokens - prompt_tokens - 1`) instead of a fixed 8192. Startup logs were compacted to `Config`, `KVCache`, `WARMUP`, and `hipEngine is ready.` lines, with KVCache reporting KV bytes plus retained metadata bytes.
|
|
26659
|
+
|
|
26660
|
+
Validation:
|
|
26661
|
+
|
|
26662
|
+
```bash
|
|
26663
|
+
python -m pytest -q tests/test_generation_qwen35_paro.py tests/test_server_api.py tests/test_llm_generate.py
|
|
26664
|
+
# 24 passed
|
|
26665
|
+
python -m py_compile hipengine/runtime/qwen35_paro_runner.py hipengine/server/api.py hipengine/generation/qwen35_paro.py hipengine/llm.py hipengine/server/__main__.py
|
|
26666
|
+
```
|
|
26667
|
+
|
|
26668
|
+
## 2026-05-25 — suppress duplicate low-level KV capacity logs
|
|
26669
|
+
|
|
26670
|
+
Kept the server `Config`/`KVCache` summary as the user-facing startup output and demoted the lower-level PARO runner KV-capacity info/warning lines to DEBUG. The resolved `Config` and `KVCache` lines intentionally remain after resident weights load because auto sizing uses actual `hipMemGetInfo` free memory after model materialization.
|
|
26671
|
+
|
|
26672
|
+
Validation:
|
|
26673
|
+
|
|
26674
|
+
```bash
|
|
26675
|
+
python -m pytest -q tests/test_server_api.py tests/test_generation_qwen35_paro.py
|
|
26676
|
+
python -m py_compile hipengine/runtime/qwen35_paro_runner.py hipengine/server/api.py
|
|
26677
|
+
```
|
|
26678
|
+
|
|
26679
|
+
## 2026-05-26 — v0.2.1 release validation and artifact build
|
|
26680
|
+
|
|
26681
|
+
Prepared v0.2.1 for publishing with the server KV preallocation improvements folded into the `CHANGELOG.md` v0.2.1 entry (leaving `Unreleased` empty). Used a clean detached worktree at `/tmp/hipengine-release-v021.QhOZ2d` to avoid the main checkout's unrelated untracked `uv.lock`.
|
|
26682
|
+
|
|
26683
|
+
Validation and artifact commands:
|
|
26684
|
+
|
|
26685
|
+
```bash
|
|
26686
|
+
git fetch --tags origin && git pull --ff-only
|
|
26687
|
+
python3 -m compileall -q hipengine scripts tests
|
|
26688
|
+
uv run --extra dev python -m pytest -q
|
|
26689
|
+
uv run --python 3.10 --extra dev python -m pytest -q
|
|
26690
|
+
uv run --extra dev hipengine-server --help
|
|
26691
|
+
rm -rf dist && python3 -m build
|
|
26692
|
+
unzip -p dist/hipengine-0.2.1-py3-none-manylinux_2_39_x86_64.whl hipengine-0.2.1.dist-info/WHEEL
|
|
26693
|
+
uvx --from twine twine check dist/*
|
|
26694
|
+
WHEEL=/tmp/hipengine-release-v021.QhOZ2d/dist/hipengine-0.2.1-py3-none-manylinux_2_39_x86_64.whl; \
|
|
26695
|
+
(cd /tmp && uv run --isolated --with "${WHEEL}[server]" hipengine-server --help)
|
|
26696
|
+
```
|
|
26697
|
+
|
|
26698
|
+
Results: compileall passed; full pytest passed on CPython 3.10.16 (including the explicit `--python 3.10` run); server CLI smoke passed; `python3 -m build` produced `hipengine-0.2.1.tar.gz` and `hipengine-0.2.1-py3-none-manylinux_2_39_x86_64.whl`; wheel metadata reports `Root-Is-Purelib: false` and tag `py3-none-manylinux_2_39_x86_64`; `twine check` passed for both artifacts; isolated wheel server CLI smoke passed.
|
|
26699
|
+
|
|
26700
|
+
## 2026-05-26 — retarget server KV preallocation release to v0.2.2
|
|
26701
|
+
|
|
26702
|
+
Confirmed `v0.2.1` was already immutable on PyPI and tagged on GitHub, so retargeted the server KV preallocation improvements to `v0.2.2`. Updated `pyproject.toml` to `0.2.2` and split `CHANGELOG.md` so `v0.2.1` retains the already-published session reuse/warmup/streaming notes while `v0.2.2` carries the resident context/KV preallocation controls, auto context sizing, retained-KV capacity estimate, `max_tokens=auto`, and partial-construction cleanup notes.
|
|
26703
|
+
|
|
26704
|
+
## 2026-05-26 — v0.2.2 release validation and artifact build
|
|
26705
|
+
|
|
26706
|
+
Built the server KV preallocation release as `v0.2.2` from clean detached worktree `/tmp/hipengine-release-v021.QhOZ2d` at commit `fc16570` before the release-validation log append.
|
|
26707
|
+
|
|
26708
|
+
Validation and artifact commands:
|
|
26709
|
+
|
|
26710
|
+
```bash
|
|
26711
|
+
python3 -m compileall -q hipengine scripts tests
|
|
26712
|
+
uv run --extra dev python -m pytest -q
|
|
26713
|
+
uv run --python 3.10 --extra dev python -m pytest -q
|
|
26714
|
+
uv run --extra dev hipengine-server --help
|
|
26715
|
+
rm -f uv.lock && rm -rf .venv dist
|
|
26716
|
+
python3 -m build
|
|
26717
|
+
unzip -p dist/hipengine-0.2.2-py3-none-manylinux_2_39_x86_64.whl hipengine-0.2.2.dist-info/WHEEL
|
|
26718
|
+
uvx --from twine twine check dist/*
|
|
26719
|
+
WHEEL=/tmp/hipengine-release-v021.QhOZ2d/dist/hipengine-0.2.2-py3-none-manylinux_2_39_x86_64.whl; \
|
|
26720
|
+
(cd /tmp && uv run --isolated --with "${WHEEL}[server]" hipengine-server --help)
|
|
26721
|
+
```
|
|
26722
|
+
|
|
26723
|
+
Results: compileall passed; full pytest passed on CPython 3.10.16 (including the explicit `--python 3.10` run); server CLI smoke passed; `python3 -m build` produced `hipengine-0.2.2.tar.gz` and `hipengine-0.2.2-py3-none-manylinux_2_39_x86_64.whl`; wheel metadata reports `Root-Is-Purelib: false` and tag `py3-none-manylinux_2_39_x86_64`; `twine check` passed for both artifacts; isolated wheel server CLI smoke passed. Rebuild artifacts after this log append before publishing so `dist/` matches the final commit.
|
|
@@ -40,12 +40,25 @@ select `cpu_reference` where a CPU implementation exists; nearby targets such as
|
|
|
40
40
|
`gfx1101`/`gfx1102` can force a backend with `--backend hip_gfx1100` or
|
|
41
41
|
`HIPENGINE_BACKEND=hip_gfx1100` after local validation.
|
|
42
42
|
|
|
43
|
-
By default the server eagerly loads the model
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
By default the server eagerly loads the model, loads resident weights, estimates
|
|
44
|
+
remaining HIP memory for KV cache plus persistent context metadata, then
|
|
45
|
+
preallocates `min(model max context, estimated allocatable context)`. Pass
|
|
46
|
+
`--max-context-tokens` (or `HIPENGINE_MAX_CONTEXT_TOKENS`) to force a lower cap.
|
|
47
|
+
Startup fails with a clear error if the requested cap cannot be allocated; lower
|
|
48
|
+
`--max-context-tokens` or use `--kv-storage int8_per_token_head`. Disable eager
|
|
49
|
+
startup with `--no-eager-load` or `HIPENGINE_EAGER_LOAD=0`. The warmup prompt and
|
|
50
|
+
token count are configurable via `--eager-load-prompt` and
|
|
47
51
|
`--eager-load-max-tokens`.
|
|
48
52
|
|
|
53
|
+
The resident KV policy is server-wide: set `--kv-storage` (`auto`, `bf16`, or
|
|
54
|
+
`int8_per_token_head`), `--kv-scale-dtype`, and `--kv-scale-granularity` at
|
|
55
|
+
startup. Requests that ask for a different KV policy are rejected instead of
|
|
56
|
+
rebuilding the resident model. Startup logs include a compact KVCache summary
|
|
57
|
+
from current HIP free memory and warn when even INT8 KV is below the model's
|
|
58
|
+
advertised max context. Chat requests that omit `max_tokens` use
|
|
59
|
+
`max_tokens=auto`, meaning the remaining admitted context
|
|
60
|
+
(`max_context_tokens - prompt_tokens - 1`).
|
|
61
|
+
|
|
49
62
|
Set `HIPENGINE_API_KEY` or pass `--api-key` to require OpenAI-style bearer
|
|
50
63
|
authentication:
|
|
51
64
|
|
|
@@ -64,6 +64,36 @@ class Qwen35ParoOneTokenGenerator:
|
|
|
64
64
|
for prompt in request.prompts
|
|
65
65
|
]
|
|
66
66
|
|
|
67
|
+
def prepare(self, *, max_sequence_length: int | None = None, sampling_params: Any | None = None) -> int:
|
|
68
|
+
params = sampling_params
|
|
69
|
+
runner = self._get_runner()
|
|
70
|
+
kv_policy = resolve_kv_policy(
|
|
71
|
+
getattr(params, "kv_storage", "auto"),
|
|
72
|
+
scale_dtype=getattr(params, "kv_scale_dtype", "fp16"),
|
|
73
|
+
scale_granularity=getattr(params, "kv_scale_granularity", "per_token_head"),
|
|
74
|
+
)
|
|
75
|
+
auto_context_length = max_sequence_length is None
|
|
76
|
+
if auto_context_length:
|
|
77
|
+
requested_length = int(getattr(runner.config, "max_position_embeddings", 0) or 0)
|
|
78
|
+
if requested_length <= 0:
|
|
79
|
+
requested_length = _session_capacity_for(1)
|
|
80
|
+
else:
|
|
81
|
+
if int(max_sequence_length) <= 0:
|
|
82
|
+
raise ValueError("max_sequence_length must be positive")
|
|
83
|
+
requested_length = int(max_sequence_length)
|
|
84
|
+
session_capacity = _session_capacity_for(requested_length)
|
|
85
|
+
session = self._get_session(
|
|
86
|
+
runner,
|
|
87
|
+
max_sequence_length=session_capacity,
|
|
88
|
+
kv_policy=kv_policy,
|
|
89
|
+
auto_context_length=auto_context_length,
|
|
90
|
+
)
|
|
91
|
+
return int(getattr(session, "max_sequence_length", self._session_capacity))
|
|
92
|
+
|
|
93
|
+
def count_tokens(self, text: str) -> int:
|
|
94
|
+
_last_token_id, prompt_ids = _select_token(Path(self.model_path), str(text), None)
|
|
95
|
+
return len(prompt_ids)
|
|
96
|
+
|
|
67
97
|
def stream(self, request: GenerationRequest) -> Iterator[str]:
|
|
68
98
|
if len(request.prompts) != 1:
|
|
69
99
|
raise ValueError("streaming currently supports exactly one prompt")
|
|
@@ -183,6 +213,7 @@ class Qwen35ParoOneTokenGenerator:
|
|
|
183
213
|
*,
|
|
184
214
|
max_sequence_length: int,
|
|
185
215
|
kv_policy,
|
|
216
|
+
auto_context_length: bool = False,
|
|
186
217
|
) -> Qwen35ParoResidentSession:
|
|
187
218
|
kv_key = (
|
|
188
219
|
kv_policy.storage_dtype.value,
|
|
@@ -190,20 +221,23 @@ class Qwen35ParoOneTokenGenerator:
|
|
|
190
221
|
kv_policy.scale_granularity,
|
|
191
222
|
int(kv_policy.block_size),
|
|
192
223
|
)
|
|
224
|
+
capacity_ok = self._session_capacity >= max_sequence_length or bool(auto_context_length)
|
|
193
225
|
if (
|
|
194
226
|
self._session is None
|
|
195
|
-
or
|
|
227
|
+
or not capacity_ok
|
|
196
228
|
or self._session_kv_key != kv_key
|
|
197
229
|
):
|
|
198
230
|
self.close()
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
kv_policy
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
231
|
+
session_kwargs = {
|
|
232
|
+
"max_sequence_length": max_sequence_length,
|
|
233
|
+
"kv_policy": kv_policy.create_policy(),
|
|
234
|
+
"kv_scale_dtype": kv_policy.scale_dtype,
|
|
235
|
+
"kv_scale_granularity": kv_policy.scale_granularity,
|
|
236
|
+
}
|
|
237
|
+
if auto_context_length:
|
|
238
|
+
session_kwargs["auto_context_length"] = True
|
|
239
|
+
self._session = Qwen35ParoResidentSession(runner, **session_kwargs)
|
|
240
|
+
self._session_capacity = int(getattr(self._session, "max_sequence_length", max_sequence_length))
|
|
207
241
|
self._session_kv_key = kv_key
|
|
208
242
|
else:
|
|
209
243
|
self._session.reset()
|
|
@@ -71,6 +71,36 @@ class LLM:
|
|
|
71
71
|
for text in generator.generate(request):
|
|
72
72
|
yield text
|
|
73
73
|
|
|
74
|
+
def prepare(
|
|
75
|
+
self,
|
|
76
|
+
*,
|
|
77
|
+
max_sequence_length: int | None = None,
|
|
78
|
+
sampling_params: SamplingParams | None = None,
|
|
79
|
+
) -> int | None:
|
|
80
|
+
"""Eagerly prepare a resident session when the generator supports it.
|
|
81
|
+
|
|
82
|
+
Passing ``max_sequence_length=None`` lets generators choose the largest
|
|
83
|
+
context they can preallocate for the selected model/KV policy.
|
|
84
|
+
"""
|
|
85
|
+
|
|
86
|
+
generator = self._get_text_generator()
|
|
87
|
+
preparer = getattr(generator, "prepare", None)
|
|
88
|
+
if not callable(preparer):
|
|
89
|
+
return None
|
|
90
|
+
return preparer(
|
|
91
|
+
max_sequence_length=None if max_sequence_length is None else int(max_sequence_length),
|
|
92
|
+
sampling_params=sampling_params or SamplingParams(),
|
|
93
|
+
)
|
|
94
|
+
|
|
95
|
+
def count_tokens(self, text: str) -> int:
|
|
96
|
+
"""Return tokenizer token count when the resolved generator exposes one."""
|
|
97
|
+
|
|
98
|
+
generator = self._get_text_generator()
|
|
99
|
+
counter = getattr(generator, "count_tokens", None)
|
|
100
|
+
if not callable(counter):
|
|
101
|
+
raise NotImplementedError("token counting is not supported by this generator")
|
|
102
|
+
return int(counter(str(text)))
|
|
103
|
+
|
|
74
104
|
def _get_text_generator(self) -> Any:
|
|
75
105
|
if self._text_generator is not None:
|
|
76
106
|
return self._text_generator
|
|
@@ -46,6 +46,7 @@ class Qwen35ParoConfig:
|
|
|
46
46
|
layer_types: tuple[str, ...]
|
|
47
47
|
quant_method: str
|
|
48
48
|
vocab_size: int = 0
|
|
49
|
+
max_position_embeddings: int = 0
|
|
49
50
|
rms_norm_eps: float = 1.0e-6
|
|
50
51
|
rope_theta: float = 1000000.0
|
|
51
52
|
rotary_dim: int = 0
|
|
@@ -142,6 +143,7 @@ def qwen35_paro_config_from_hf(config: dict[str, Any]) -> Qwen35ParoConfig:
|
|
|
142
143
|
layer_types=layer_types,
|
|
143
144
|
quant_method=quant_method,
|
|
144
145
|
vocab_size=int(text.get("vocab_size", 0) or 0),
|
|
146
|
+
max_position_embeddings=int(text.get("max_position_embeddings", config.get("max_position_embeddings", 0)) or 0),
|
|
145
147
|
rms_norm_eps=float(text.get("rms_norm_eps", 1.0e-6) or 1.0e-6),
|
|
146
148
|
rope_theta=float(text.get("rope_theta", rope_parameters.get("rope_theta", 1000000.0)) or 1000000.0),
|
|
147
149
|
rotary_dim=rotary_dim,
|