hipengine 0.6.1__tar.gz → 0.7.0__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.7.0/CHANGELOG.md +961 -0
- hipengine-0.7.0/PKG-INFO +468 -0
- hipengine-0.7.0/README.md +427 -0
- hipengine-0.7.0/hipengine/__init__.py +42 -0
- hipengine-0.7.0/hipengine/benchmark/dms_campaign.py +578 -0
- hipengine-0.7.0/hipengine/benchmark/dms_tasks.py +856 -0
- hipengine-0.7.0/hipengine/core/hipblaslt.py +418 -0
- hipengine-0.7.0/hipengine/core/memory.py +405 -0
- hipengine-0.7.0/hipengine/core/virtual_memory.py +748 -0
- hipengine-0.7.0/hipengine/generation/__init__.py +300 -0
- hipengine-0.7.0/hipengine/generation/constraints.py +997 -0
- hipengine-0.7.0/hipengine/generation/engine_loop.py +3385 -0
- hipengine-0.7.0/hipengine/generation/mtp_sampled_accept.py +427 -0
- hipengine-0.7.0/hipengine/generation/qwen35_gguf.py +12999 -0
- hipengine-0.7.0/hipengine/generation/qwen35_gguf_dms.py +97 -0
- hipengine-0.7.0/hipengine/generation/qwen35_gguf_moe_mtp2.py +1579 -0
- hipengine-0.7.0/hipengine/generation/qwen35_gguf_mtp2.py +7213 -0
- hipengine-0.7.0/hipengine/generation/sampling.py +1802 -0
- hipengine-0.7.0/hipengine/generation/xml_tools.py +77 -0
- hipengine-0.7.0/hipengine/generation/yue2.py +713 -0
- hipengine-0.7.0/hipengine/generation/yue2_song.py +409 -0
- hipengine-0.7.0/hipengine/kernels/cpu_reference/yue2.py +299 -0
- hipengine-0.7.0/hipengine/kernels/hip_gfx1100/__init__.py +1636 -0
- hipengine-0.7.0/hipengine/kernels/hip_gfx1100/attention/dms_compact.hip +1453 -0
- hipengine-0.7.0/hipengine/kernels/hip_gfx1100/attention/dms_compact.py +729 -0
- hipengine-0.7.0/hipengine/kernels/hip_gfx1100/attention/dms_compact_int8.hip +471 -0
- hipengine-0.7.0/hipengine/kernels/hip_gfx1100/attention/dms_compact_int8.py +271 -0
- hipengine-0.7.0/hipengine/kernels/hip_gfx1100/fused/__init__.py +258 -0
- hipengine-0.7.0/hipengine/kernels/hip_gfx1100/fused/gguf_iq4_q4_pair.hip +1148 -0
- hipengine-0.7.0/hipengine/kernels/hip_gfx1100/fused/gguf_iq4_q4_pair.py +783 -0
- hipengine-0.7.0/hipengine/kernels/hip_gfx1100/linear/__init__.py +161 -0
- hipengine-0.7.0/hipengine/kernels/hip_gfx1100/linear/dense_gemv.hip +1993 -0
- hipengine-0.7.0/hipengine/kernels/hip_gfx1100/linear/dense_gemv.py +1078 -0
- hipengine-0.7.0/hipengine/kernels/hip_gfx1100/quant/gguf_iq_dense.hip +1812 -0
- hipengine-0.7.0/hipengine/kernels/hip_gfx1100/quant/gguf_iq_dense.py +457 -0
- hipengine-0.7.0/hipengine/kernels/hip_gfx1100/quant/gguf_k_t16_selected_prefill.py +2650 -0
- hipengine-0.7.0/hipengine/kernels/hip_gfx1100/quant/gguf_q6_k_t16_gemv.py +2298 -0
- hipengine-0.7.0/hipengine/kernels/hip_gfx1100/quant/gguf_t16_selected_gemv.hip +9342 -0
- hipengine-0.7.0/hipengine/kernels/hip_gfx1100/quant/gguf_t16_selected_gemv.py +5436 -0
- hipengine-0.7.0/hipengine/kernels/hip_gfx1100/speculative/mtp_nextn.py +1948 -0
- hipengine-0.7.0/hipengine/kernels/hip_gfx1100/yue2/__init__.py +35 -0
- hipengine-0.7.0/hipengine/kernels/hip_gfx1100/yue2/nar.hip +508 -0
- hipengine-0.7.0/hipengine/kernels/hip_gfx1100/yue2/nar.py +245 -0
- hipengine-0.7.0/hipengine/kernels/hip_gfx1100/yue2/nar_wmma.hip +386 -0
- hipengine-0.7.0/hipengine/kernels/hip_gfx1100/yue2/vae.hip +176 -0
- hipengine-0.7.0/hipengine/kernels/hip_gfx1100/yue2/vae.py +175 -0
- hipengine-0.7.0/hipengine/kernels/hip_gfx1151/__init__.py +3937 -0
- hipengine-0.7.0/hipengine/kernels/vibevoice.py +65 -0
- hipengine-0.7.0/hipengine/kvcache/device_global.py +855 -0
- hipengine-0.7.0/hipengine/kvcache/dms.py +2373 -0
- hipengine-0.7.0/hipengine/kvcache/dms_config.py +21 -0
- hipengine-0.7.0/hipengine/kvcache/dms_device.py +1258 -0
- hipengine-0.7.0/hipengine/kvcache/dms_diagnostic.py +360 -0
- hipengine-0.7.0/hipengine/kvcache/dms_value_labels.py +75 -0
- hipengine-0.7.0/hipengine/kvcache/ledger.py +818 -0
- hipengine-0.7.0/hipengine/kvcache/pool.py +973 -0
- hipengine-0.7.0/hipengine/llm.py +1795 -0
- hipengine-0.7.0/hipengine/loading/qwen35_gguf_admission.py +2840 -0
- hipengine-0.7.0/hipengine/loading/qwen35_gguf_materialize.py +2136 -0
- hipengine-0.7.0/hipengine/loading/qwen35_gguf_policy.py +260 -0
- hipengine-0.7.0/hipengine/loading/yue2.py +699 -0
- hipengine-0.7.0/hipengine/models/__init__.py +145 -0
- hipengine-0.7.0/hipengine/models/base.py +50 -0
- hipengine-0.7.0/hipengine/models/kv_capabilities.py +589 -0
- hipengine-0.7.0/hipengine/models/qwen35.py +1059 -0
- hipengine-0.7.0/hipengine/models/yue2.py +40 -0
- hipengine-0.7.0/hipengine/runtime/gguf_linear.py +9228 -0
- hipengine-0.7.0/hipengine/runtime/memory_admission.py +149 -0
- hipengine-0.7.0/hipengine/runtime/moonshine.py +1345 -0
- hipengine-0.7.0/hipengine/runtime/qwen35_gguf_mtp.py +2782 -0
- hipengine-0.7.0/hipengine/runtime/qwen35_gguf_runner.py +39698 -0
- hipengine-0.7.0/hipengine/runtime/qwen35_paro_runner.py +14353 -0
- hipengine-0.7.0/hipengine/runtime/yue2_ar.py +873 -0
- hipengine-0.7.0/hipengine/runtime/yue2_nar.py +930 -0
- hipengine-0.7.0/hipengine/runtime/yue2_session.py +824 -0
- hipengine-0.7.0/hipengine/runtime/yue2_vae.py +276 -0
- hipengine-0.7.0/hipengine/server/__main__.py +506 -0
- hipengine-0.7.0/hipengine/server/api.py +21338 -0
- hipengine-0.7.0/hipengine/server/tool_stream.py +137 -0
- hipengine-0.7.0/hipengine/speculative/accounting.py +666 -0
- hipengine-0.7.0/hipengine/speculative/mtp_cached_draft.py +120 -0
- hipengine-0.7.0/hipengine/speculative/mtp_resident_draft.py +3269 -0
- hipengine-0.7.0/hipengine/speculative/sampling.py +339 -0
- hipengine-0.7.0/hipengine/tokenization/yue2.py +141 -0
- hipengine-0.7.0/hipengine/util/wav.py +64 -0
- hipengine-0.7.0/pyproject.toml +102 -0
- hipengine-0.7.0/scripts/check_published_command_drift.py +531 -0
- hipengine-0.7.0/scripts/gguf_decode_graph_rocprof_driver.py +208 -0
- hipengine-0.7.0/scripts/gguf_iq_dense_decode_ab.py +240 -0
- hipengine-0.7.0/scripts/gguf_iq_local32_decode_gate.py +251 -0
- hipengine-0.7.0/scripts/gguf_iq_local32_decode_leaf.py +337 -0
- hipengine-0.7.0/scripts/gguf_mtp_c1c8_server_bench.py +1409 -0
- hipengine-0.7.0/scripts/gguf_mtp_packed_group_width_probe.py +79 -0
- hipengine-0.7.0/scripts/gguf_prefill_census_summary.py +126 -0
- hipengine-0.7.0/scripts/gguf_quant_route_audit.py +1475 -0
- hipengine-0.7.0/scripts/gguf_ud_combined_stack_gate.py +474 -0
- hipengine-0.7.0/scripts/hipblaslt_algo_scan.py +94 -0
- hipengine-0.7.0/scripts/int8_mtp_prefix_pressure_gate.py +264 -0
- hipengine-0.7.0/scripts/int8_mtp_sampled_gate.py +287 -0
- hipengine-0.7.0/scripts/int8_mtp_server_gate.py +500 -0
- hipengine-0.7.0/scripts/int8_mtp_server_lifecycle_gate.py +178 -0
- hipengine-0.7.0/scripts/mtp_finish_rule_gate.py +581 -0
- hipengine-0.7.0/scripts/mtp_forced_token_gate.py +802 -0
- hipengine-0.7.0/scripts/mtp_logprobs_gate.py +722 -0
- hipengine-0.7.0/scripts/qwen38_dms_acquire_selector_campaign_sources.py +272 -0
- hipengine-0.7.0/scripts/qwen38_dms_build_selector_campaign_manifests.py +355 -0
- hipengine-0.7.0/scripts/qwen38_dms_campaign_quality.py +414 -0
- hipengine-0.7.0/scripts/qwen38_dms_campaign_tasks.py +739 -0
- hipengine-0.7.0/scripts/qwen38_dms_derive_candidate.py +179 -0
- hipengine-0.7.0/scripts/qwen38_dms_nonlinear.py +61 -0
- hipengine-0.7.0/scripts/qwen38_dms_objectives.py +104 -0
- hipengine-0.7.0/scripts/qwen38_dms_run_oracle_diagnostics.py +55 -0
- hipengine-0.7.0/scripts/qwen38_int8_batch_decode_gate.py +748 -0
- hipengine-0.7.0/scripts/yue2_ar_head_window_validation.py +355 -0
- hipengine-0.7.0/scripts/yue2_ar_matched_timing.py +319 -0
- hipengine-0.7.0/scripts/yue2_ar_paired_head_check.py +85 -0
- hipengine-0.7.0/scripts/yue2_ar_pairing_validation.py +281 -0
- hipengine-0.7.0/scripts/yue2_ar_replay.py +532 -0
- hipengine-0.7.0/scripts/yue2_ar_rowtile_bench.py +158 -0
- hipengine-0.7.0/scripts/yue2_ar_sampling_cost.py +161 -0
- hipengine-0.7.0/scripts/yue2_attention_bench.py +169 -0
- hipengine-0.7.0/scripts/yue2_attention_trace_report.py +88 -0
- hipengine-0.7.0/scripts/yue2_case_timing.py +290 -0
- hipengine-0.7.0/scripts/yue2_e2e_gate.py +322 -0
- hipengine-0.7.0/scripts/yue2_gemm_rate.py +105 -0
- hipengine-0.7.0/scripts/yue2_inventory.py +261 -0
- hipengine-0.7.0/scripts/yue2_nar_attention_golden.py +129 -0
- hipengine-0.7.0/scripts/yue2_nar_gate.py +292 -0
- hipengine-0.7.0/scripts/yue2_nar_rocprof_smoke.py +101 -0
- hipengine-0.7.0/scripts/yue2_oracle.py +2399 -0
- hipengine-0.7.0/scripts/yue2_reference_ar_timing.py +126 -0
- hipengine-0.7.0/scripts/yue2_reference_comparison.py +148 -0
- hipengine-0.7.0/scripts/yue2_reference_stage_timing.py +211 -0
- hipengine-0.7.0/scripts/yue2_sampler_window_validation.py +357 -0
- hipengine-0.7.0/scripts/yue2_session_gate.py +380 -0
- hipengine-0.7.0/scripts/yue2_solver_stage_profile.py +189 -0
- hipengine-0.7.0/scripts/yue2_stage_matched_timing.py +383 -0
- hipengine-0.7.0/scripts/yue2_vae_gate.py +239 -0
- hipengine-0.7.0/scripts/yue2_vae_rocprof_smoke.py +85 -0
- hipengine-0.6.1/CHANGELOG.md +0 -854
- hipengine-0.6.1/PKG-INFO +0 -465
- hipengine-0.6.1/README.md +0 -424
- hipengine-0.6.1/hipengine/__init__.py +0 -41
- hipengine-0.6.1/hipengine/core/hipblaslt.py +0 -385
- hipengine-0.6.1/hipengine/core/memory.py +0 -343
- hipengine-0.6.1/hipengine/generation/__init__.py +0 -299
- hipengine-0.6.1/hipengine/generation/constraints.py +0 -979
- hipengine-0.6.1/hipengine/generation/engine_loop.py +0 -3372
- hipengine-0.6.1/hipengine/generation/mtp_sampled_accept.py +0 -144
- hipengine-0.6.1/hipengine/generation/qwen35_gguf.py +0 -12536
- hipengine-0.6.1/hipengine/generation/qwen35_gguf_moe_mtp2.py +0 -1508
- hipengine-0.6.1/hipengine/generation/qwen35_gguf_mtp2.py +0 -6862
- hipengine-0.6.1/hipengine/generation/sampling.py +0 -1618
- hipengine-0.6.1/hipengine/kernels/hip_gfx1100/__init__.py +0 -1626
- hipengine-0.6.1/hipengine/kernels/hip_gfx1100/attention/dms_compact.hip +0 -1413
- hipengine-0.6.1/hipengine/kernels/hip_gfx1100/attention/dms_compact.py +0 -726
- hipengine-0.6.1/hipengine/kernels/hip_gfx1100/attention/dms_compact_int8.hip +0 -421
- hipengine-0.6.1/hipengine/kernels/hip_gfx1100/attention/dms_compact_int8.py +0 -75
- hipengine-0.6.1/hipengine/kernels/hip_gfx1100/fused/__init__.py +0 -249
- hipengine-0.6.1/hipengine/kernels/hip_gfx1100/linear/__init__.py +0 -159
- hipengine-0.6.1/hipengine/kernels/hip_gfx1100/linear/dense_gemv.hip +0 -1884
- hipengine-0.6.1/hipengine/kernels/hip_gfx1100/linear/dense_gemv.py +0 -1041
- hipengine-0.6.1/hipengine/kernels/hip_gfx1100/quant/gguf_iq_dense.hip +0 -1387
- hipengine-0.6.1/hipengine/kernels/hip_gfx1100/quant/gguf_iq_dense.py +0 -360
- hipengine-0.6.1/hipengine/kernels/hip_gfx1100/quant/gguf_k_t16_selected_prefill.py +0 -2630
- hipengine-0.6.1/hipengine/kernels/hip_gfx1100/quant/gguf_q6_k_t16_gemv.py +0 -2286
- hipengine-0.6.1/hipengine/kernels/hip_gfx1100/quant/gguf_t16_selected_gemv.hip +0 -9206
- hipengine-0.6.1/hipengine/kernels/hip_gfx1100/quant/gguf_t16_selected_gemv.py +0 -5341
- hipengine-0.6.1/hipengine/kernels/hip_gfx1100/speculative/mtp_nextn.py +0 -1948
- hipengine-0.6.1/hipengine/kernels/hip_gfx1151/__init__.py +0 -3825
- hipengine-0.6.1/hipengine/kernels/vibevoice.py +0 -64
- hipengine-0.6.1/hipengine/kvcache/device_global.py +0 -700
- hipengine-0.6.1/hipengine/kvcache/dms.py +0 -2319
- hipengine-0.6.1/hipengine/kvcache/dms_device.py +0 -990
- hipengine-0.6.1/hipengine/kvcache/ledger.py +0 -776
- hipengine-0.6.1/hipengine/kvcache/pool.py +0 -960
- hipengine-0.6.1/hipengine/llm.py +0 -1616
- hipengine-0.6.1/hipengine/loading/qwen35_gguf_admission.py +0 -2825
- hipengine-0.6.1/hipengine/loading/qwen35_gguf_materialize.py +0 -2138
- hipengine-0.6.1/hipengine/loading/qwen35_gguf_policy.py +0 -240
- hipengine-0.6.1/hipengine/models/__init__.py +0 -140
- hipengine-0.6.1/hipengine/models/base.py +0 -22
- hipengine-0.6.1/hipengine/models/kv_capabilities.py +0 -508
- hipengine-0.6.1/hipengine/models/qwen35.py +0 -1021
- hipengine-0.6.1/hipengine/runtime/gguf_linear.py +0 -8748
- hipengine-0.6.1/hipengine/runtime/moonshine.py +0 -1344
- hipengine-0.6.1/hipengine/runtime/qwen35_gguf_mtp.py +0 -2611
- hipengine-0.6.1/hipengine/runtime/qwen35_gguf_runner.py +0 -38887
- hipengine-0.6.1/hipengine/runtime/qwen35_paro_runner.py +0 -14352
- hipengine-0.6.1/hipengine/server/__main__.py +0 -494
- hipengine-0.6.1/hipengine/server/api.py +0 -20710
- hipengine-0.6.1/hipengine/speculative/accounting.py +0 -649
- hipengine-0.6.1/hipengine/speculative/mtp_cached_draft.py +0 -120
- hipengine-0.6.1/hipengine/speculative/mtp_resident_draft.py +0 -3268
- hipengine-0.6.1/hipengine/speculative/sampling.py +0 -322
- hipengine-0.6.1/pyproject.toml +0 -102
- hipengine-0.6.1/scripts/check_published_command_drift.py +0 -495
- hipengine-0.6.1/scripts/gguf_decode_graph_rocprof_driver.py +0 -153
- hipengine-0.6.1/scripts/gguf_iq_local32_decode_gate.py +0 -199
- hipengine-0.6.1/scripts/gguf_mtp_c1c8_server_bench.py +0 -1380
- hipengine-0.6.1/scripts/gguf_quant_route_audit.py +0 -1468
- hipengine-0.6.1/scripts/gguf_ud_combined_stack_gate.py +0 -436
- hipengine-0.6.1/scripts/int8_mtp_server_gate.py +0 -297
- hipengine-0.6.1/scripts/int8_mtp_server_lifecycle_gate.py +0 -164
- hipengine-0.6.1/scripts/qwen38_int8_batch_decode_gate.py +0 -651
- {hipengine-0.6.1 → hipengine-0.7.0}/.gitignore +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/LICENSE +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hatch_build.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/.gitignore +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/__main__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/benchmark/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/benchmark/agentic.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/benchmark/agentic_live.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/benchmark/agentic_quality.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/benchmark/agentic_quality2.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/benchmark/agentic_quality2_sandbox.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/benchmark/agentic_quality_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/benchmark/agentic_quality_taxonomy.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/benchmark/control_capture.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/benchmark/correctness.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/benchmark/exact_tokens.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/benchmark/execution_profiles.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/benchmark/matrix.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/benchmark/prompts.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/benchmark/provenance.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/benchmark/session_replay.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/benchmark/speculative.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/chat/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/chat/poolside_v1.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/chat/qwen4_exp.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/chat_cli.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/cli.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/core/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/core/build.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/core/ctypes_cache.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/core/cublaslt.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/core/cuda.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/core/cudnn.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/core/device.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/core/dtype.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/core/hip.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/core/pm4/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/core/pm4/elf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/core/pm4/errors.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/core/pm4/graph.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/core/pm4/kernarg.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/core/pm4/metadata.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/core/pm4/native.cpp +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/core/pm4/native.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/core/pm4/native_build.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/core/pm4/packets.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/core/pm4/transport.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/core/rocblas.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/core/runtime.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/core/specdec2_scope.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/core/tensor.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/dispatch/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/dispatch/batch.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/dispatch/batch_width.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/dispatch/d2_resolver.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/dispatch/execution_planner.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/dispatch/fusion.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/dispatch/kv.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/dispatch/projection.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/dispatch/sampling.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/distributed/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/execution_profiles.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/generation/batch_scheduler.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/generation/concurrency2.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/generation/concurrency2_simulator.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/generation/deadline.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/generation/engine_service.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/generation/finish.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/generation/grammar.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/generation/laguna_dflash.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/generation/laguna_gguf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/generation/load_harness.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/generation/maple.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/generation/qwen35_gguf_mtp2_registry.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/generation/qwen35_paro.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/generation/qwen35_paro_mtp2.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/generation/qwen36_gguf_gfx1100_profiles.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/generation/qwen36_gguf_profiles.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/generation/qwen38_gguf_profiles.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/generation/qwen4_exp_gguf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/generation/qwen4_exp_mtp.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/generation/qwen4_exp_multimodal.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/generation/qwen4_exp_profiles.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/generation/registry.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/generation/surya.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/generation/surya_contract.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/generation/surya_gpu.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/generation/surya_protocol.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/generation/vibevoice_asr.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/generation/vibevoice_asr_q4.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/generation/vibevoice_protocol.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/generation/vibevoice_tts.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/activation_pack.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/backends.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/dflash2.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/dms.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/evie.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/fixtures.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/laguna.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/maple.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/moonshine.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/moonshine_encoder.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/ops.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/qwen2.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/qwen4_exp.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/surya.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/timesfm.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/timesfm3.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/vibevoice_asr.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/vibevoice_tts.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/vibevoice_tts_diffusion.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/attention/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/attention/maple_attention.cu +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/attention/maple_attention.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/attention/moonshine_attention.cu +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/attention/moonshine_attention.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/attention/moonshine_attention_cutlass.cu +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/attention/moonshine_attention_cutlass.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/encoder/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/encoder/moonshine_encoder.cu +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/encoder/moonshine_encoder.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/encoder/moonshine_encoder_cudnn.cu +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/encoder/moonshine_encoder_cudnn.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/encoder/moonshine_encoder_lt.cu +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/encoder/moonshine_encoder_lt.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/fused/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/fused/moonshine_glue.cu +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/fused/moonshine_glue.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/fused/moonshine_mlp.cu +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/fused/moonshine_mlp.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/linear/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/linear/lm_head.cu +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/linear/lm_head.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/linear/maple_lm_head.cu +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/linear/maple_lm_head.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/linear/moonshine_projection.cu +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/linear/moonshine_projection.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/moe/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/moe/group_scatter.cu +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/moe/group_scatter.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/moe/maple_moe.cu +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/moe/maple_moe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/norm/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/norm/maple_rmsnorm.cu +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/norm/maple_rmsnorm.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/norm/moonshine_layernorm.cu +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/norm/moonshine_layernorm.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/quant/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/quant/maple_ternary.cu +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/quant/maple_ternary.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/smoke/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/smoke/smoke_add.cu +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/smoke/smoke_add.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/cuda_sm86/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_release.toml +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/MANIFEST.vendor.json +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/_internal/aiter_hip_common.h +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/_internal/flash/aiter.h +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/_internal/kernel_cluster.h +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/_internal/lazy_tensor_internal.h +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/_internal/packed_kernel.h +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/_internal/triton_kernel.h +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/_internal/util.h +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/config.h +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/cpp_tune.h +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/dtypes.h +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/flash.h +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/runtime.h +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/util.h +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/v2/flash.h +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/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.6.1 → hipengine-0.7.0}/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.6.1 → hipengine-0.7.0}/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.6.1 → hipengine-0.7.0}/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.6.1 → hipengine-0.7.0}/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.6.1 → hipengine-0.7.0}/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.6.1 → hipengine-0.7.0}/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.6.1 → hipengine-0.7.0}/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.6.1 → hipengine-0.7.0}/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.6.1 → hipengine-0.7.0}/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.6.1 → hipengine-0.7.0}/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.6.1 → hipengine-0.7.0}/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.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/lib/libaotriton_v2.so +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/lib/libaotriton_v2.so.0.11.2 +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_wrap.cc +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_wrap.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/laguna_flash_attention_prefill.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/laguna_flash_attention_prefill.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/laguna_kv.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/laguna_kv_attention.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/maple_attention.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/maple_attention.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/moonshine_attention.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/moonshine_attention.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/paged_attn_decode.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/paged_attn_decode.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/paged_kv_write.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/paged_kv_write.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/qwen4_exp_qsa.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/qwen4_exp_qsa.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/qwen4_exp_qsa_flash.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/qwen4_exp_qsa_flash.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/common/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/convert/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/convert/cast.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/convert/cast.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/convert/gather.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/convert/gather.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/dispatch/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/dispatch/moe_c1.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/dispatch/moe_c1_dispatch.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/evie/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/evie/evie_ops.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/evie/evie_ops.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/gguf_ops.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/gguf_ops.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/gguf_q6_q4_pair.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/gguf_q6_q4_pair.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/laguna_attention.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/laguna_attention.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/moonshine_glue.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/moonshine_glue.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/moonshine_mlp.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/moonshine_mlp.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/paro_combine.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/paro_combine.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/paro_silu.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/paro_silu.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/qwen4_exp_gr.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/qwen4_exp_gr.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/qwen4_exp_ple.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/qwen4_exp_ple.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/linear/laguna_f16_projection.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/linear/laguna_f16_projection.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/linear/lm_head.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/linear/lm_head.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/linear/moonshine_projection.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/linear/moonshine_projection.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/linear/moonshine_w8a16.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/linear/moonshine_w8a16.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/linear_attn/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/linear_attn/conv.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/linear_attn/conv.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/linear_attn/gdn.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/linear_attn/gdn.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/linear_attn/qwen4_exp_gdn.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/linear_attn/qwen4_exp_gdn.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/moe/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/moe/group_scatter.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/moe/group_scatter.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/moe/laguna_router.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/moe/laguna_router.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/moe/maple_moe.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/moe/maple_moe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/moe/prefill.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/moe/router.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/moe/router.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/norm/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/norm/moonshine_layernorm.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/norm/moonshine_layernorm.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/norm/rmsnorm.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/norm/rmsnorm.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_expert_pack8_gemv.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_expert_pack8_gemv.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_iq2_xs_dense_table.h +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_iq2_xs_mmq_prefill.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_iq2_xs_mmq_prefill.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_iq3_s_grid.h +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_iq4_xs_t16_local32.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_iq_dense_tables.h +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_iq_gemv.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_iq_gemv.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_iq_selected_prefill.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_iq_selected_prefill.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_iq_source_mmq_prefill.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_iq_source_mmq_prefill.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_iq_wmma_prefill.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_iq_wmma_prefill.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_k_gemv.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_k_gemv.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_k_mmq_prefill.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_k_mmq_prefill.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_k_selected_pack8_gemv.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_k_selected_pack8_gemv.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_k_selected_prefill.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_k_selected_prefill.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_k_t16_selected_prefill.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q3_k_gemv.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q3_k_gemv.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_gemv.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_gemv.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_moe_ffn_fused.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_moe_ffn_fused.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_pack8_gemv.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_pack8_gemv.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_prefill.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_prefill.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_q8_1_dp4a_vdr_gemv.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_q8_1_dp4a_vdr_gemv.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_q8_1_mmq_prefill.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_q8_1_mmq_prefill.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_q8_1_selected_prefill.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_q8_1_selected_prefill.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_qmicro_dp4a_grouped.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_qmicro_dp4a_grouped.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_selected_pack8_gemv.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_selected_pack8_gemv.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_selected_prefill.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_selected_prefill.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_t16_selected_prefill.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_t16_selected_prefill.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q5_1_mmq_selected_prefill.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q5_1_mmq_selected_prefill.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q5_k_f32_rocblas_prefill.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q5_k_f32_rocblas_prefill.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q5_k_q8_1_selected_prefill.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q5_k_q8_1_selected_prefill.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q5_k_qmicro_planar_gemv.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q5_k_qmicro_planar_gemv.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q6_k_embedding.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q6_k_embedding.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q6_k_f16_rocblas_prefill.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q6_k_f16_rocblas_prefill.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q6_k_pack8_gemv.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q6_k_pack8_gemv.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q6_k_t16_gemv.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_dp4a_gemv.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_dp4a_gemv.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_mmq_prefill.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_mmq_prefill.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_pack8_gemv.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_pack8_gemv.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_prefill.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_prefill.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_raw_to_t16.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_raw_to_t16.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_t16_gemv.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_t16_gemv.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_t16_prefill.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_t16_prefill.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_x8_selected_gemv.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_x8_selected_gemv.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/maple_ternary.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/maple_ternary.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/paro_awq_gemv.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/paro_awq_gemv.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/paro_marlin_k.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/paro_marlin_k.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/paro_moe_ffn_fused.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/paro_moe_ffn_fused.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/qwen4_exp_q5_1.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/qwen4_exp_q5_1.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/w8a16_linear.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/w8a16_linear.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/rotary/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/rotary/paro_rotate.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/rotary/paro_rotate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/rotary/qwen35_rotary.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/rotary/qwen35_rotary.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/runtime/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/runtime/laguna_launch_batch.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/runtime/laguna_launch_batch.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/runtime/state.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/runtime/state.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/sampling/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/sampling/sampler.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/sampling/sampler.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/smoke/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/smoke/smoke_add.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/smoke/smoke_add.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/speculative/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/speculative/dflash2.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/speculative/dflash2.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/speculative/dflash_accept.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/speculative/dflash_accept.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/speculative/dflash_commit.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/speculative/dflash_commit.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/speculative/dflash_drafter.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/speculative/dflash_drafter.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/speculative/mtp.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/speculative/mtp.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/speculative/mtp_nextn.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/speculative/sampled_accept.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/speculative/sampled_accept.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/surya/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/surya/surya_ops.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/surya/surya_ops.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/timesfm/timesfm.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/timesfm/timesfm.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/timesfm3/timesfm3.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/timesfm3/timesfm3.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/vibevoice/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/vibevoice/decoder.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/vibevoice/decoder.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/vibevoice/diffusion.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/vibevoice/diffusion.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/vibevoice/encoder.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/vibevoice/encoder.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/vibevoice/q4.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/vibevoice/registered.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/vision/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/vision/qwen4_exp_vision.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/vision/qwen4_exp_vision.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/wmma/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/wmma/paro_awq_wmma.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/wmma/paro_awq_wmma.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/policy.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kernels/registry.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kvcache/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kvcache/backend.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kvcache/backend_prefix.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kvcache/dense.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kvcache/dms_capture.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kvcache/dms_labels.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kvcache/dms_sidecar.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kvcache/global_pool.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kvcache/graph_binding.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kvcache/policy.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kvcache/radix.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kvcache/simulated.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kvcache/spans.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/kvcache/tiering.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/layers/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/layers/base.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/dflash.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/evie.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/gguf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/gguf_mtp_hot_vocab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/gguf_selected_contract.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/hf_cache.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/laguna_gguf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/laguna_gguf_materialize.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/maple.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/materialize.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/moonshine.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/mtp.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/mtp_hot_vocab_data/qwen38-27b-hot131072-cjk-v1.json +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/qwen35_gguf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/qwen35_gguf_consumer_surface.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/qwen35_gguf_execution.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/qwen35_gguf_expert_sidecar.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/qwen35_gguf_nextn.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/qwen35_gguf_nextn_materialize.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/qwen35_gguf_residency.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/qwen35_paro.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/qwen4_exp_context.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/qwen4_exp_gguf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/qwen4_exp_materialize.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/qwen4_exp_mtp_gguf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/qwen4_exp_mtp_materialize.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/qwen4_exp_vision_gguf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/qwen4_exp_vision_materialize.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/safetensors.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/surya.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/timesfm.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/timesfm3.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/vibevoice_asr.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/vibevoice_asr_gguf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/vibevoice_assets.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/vibevoice_frontend_gguf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/vibevoice_layout.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/vibevoice_tts.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/vibevoice_tts_prompt.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/loading/vibevoice_tts_session.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/models/evie.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/models/laguna.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/models/maple.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/models/moonshine.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/models/qwen35_dms.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/models/qwen4_exp.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/models/registry.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/models/surya.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/models/timesfm.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/models/timesfm3.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/models/toy.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/models/vibevoice_asr.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/models/vibevoice_tts.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/quant/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/quant/base.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/quant/bf16.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/quant/fp16.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/quant/gguf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/quant/gguf_iq_s_tables.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/quant/gguf_k.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/quant/gguf_q4_k.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/quant/gguf_repack.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/quant/gguf_t16.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/quant/gguf_x8.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/quant/maple_ternary.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/quant/registry.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/quant/w4_paro.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/quant/w8a16.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/evie.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/f16_weight_linear.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/gguf_decode_graph.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/gguf_embedding.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/gguf_native_spec_cycle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/gguf_packed_decode_graph.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/gguf_packed_manifest.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/gguf_q8_mmq_sidecars.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/gguf_weight.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/laguna_attention_hipblaslt.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/laguna_f16_hipblaslt.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/laguna_gguf_runner.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/laguna_kv.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/laguna_moe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/laguna_rope.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/maple.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/maple_cuda.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/maple_graph.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/moe_c1_dispatch.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/moe_graph.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/moonshine_cuda.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/moonshine_cuda_batch.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/moonshine_cuda_continuous.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/moonshine_encoder_cuda.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/moonshine_encoder_cuda_batch.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/native_sampler.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/prefill.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/prefill_flight_recorder.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/profiles/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/profiles/gfx1151_paro_native_c248.json +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/qwen35_gguf_nextn.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/qwen35_paro.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/qwen35_paro_batch_width.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/qwen4_exp_mtp.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/qwen4_exp_runner.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/qwen4_exp_vision.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/surya.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/timesfm3_decode.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/timesfm_decode.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/vibevoice_encoder.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/vibevoice_qwen2.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/vibevoice_qwen2_q4.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/vibevoice_tts_decoder.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/vibevoice_tts_diffusion.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/vibevoice_tts_session.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/runtime/workspace.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/server/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/server/log_style.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/server/multimodal.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/adaptive_budget.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/buffers.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/chain.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/dflash.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/dflash2_drafter.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/dflash2_native.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/dflash_context.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/dflash_drafter.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/frontier.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/generic.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/gguf_mtp.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/interfaces.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/ladder.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/laguna_dflash.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/mtp.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/mtp_budget.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/mtp_native.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/native_cycle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/native_cycle_abi.h +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/native_cycle_graph.cpp +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/native_cycle_graph.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/ngram_mod.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/packing.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/paro_mtp_profiles.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/policy.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/prefix_checkpoint.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/provider.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/registry.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/serving.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/simulator.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/streaming.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/transaction.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/speculative/verify_graph.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/tokenization/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/tokenization/gguf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/tokenization/identity.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/tokenization/maple.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/util/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/hipengine/util/amdgpu_vram.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/_dflash2_native_rocprof_driver.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/_vibevoice_rocprof_driver.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/_xval_dflash2_forward.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/agentic_coding_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/agentic_coding_live.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/agentic_coding_quality.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/agentic_quality2_live.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/agentic_quality_taxonomy.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/agentic_session_compare.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/assemble_gfx1151_readme_topline.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/assemble_paro_mtp_bf16.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/bench_chain.sh +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/bench_env_preflight.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/benchmark_c8_batch_encoder_throughput.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/benchmark_c8_batch_throughput.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/benchmark_matrix.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/benchmark_moonshine_cuda_complete.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/benchmark_moonshine_cuda_continuous.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/build_gguf_mtp_hot_vocab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/build_qwen4exp_admission_suite_fixture.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/build_qwen4exp_natural_ar_fixture.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/build_xtx_dms_capacity_manifest.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/c1_k0_switch_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/c8_report_common.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/capture_laguna_cpu_reference.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/check_agentic_quality2.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/check_artifact_provenance.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/check_commit_msg.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/check_distribution_size.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/check_envs_docs.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/check_fixtures.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/check_lineage.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/check_test_tiers.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/compare_prompt_token_inventories.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/concurrency2_completion_audit.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/dflash2_gguf_cycle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/dflash2_gguf_suite_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/dflash_accept_chain_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/dflash_build_profile_route_manifest.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/dflash_chain_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/dflash_chain_correctness_harness.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/dflash_chain_e2e_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/dflash_commit_chain_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/dflash_context_kv_materializer_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/dflash_dense_microbench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/dflash_drafter_root_query_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/dflash_prepare_prompts.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/dflash_qkv_fusion_correctness.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/dflash_speculative_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/dflash_tree_attn_kernel_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/dflash_tree_e2e_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/dflash_validate_artifacts.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/dflash_verify_graph_capture_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/diff_differential_arms.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/dms_backend_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/dms_compact_attn_long_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/dms_device_rocprof_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/docs/README.md +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/docs/check_all.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/docs/check_docs.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/evie_gpu_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/evie_hip_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/evie_matched_protocol_hip.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/evie_matched_protocol_torch.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/evie_oracle_torch.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/exact_token_generation.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/execution_profile_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/execution_profile_gdn_calibration.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/execution_profile_gguf_batch_route_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/execution_profile_gguf_c1_route_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/execution_profile_gguf_c1_route_perf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/execution_profile_gguf_c1_threads_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/execution_profile_gguf_control_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/execution_profile_gguf_dense_pair_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/execution_profile_gguf_fp16_state_batch_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/execution_profile_gguf_fp16_state_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/execution_profile_gguf_int8_direct_prefill_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/execution_profile_q8_mmq_plane_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/README.md +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/SHA256SUMS +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/engine_compare_runner.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/nasone_adapt_real.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/nasone_clean.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/nasone_finish.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/nasone_hip_ar.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/nasone_hip_remaining.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/nasone_last.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/nasone_mtp_debug.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/nasone_mtp_eager_debug.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/nasone_mtp_layer_debug.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/nasone_next.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/nasone_ownership.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/nasone_pipeline.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/nasone_pure.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/nasone_summarize.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/nasone_wait_adapt.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/publish_engine_comparison.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/run_engine_compare_final.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/validate_engine_comparison.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/fetch_aotriton.sh +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gdn_chain_microbench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gdn_decode_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gen_b0_moe_ffn_fixture.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gen_dflash2_cpu_fixtures.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gen_dflash2_drafter_golden.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gfx1100_packet_d_natural_reuse.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gfx1100_packet_e_lm_head_resolution.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_ar_eager_graph_equivalence.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_ar_mtp_suite.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_arbitrary_c_lifecycle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_backend_capability_exec.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_boundary_cast_error.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_c1_decode_attribution.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_c1_graph_eager_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_c1c8_ar_only_control.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_c1c8_readme_rollup.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_capacity_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_capture_path_audit.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_concurrency_baseline.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_context_ceiling_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_continuous_owner_profile_child.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_continuous_owner_rocprof.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_conv_out_compare.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_decode_boundary_ladder.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_decode_census_summary.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_decode_graph_g5.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_decode_rocprof.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_eager_teacher_forced_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_engine_kernel_bucket_parity.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_engine_submodule_decomposition.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_execution_failure_containment_proof.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_execution_identity.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_first_token_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_fused_moe_ffn_teacher_forced_kl.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_gdn_compact_peer_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_gdn_prefill_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_gdn_prefill_compare.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_gdn_replay_compare.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_gdn_semantic_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_gdn_trajectory_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_hidden_in_earliest_divergence.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_hidden_precision_decision_audit.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_hidden_seed_mode_sweep.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_hidden_seed_shared_path_audit.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_iq4_nl_mmq_layer_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_iq_dense_mmq_crossover.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_iq_dense_mmq_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_iq_local32_rows_headroom.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_iq_local32_rows_trace.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_iq_q3k_w4a16_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_iq_w4a16_crossover.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_iq_w4a16_tile_sweep.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_k_gemv_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_k_selected_pack8_dp4a_microbench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_kernel_family_rocprof_summary.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_kernel_trace_rollup.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_launch_overhead_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_layer_capture_diff.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_layer_capture_summary.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_layer_moe_combine_compare.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_layer_residual_norm_compare.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_linear_boundary_capture.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_linear_layer_capture.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_linear_projection_compare.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_live_server_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_llamacpp_matched_context.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_long_context_pressure_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_mtp_acceptance_compare.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_mtp_api_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_mtp_b1_prompt_suite.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_mtp_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_mtp_call_spec.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_mtp_category_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_mtp_compare_forced_target_paths.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_mtp_compare_prefix_state_summaries.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_mtp_draft_rocprof.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_mtp_forced_target_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_mtp_lifecycle_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_mtp_long_context_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_mtp_long_context_task_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_mtp_oracle_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_mtp_packet0_route_map.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_mtp_pair_rollup.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_mtp_parity_precheck.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_mtp_parity_workbench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_mtp_prompt_priming_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_mtp_rollout_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_mtp_route_owner_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_mtp_serial_load_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_mtp_server_pair_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_mtp_verifier_rocprof.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_native_context_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_native_context_state_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_native_sampler_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_ngram_mtp_code_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_output_head_compare.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_p6e_cancel_refill_proof.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_pack8_dual_wmma_row_microbench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_packed_ar_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_packed_ar_category_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_packed_ar_d2_ceiling_sweep.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_packed_ar_rocprof.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_packed_ar_state_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_packed_kv_import_profile.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_packed_lease_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_packed_prefill_grouping_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_packed_prefill_slab_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_pair_route_count_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_pool_history_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_precision_boundary_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_prefill_projection_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_prefill_route_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_prefill_row_rollup.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_prefill_rowgate_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_prefix_reuse_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_prefix_reuse_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_prefix_route_rocprof_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_production_load_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_prompt_token_inventory.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_q3km_dequant_oracle_fixture.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_q4_k_moe_ffn_fused_batch_microbench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_q4_k_moe_ffn_fused_microbench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_q4_k_moe_ffn_fused_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_q4_k_selected_dual_dp4a_microbench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_q4_k_t16_selected_dual_dp4a_microbench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_q4_k_t16_selected_prefill_microbench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_q4_t16_dense_prefill_owner_microbench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_q4_t16_prefill_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_q5_k_gate_up_microbench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_q5_k_t16_selected_down_dp4a_microbench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_q5_k_t16_selected_down_tile8_microbench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_q5_local32_decode_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_q5_t16_dual_silu_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_q6_k_embedding_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_q6_k_t16_selected_down_pairreuse_microbench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_q8_0_dense_bw_microbench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_q8_0_grouped_down_microbench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_q8_0_grouped_down_rocprof.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_q8_0_t16_pair_microbench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_reference_oracle_worker.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_residency_g6.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_resident_layout_audit.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_resumable_prefill_gpu_proof.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_rocprof_width_scale_diff.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_route_mix.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_rowgate_ab_summary.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_rowgate_server_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_sampled_api_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_sampling_overhead_profile.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_server_allocation_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_server_cwidth_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_server_packet_diff.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_sh2_m4_compact_t16_leaf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_sh_c0_profile.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_sh_m1_screen.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_ssm_out_compare.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_state_slot_hash_match.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_t16_prefill_row_sweep.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_t16_sidecar_row_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_token_embedding_parity_audit.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_true_ar_category_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_ud_codec_fixture.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/gguf_x8_selected_down_dp4a_microbench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/graph_node_microbench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/hipfire_dflash_exactness_audit.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/inspect_gguf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/install_commit_msg_hook.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/int8_mtp_prefix_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/iq2_xs_laguna_microbench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/iq2_xs_tuning_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_attention_cached_meta_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_attention_cached_meta_leaf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_attention_dense_initial_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_attention_global_qrow6_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_attention_long_context_hipblaslt_ceiling.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_attention_packed_output_gate_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_attention_softmax_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_bulk_correctness.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_chunk_prefill_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_dflash_category_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_dflash_drafter_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_dflash_e2e_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_dflash_public_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_f16_boundary_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_f16_decode_onebarrier_leaf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_f16_decode_q8_full_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_f16_decode_q8_screen.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_f16_library_ceiling.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_f16_norm_direct_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_f16_prefill_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_f16_wmma_screen.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_fused_silu_pack_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_gate_doublebuf_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_gguf_correctness.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_gguf_load_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_gguf_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_global_fixedshape_reduce_leaf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_group_compact_parallel_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_grouped_combine_micro.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_grouped_down_category_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_grouped_down_prefill_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_llamacpp_ar_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_long_attention_quality.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_long_context_profile.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_long_context_trace_summary.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_matrix_chunk_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_mmq_combine_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_output_router_anyorder_leaf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_poolside_ar_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_poolside_prefill_control.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_poolside_v1_e2e.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_prefill_activation_stats.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_prefill_production_publication.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_prefill_profile.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_prepared_prompt_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_public_correctness.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_q4_k_mmq_leaf_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_q4_k_x8_exact_decode_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_q4_pack8_dual_silu_decode_leaf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_q4_pack8_shape_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_q4_t16_dense_dual_decode_leaf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_q4_t16_dense_single_decode_leaf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_q6_compact_activation_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_q6_half_row_activation_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_q6_lm_head_top1_leaf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_q6_planar_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_q6_qmicro_leaf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_q6_rows64_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_q6_skip_padded_activation_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_q6_t16_dense_single_decode_leaf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_repacked_cache.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_root_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_router_token_tile_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_router_token_tile_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_routing_replay.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_selected_natural_decode_leaf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_session_pool_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_stateful_kv_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_stop_holdback_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_swa_attention_hipblaslt_ceiling.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_swa_fixed512_reduce_leaf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_swa_prefill_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/laguna_target_ar_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_bench_with_peak.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_c1c8_engine_matrix.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_c8_k3_rocprof.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_gguf_prompt_token_inventory.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_kernel_trace_summary.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_kv_matched_context.cpp +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_kv_matched_context.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer0_attn_norm_formula.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer0_moe_expert_outputs_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer0_moe_router_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer0_position0_conv_gdn_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer0_post_attn_residual_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer0_projection_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer0_warm_conv_gdn_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer10_attn_norm_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer10_conv_gdn_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer10_moe_expert_outputs_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer10_moe_router_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer10_post_attn_residual_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer10_projection_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer11_attn_norm_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer11_attn_output_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer11_full_attention_context_gate_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer11_full_attention_qkv_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer11_moe_expert_outputs_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer11_moe_router_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer11_post_attn_residual_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer11_qk_norm_rotary_kv_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer12_attn_norm_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer12_conv_gdn_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer12_moe_expert_outputs_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer12_moe_router_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer12_post_attn_residual_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer12_projection_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer13_attn_norm_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer13_conv_gdn_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer13_moe_expert_outputs_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer13_moe_router_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer13_post_attn_residual_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer13_projection_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer14_attn_norm_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer14_conv_gdn_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer14_moe_expert_outputs_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer14_moe_router_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer14_post_attn_residual_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer14_projection_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer15_attn_norm_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer15_attn_output_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer15_full_attention_context_gate_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer15_full_attention_qkv_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer15_moe_expert_outputs_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer15_moe_router_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer15_post_attn_residual_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer15_qk_norm_rotary_kv_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer16_attn_norm_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer16_conv_gdn_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer16_moe_expert_outputs_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer16_moe_router_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer16_post_attn_residual_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer16_projection_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer17_attn_norm_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer17_conv_gdn_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer17_moe_expert_outputs_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer17_moe_router_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer17_post_attn_residual_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer17_projection_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer1_attn_norm_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer1_conv_gdn_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer1_moe_expert_outputs_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer1_moe_router_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer1_post_attn_residual_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer1_projection_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer2_attn_norm_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer2_conv_gdn_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer2_moe_expert_outputs_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer2_moe_router_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer2_post_attn_residual_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer2_projection_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer3_attn_norm_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer3_attn_output_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer3_full_attention_context_gate_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer3_full_attention_qkv_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer3_moe_expert_outputs_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer3_moe_router_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer3_post_attn_residual_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer3_qk_norm_rotary_kv_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer4_attn_norm_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer4_conv_gdn_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer4_moe_expert_outputs_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer4_moe_router_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer4_post_attn_residual_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer4_projection_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer5_attn_norm_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer5_conv_gdn_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer5_moe_expert_outputs_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer5_moe_router_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer5_post_attn_residual_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer5_projection_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer6_attn_norm_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer6_conv_gdn_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer6_moe_expert_outputs_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer6_moe_router_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer6_post_attn_residual_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer6_projection_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer7_attn_norm_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer7_attn_output_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer7_full_attention_context_gate_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer7_full_attention_qkv_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer7_moe_expert_outputs_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer7_moe_router_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer7_post_attn_residual_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer7_qk_norm_rotary_kv_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer8_attn_norm_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer8_conv_gdn_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer8_moe_expert_outputs_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer8_moe_router_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer8_post_attn_residual_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer8_projection_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer9_attn_norm_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer9_conv_gdn_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer9_moe_expert_outputs_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer9_moe_router_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer9_post_attn_residual_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer9_projection_oracle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_build_input_embed_harness.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_build_layer0_attn_norm_harness.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_build_layer_boundary_harness.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_build_plan.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_build_pre_output_norm_harness.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_capture_trace.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_checkpoint_tap_plan.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_compare_early_boundary.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_compare_full_attn_boundary.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_compare_hidden_lifecycle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_compare_hidden_seed.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_compare_input_embed.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_compare_layer0_attn_norm.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_compare_layer0_linear_attn.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_compare_layer_boundary.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_compare_pre_output_norm.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_compare_router_trace.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_compare_tap_placement.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_compare_target_moe_taps.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_compare_verifier_tensors.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_compile_hidden_in_harness.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_compile_hidden_seed_harness.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_draft_trace.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_final_output_cont_trace_patch.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_greeting_trace_plan.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_hidden_lifecycle_ladder.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_hidden_seed_oracle_plan.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_initial_input_capture_plan.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer0_bisection_conclusion.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer0_conv_gdn_plan.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer0_dtype_oracle_policy.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer0_subboundary_plan.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer10_bf16_handoff_audit.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer11_bf16_handoff_audit.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer12_bf16_handoff_audit.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer13_bf16_handoff_audit.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer14_bf16_handoff_audit.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer15_bf16_handoff_audit.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer16_bf16_handoff_audit.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer17_bf16_handoff_audit.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer1_bf16_handoff_audit.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer2_bf16_handoff_audit.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer3_bf16_handoff_audit.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer4_bf16_handoff_audit.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer5_bf16_handoff_audit.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer6_bf16_handoff_audit.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer7_bf16_handoff_audit.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer8_bf16_handoff_audit.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer9_bf16_handoff_audit.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer_boundary_bisect_plan.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer_input_patch.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_linear_attn_trace_patch.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_pre_output_norm_capture_plan.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_prepare_patched_source.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_rocprof.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_run_build.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_run_hidden_in_capture.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_sweep_hidden_in_layers.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_trace_inventory.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_mtp_validate_final_output_projection.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_q8_kv_quality_sweep.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_raw_suite_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_vulkan_concurrency_sweep.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_vulkan_mtp_sweep.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_vulkan_mtp_token_sweep.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/llamacpp_vulkan_perf_summary.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/maple_batch_decode_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/maple_c1_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/maple_correctness.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/maple_phase_profile.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/maple_prefill_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/maple_profile.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/maple_public_batch_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/merge_readme_sweep_components.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/microbench/graph_node_microbench.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/moonshine_attention_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/moonshine_attention_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/moonshine_cpu_fixture_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/moonshine_cuda_mlp_profile.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/moonshine_decoder_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/moonshine_fusion_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/moonshine_glue_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/moonshine_layernorm_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/moonshine_lm_head_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/moonshine_lm_head_route_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/moonshine_mlp_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/moonshine_projection_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/moonshine_projection_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/moonshine_runtime_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/moonshine_self_attention_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/mtp-bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/mtp_acceptance_status_report.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/mtp_adaptive_budget_replay.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/mtp_chain_e2e_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/mtp_chain_e2e_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/mtp_cycle1_layer0_parity.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/mtp_cycle_accounting.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/mtp_draft_kernel_compare.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/mtp_economy_reconcile.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/mtp_expert_overlap.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/mtp_input_fc_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/mtp_layer_drift_audit.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/mtp_native_decode_step_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/mtp_nextn_rocprof_driver.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/mtp_paro_fast_state_review.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/mtp_paro_lifecycle_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/mtp_paro_proposal_parity.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/mtp_paro_proposal_reference.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/mtp_paro_verifier_numerics.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/mtp_paro_verifier_repeat_review.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/mtp_paro_verifier_review_aggregate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/mtp_prompt_suite_economics.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/mtp_proposal_trace_compare.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/mtp_sampled_accept_distribution_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/mtp_state_drift_audit.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/mtp_target_score_compare.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/mtp_torch_proposal_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/mtp_verifier_economics.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/mtp_verifier_rocprof.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/native_sampler_overhead_profile.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/openai_chat_capture.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pack_moonshine_fp16.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/paro_live_server_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/paro_moe_ffn_fused_microbench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/paro_moe_ffn_fused_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/paro_prefill_aotriton_stream_exactness.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/paro_prefill_conv_domain.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/persistent_barrier_microbench.hip +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/persistent_barrier_microbench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pm4_gguf_decode_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pm4_graph_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pm4_lifecycle_issue_capture.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pm4_lifecycle_repro.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pm4_packed_graph_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pm4_promotion_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn3_27b_chunk_pinned.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn3_27b_chunk_resolve.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn3_aotriton_ab512.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn3_aotriton_prefill_insitu.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn3_aotriton_prefill_isolate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn3_chunk_correctness.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn3_chunk_robustness.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn3_chunkprofile_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn3_chunksize_sweep.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn3_clock_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn3_crossover_gfx1151.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn3_fullattn_splitk_vs_leaf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn3_fullattn_threads_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn3_fullattn_threads_sweep.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn3_gdn_core_leaf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn3_moehoist_lib_ab_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn3_moeselect_cost_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn3_moeselect_dispatch_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn3_moeselect_host_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn3_prefill_vs_decode_econ.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn3_q4_t16_laq_gemv_leaf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn3_stage_ranking_from_trace.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn4_host_bound_ab_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn4_moe_gpu_cost_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn4_recurrence_ab_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn4_recurrence_fastpath_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn5_router_host_dispatch_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn5_router_lib_ab_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn5_router_raw_launch_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn5_router_rocprof_child.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn5_router_slice_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/pn6_gemv_dispatch_audit_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/prefix_cache_multiturn_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/prefix_pressure_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/profiling/qwen4exp_owner_scope.hpp +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/publish_alias_ladder.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/publish_merged_lane_capacity.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/q4_k_mmq_rocprof_child.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/q4_k_vdr_rocprof_child.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/q8t16_batch_route_perf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/quant_quality/__init__.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/quant_quality/llama_greedy_teacher_logits.cpp +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/quant_quality/llama_teacher_logits.cpp +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/quant_quality/metrics.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/quant_quality/qwen36_teacher.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_08b_cumulative_semantic.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_08b_exact_core.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_08b_graph_rerank.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_08b_three_way.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_08b_threshold_sweep.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_aotriton_head_major_screen.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_batch_artifact_schema.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_batch_c_sweep.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_batch_constants.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_batch_correctness.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_batch_decode_graph_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_batch_equality_matrix.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_batch_gguf_diagnostic.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_batch_hidden_artifact_compare.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_batch_hidden_bisect.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_batch_int8_diagnostic.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_batch_packed_prefill_correctness.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_batch_retained_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_batch_serial_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_batch_serial_correctness.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_batch_shrinking_correctness.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_batch_sparse_slot_correctness.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_batch_teacher_forced_kl.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_compare_tables.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_concurrency_decode_sweep.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_decode_graph_fixture_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_dflash_ddtree_blocker.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_e2e_correctness.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_gguf_aotriton_prefill_sweep.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_gguf_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_gguf_build_expert_sidecar.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_gguf_bulk_parity.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_gguf_e2e_correctness.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_gguf_expert_pack8_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_gguf_int8_kv_correctness.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_gguf_int8_layer_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_gguf_kv_asymmetric_suite.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_gguf_kv_format_ablation.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_gguf_moe_replay.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_gguf_mtp_e2e.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_gguf_p9_e2e_correctness.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_gguf_q8_format_sweep.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_gguf_rocprof_summary.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_kv_e2e_fixture_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_kv_int8_accuracy.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_kv_policy_args.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_linear_attn_tree_tloop_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_native_compact_prefill_plan.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_native_mixed_kv_suite.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_native_prefill_boundary.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_native_prefill_correctness.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_native_prefill_fixture_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_native_prefill_fullattn_stage_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_native_prefill_plan.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_native_prefill_stage_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_paro_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_paro_int8_kv_quality_sweep.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_paro_kv_format_ablation.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_paro_kv_functional_mc.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_paro_kv_policy_ablation.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_paro_kv_quality_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_paro_next_token.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_paro_packed_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_prefill_flight_recorder.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_readme_sweep.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen35_rocprof_audit.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen36_dense_gguf_suite.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen36_dense_mtp2_c2_production_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen36_execution_profile_adapter.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen36_moe_mtp2_production_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen36_q4_unequal_dual_prefill_leaf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_b0_corrected_budgets.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_b1_transfer_full_suite.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_b1_transfer_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_b1_verifier_owner_map.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_b2_prefill_full_suite.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_b2_retention.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_b2_sibling_screen.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_c8_grouped_q5_planar_dp4a_leaf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_c8_p2_q4_qmicro_dp4a_leaf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_c8_p2_q5_direct_dp4a_leaf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_c8_p2_q5_planar_dp4a_numerics.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_c8_p4_q6_dp4a_grouped_leaf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_c8_p4_q6_dp4a_leaf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_c8_p4_q6_dp4a_numerics.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_c8_q5_raw_mb4_leaf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_c8_q5_raw_mmq_screen.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_c8_q5_source_j16_leaf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_dense_pair_perf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_dms_build_labels.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_dms_build_long_manifest.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_dms_calibrate_long_bias.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_dms_capture.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_dms_concurrency_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_dms_int8_prompt_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_dms_integrated_long.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_dms_integrated_quality.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_dms_integrated_quality_suite.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_dms_quality.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_dms_replay.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_dms_train_sidecar.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_gfx1151_prefill_compare.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_gfx1151_q4_dense_rowtile_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_gfx1151_readme_sweep.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_gguf_teacher.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_hidden_capture_pricing.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_int8_alias_realprompt_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_int8_batch_decode_ownership_trace.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_int8_kv_shadow_audit.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_int8_packed_transition_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_int8_server_context_soak.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_int8_twopass_rocprof_child.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_llama_teacher.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_mixed_quant_plan.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_mixed_quant_verify.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_packed_c1_cancel.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_packed_c1_depth_coverage.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_packed_c1_drain.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_packed_c1_eos.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_packed_c1_eos_state.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_packed_c1_kv.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_packed_c1_lifecycle.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_packed_c1_logits.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_packed_c1_provider_kv.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_packed_c1_recovery.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_packed_c1_refill.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_packed_c1_slots.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_packed_c1_state.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_packed_c1_teacher.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_packed_c1_teacher_candidate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_packed_c1_teacher_fixture.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_packed_c1_teacher_repeat.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_packed_c1_teacher_run.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_packed_c1_teacher_scopes.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_packed_c1_wide_refill.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_packet3_q6_planar_wmma_row_leaf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_packet3_retained_rollup.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_packet4_q4_dual_silu_row_leaf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_packet5_k4_watchdog_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_packet6_grid_aggregate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_prefill_composition_diagnostic.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_prefill_sweep_analyze.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_prefill_sweep_trace.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_production_ar_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_q4_dense_rowtile_gfx1151_screen.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_q4_k_mmq_prefill_leaf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_q4_k_vdr_leaf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_q4_t16_actual_operation_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_q4_t16_dense_dual_decode_leaf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_q4_verifier_numerics.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_q5_t16_actual_operation_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_q6_planar_actual_operation_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_serving_closure.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_xtx_allocation_ledger.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen38_z3_candidate_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4_exp_artifact.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4_exp_compare_logits.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4_exp_compare_suite.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4_exp_memory_plan.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4_exp_qsa_retrieval_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_baseline_retention.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_campaign_ab_retention.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_candidate_ar.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_canonical_ar_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_chunk_memory_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_chunk_sweep.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_clock_trace.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_context_capacity_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_context_decode_profile.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_context_serving_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_cpu_floor.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_cpu_frequency.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_decode_sync_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_framework_family_refresh.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_gate_mmq_discriminator.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_gdn_decode_graph_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_gdn_graph_replay_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_gdn_owner_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_gdn_register_micro.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_gr_iu8_logits_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_gr_iu8_screen.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_graph_census.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_halo_box_campaign_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_halobox5f_prefill_attribution.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_hip_wait_policy.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_hot_expert_reuse_screen.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_layer2_profile_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_llamacpp_exact_profile.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_mmq_prepack_screen.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_moe_decode_warp_logits_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_moe_decode_warp_state_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_moe_gemv_decode_screen.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_moe_routing_distribution_capture.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_mtp_head_profile.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_mtp_phase_census.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_p8_production_denominator.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_perf_gap_report.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_pf1_mmq_plane_screen.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_profile_gap.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_q4_bundle_screen.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_q4_iu8_exact_screen.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_q4_iu8_flip_analyze.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_q4_iu8_flip_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_q4_iu8_scale_sweep.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_q51_down_input_capture.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_q51_mmq_flip_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_q51_pair_screen.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_q5_k_iu8_exact_screen.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_q5k_grouped_row4_screen.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_q8_0_wmma_down_logits_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_q8_down_row4_screen.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_q8_iu8_dense_screen.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_q8_iu8_vs_mmq_screen.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_q8_mmq_planes_logits_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_q8_mmq_tile_screen.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_q8_wave_scale_screen.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_qsa_decode_flag_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_qsa_decode_pass_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_qsa_h256_wave_screen.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_qsa_phase_trace_summary.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_qsa_v2_drift_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_r2e_route_ablation.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_role_analyze.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_route_coverage_finding.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_route_pair.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_routing_capture.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_row4_state_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_screen_calibration.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_stateful_layer_graph_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_thread_affinity.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_thread_perf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_tools_grammar_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_trace_analyze.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/qwen4exp_vulkan_owner_build.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/rocblas_batched_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/rocblas_scores_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/run_gfx1151_readme_refresh.sh +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/run_w7900_readme_refresh.sh +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/sampler_full_vocab_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/server_f1_concurrency_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/session_replay_convert.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/setup_vibevoice_tts_oracle_env.sh +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/sharegpt_mtp_routing_pass.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/specdec2_c1_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/specdec2_paro_c1_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/specdec2_perf_bridge.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/specdec2_perf_gfx1100_bridge.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/specdec2_perf_gfx1100_child.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/specdec2_rocprof_summary.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/specdec2_s4_compaction_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/specdec2_s4_neighbor_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/specdec2_s4_prefix_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/specdec2_s6_category_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/specdec2_s6_failure_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/specdec2_s6_soak_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/strip_paro_safetensors.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/summarize_native_context_gates.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/surya_acceptance.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/surya_attention_memory.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/surya_bench_pages.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/surya_gpu_debug_attn.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/surya_gpu_debug_gdn0.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/surya_gpu_rocprof_driver.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/surya_gpu_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/surya_http_e2e.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/surya_kv_spans_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/surya_numerical_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/surya_oracle_greedy.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/surya_oracle_torch.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/surya_perf_compare.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/surya_profile_report.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/surya_transcription_report.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/surya_transcription_score.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/surya_vision_tiling_cost.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/sync_benchmark_readme.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/test_fp8_rdna3.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/tier_backend_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/tier_model_kv_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/timesfm3_gpu_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/timesfm3_oracle_torch.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/timesfm_gpu_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/timesfm_oracle_torch.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/ud_bf16kv_spike/README.md +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/ud_bf16kv_spike/capture.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/ud_bf16kv_spike/compare.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/ud_bf16kv_spike/hip_replay.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/ud_bf16kv_spike/intervene.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/ud_bf16kv_spike/norm_replay.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/ud_bf16kv_spike/record.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/ud_bf16kv_spike/replay.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/ud_bf16kv_spike/teacher.cpp +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/ud_mtp_ar_verify_numerics_gate.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/ud_mtp_certification.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/ud_mtp_paired.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/ud_precision_row_diagnostic.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/ud_strict_manifest.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/update-therock-torch.sh +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/validate_local_agent_config.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/validate_pi_agent_models.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vendor_aotriton.sh +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/verify_c8_batch_kernels.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/verify_c8_batch_runtime.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vibevoice_asr_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vibevoice_asr_compare_logits.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vibevoice_asr_e2e.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vibevoice_asr_gguf_merge.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vibevoice_asr_logits.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vibevoice_asr_oracle_torch.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vibevoice_asr_q4_decode_scratch_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vibevoice_asr_q4_prefill_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vibevoice_asr_standalone_check.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vibevoice_asr_to_gguf.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vibevoice_asr_transcribe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vibevoice_asr_wer.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vibevoice_asr_wer_full.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vibevoice_asr_wer_q4.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vibevoice_frontend_scratch_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vibevoice_q4_decode_phase_split.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vibevoice_q4_e2e_stage_breakdown.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vibevoice_q4_prefill_launches.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vibevoice_q4_prefill_scratch_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vibevoice_tts_cache_ab.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vibevoice_tts_decoder_rocprof_smoke.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vibevoice_tts_diffusion_linear_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vibevoice_tts_oracle_requirements.txt +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vibevoice_tts_oracle_torch.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vibevoice_tts_quality_suite.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vibevoice_tts_session_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vibevoice_tts_torch_bench.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vibevoice_tts_weight_inventory.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vllm_openai_concurrency_sweep.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/vllm_rocm_gfx1100_docker.sh +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/w8a16_decode_probe.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/worklog.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/worklog_port_legacy.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/xtx_dms_capacity_point_check.py +0 -0
- {hipengine-0.6.1 → hipengine-0.7.0}/scripts/zbook_production_numerics_c1_profile.py +0 -0
|
@@ -0,0 +1,961 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable user-facing changes for hipEngine releases are documented here.
|
|
4
|
+
|
|
5
|
+
This changelog is for package/API releases. Performance rollup history remains in
|
|
6
|
+
[`benchmarks/CHANGELOG.md`](benchmarks/CHANGELOG.md), with detailed benchmark
|
|
7
|
+
evidence under [`benchmarks/results/`](benchmarks/results/).
|
|
8
|
+
|
|
9
|
+
## Unreleased
|
|
10
|
+
|
|
11
|
+
## v0.7.0 - 2026-10-06
|
|
12
|
+
|
|
13
|
+
Adds YuE2 song generation, extends speculative decoding controls, and improves
|
|
14
|
+
shared-context growth and memory admission. APIs remain alpha; support depends
|
|
15
|
+
on the model, backend, storage layout, and request shape.
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
|
|
19
|
+
- **YuE2 song generation.** A native, torch-free pipeline is available through
|
|
20
|
+
`LLM.generate_song()` and `POST /v1/audio/songs`. Lyrics and a style prompt
|
|
21
|
+
produce 48 kHz stereo WAV or JSON provenance. The companion decoder checkpoint
|
|
22
|
+
can be selected with `--vae-model`; see
|
|
23
|
+
[the YuE2 model card](docs/model-cards/MODEL-YUE2.md).
|
|
24
|
+
- **More speculative decoding controls.** Supported multi-token prediction (MTP)
|
|
25
|
+
routes now serve log probabilities, forced-token queues, text-keyed constraints,
|
|
26
|
+
and sampled thinking budgets. Thinking policy is retained across batching and
|
|
27
|
+
streaming.
|
|
28
|
+
- **Public compact BF16 DMS serving.** The compact retention path described in
|
|
29
|
+
[the DMS reference](docs/reference/DMS.md) is exposed through single-request
|
|
30
|
+
serving.
|
|
31
|
+
- **Elastic shared GGUF KV backing.** HIP virtual memory reserves stable device
|
|
32
|
+
addresses while physical key/value (KV) storage grows on demand. Prefix
|
|
33
|
+
snapshots remain reusable across stable-arena growth.
|
|
34
|
+
|
|
35
|
+
### Changed
|
|
36
|
+
|
|
37
|
+
- **Parallel tool calls are enabled by default.** XML tool-call streaming and
|
|
38
|
+
constrained MTP prefill have also been repaired.
|
|
39
|
+
- **Resident-memory admission prices allocation before it happens.** KV arenas,
|
|
40
|
+
packed workspace leases, and speculative buffers share named budget charges.
|
|
41
|
+
Virtual-memory admission includes per-plane allocation-granularity padding,
|
|
42
|
+
both initially and before growth. Eager packed workspace allocation is bounded.
|
|
43
|
+
- **Model-specific kernel improvements.** Selected Strix Halo GGUF routes use
|
|
44
|
+
revised dense-IQ dispatch, Q5 decode schedules, fused gate/up operations, and
|
|
45
|
+
residual-add fusion. YuE2 uses paired output-head execution, vocabulary-window
|
|
46
|
+
sampling, and tensor-core attention. Performance evidence and hardware scope
|
|
47
|
+
remain in [the benchmark rollup](benchmarks/README.md); these changes do not
|
|
48
|
+
imply a uniform speedup across models or hardware.
|
|
49
|
+
|
|
50
|
+
### Fixed
|
|
51
|
+
|
|
52
|
+
- Declared serving contexts are respected when sizing resident sessions.
|
|
53
|
+
Allocation retries remain positive and block-aligned, and stop at the smallest
|
|
54
|
+
valid context instead of retrying zero or negative lengths.
|
|
55
|
+
- Pool growth and cleanup preserve allocation ownership. Failed releases remain
|
|
56
|
+
charged until physical handles are released, and packed workspaces close before
|
|
57
|
+
their KV pool. Prefix reuse, cancellation, reclaim, and refill have additional
|
|
58
|
+
regression coverage.
|
|
59
|
+
- INT8 routes bind the declared scale dtype and choose automatic MTP width from
|
|
60
|
+
the storage capability. Compatible layouts support packed multi-choice MTP
|
|
61
|
+
beyond a 1,024-token live context.
|
|
62
|
+
- DMS compaction separates read and write phases, and transaction journals
|
|
63
|
+
restore allocator ownership and model state on speculative rollback.
|
|
64
|
+
- Temporary host arrays remain alive through asynchronous uploads.
|
|
65
|
+
- A long-context INT8 KV server no longer returns HTTP 500 on a request that
|
|
66
|
+
follows a concurrent autoregressive/speculative pair, and multi-choice no
|
|
67
|
+
longer fails on such a server. The direct INT8 batch leaf reads retained INT8
|
|
68
|
+
planes on every full-attention layer it covers, but a long-context INT8
|
|
69
|
+
session keeps a BF16 prefix of those layers for quality, so those layers have
|
|
70
|
+
no retained planes and take the standard batch leaf instead. One packed batch
|
|
71
|
+
cannot run both leaves, and the session was still advertising the declared
|
|
72
|
+
width, so it built a batch that the packed decode then rejected. Such a
|
|
73
|
+
session now caps the packed width at one row and serializes; results are
|
|
74
|
+
unchanged and stay exact against the autoregressive baseline.
|
|
75
|
+
- `/ready` reports the effective width as
|
|
76
|
+
`model.kv_capability.max_packed_rows`, which previously differed silently from
|
|
77
|
+
the declared `max_direct_rows`.
|
|
78
|
+
|
|
79
|
+
### Known Limitations
|
|
80
|
+
|
|
81
|
+
- Song generation serves one request at a time, takes minutes rather than
|
|
82
|
+
seconds, and returns only the finished song; there is no streaming form. A
|
|
83
|
+
concurrent request receives retryable HTTP 429 `engine_busy`. The companion
|
|
84
|
+
decoder checkpoint is required.
|
|
85
|
+
- Compact BF16 DMS public serving is single-request; broader concurrency and
|
|
86
|
+
retention-quality claims are not established by exposing this route.
|
|
87
|
+
- APIs and supported combinations may change before 1.0.
|
|
88
|
+
- INT8 speculative decoding's supported scope is dense GGUF with a NextN head,
|
|
89
|
+
uniform paged per-token/head INT8 K/V with `fp32` per-token-head scales, and
|
|
90
|
+
registered gfx11 kernels. Inside that scope, packed verification runs at
|
|
91
|
+
group widths up to the artifact's admitted no-mirror capability (physical c4),
|
|
92
|
+
and sampled requests, `n>1` multi-choice in one request, and concurrent
|
|
93
|
+
requests coalesced into one decode step all speculate and match the
|
|
94
|
+
autoregressive ids.
|
|
95
|
+
- Compact DMS is a retention topology on top of INT8, not another name for it.
|
|
96
|
+
DMS plus INT8 MTP runs the same row-bulk verifier with the DMS store journal
|
|
97
|
+
for eviction and compaction, and reproduces the DMS plus INT8 autoregressive
|
|
98
|
+
ids and finish reason. The packed decode graph is BF16-only, so a DMS INT8 row
|
|
99
|
+
verifies through the serial-exact route with `allow_graph=False`.
|
|
100
|
+
- The route a speculative request actually took is reported one level below the
|
|
101
|
+
top-level metadata: `choices[0].hipengine.diagnostics.specdec2_mtp2` carries
|
|
102
|
+
`plan_reason`, `plan_ar_only`, `provider_readiness`, `provider_decline_reason`,
|
|
103
|
+
`cycles`, and `failure_reason_counts`. An explicit `speculative_mtp: true`
|
|
104
|
+
request that cannot use the speculative route is not silently downgraded -- it
|
|
105
|
+
either runs MTP or reports why it did not -- but a client reading only the
|
|
106
|
+
top-level block sees zero cycles and no reason.
|
|
107
|
+
- A structured request (`response_format: {"type": "json_object"}`) declines the
|
|
108
|
+
speculative provider on INT8 KV and decodes autoregressively with that reason
|
|
109
|
+
reported. The JSON-object close-forcing processor also raises one recoverable
|
|
110
|
+
`precommit_failure_ar_fallback` ("no finite logits remain after token
|
|
111
|
+
constraints") that the fallback absorbs; the response is still valid JSON.
|
|
112
|
+
- INT8 speculative decoding still does not establish INT8-versus-BF16 output
|
|
113
|
+
quality, and the INT8 storage policy's own resident-context figures do not
|
|
114
|
+
transfer to the BF16 default.
|
|
115
|
+
|
|
116
|
+
## v0.6.1 - 2026-09-22
|
|
117
|
+
|
|
118
|
+
Fixes long-prompt prefix reuse, widens speculative decoding on INT8 KV, and adds
|
|
119
|
+
measurement to the terminal chat client. Prefix reuse now works on prompts long
|
|
120
|
+
enough that a reply crosses a cache boundary — the case where it previously
|
|
121
|
+
reused nothing and re-prefilled the entire prompt on the non-speculative route.
|
|
122
|
+
Speculative decoding on INT8 KV now covers sampled requests and multi-request
|
|
123
|
+
groups, and the autoregressive finish rule applies to a whole verified chain, so
|
|
124
|
+
`min_tokens`, EOS and stop ids, and stop sequences are servable on the
|
|
125
|
+
speculative routes. Hardware validation covers Radeon RDNA 3 (`gfx1100`: RX 7900
|
|
126
|
+
XTX, Pro W7900) and Strix Halo (`gfx1151`: Ryzen AI MAX+ 395 with Radeon 8060S);
|
|
127
|
+
support and results are specific to each model and backend. Numbers live in
|
|
128
|
+
[`benchmarks/README.md`](benchmarks/README.md) and the dated performance history
|
|
129
|
+
in [`benchmarks/CHANGELOG.md`](benchmarks/CHANGELOG.md).
|
|
130
|
+
|
|
131
|
+
### Added
|
|
132
|
+
|
|
133
|
+
- **`/bench` in the terminal chat client.** `hipengine chat` gains `/bench [in]
|
|
134
|
+
[out]` (default 512 in, 32 out), which sends one cold and one repeat request
|
|
135
|
+
per route of the running server and prints one column per metric:
|
|
136
|
+
`mtp | cache | prefill tok/s | prompt tok/s | decode tok/s | ttft s | tpot ms`.
|
|
137
|
+
TTFT and TPOT are separate columns because they are the two sides of the trade
|
|
138
|
+
speculative decoding makes against decode throughput. Each route gets its own
|
|
139
|
+
nonce-prefixed prompt so one route's cold run cannot hit the other's cache
|
|
140
|
+
entry, and a route the server refuses is reported as a note instead of failing
|
|
141
|
+
the bench. The plain, dependency-free client prints the same table.
|
|
142
|
+
- **Prefix-cache accounting in responses and chat.** Chat completions now report
|
|
143
|
+
the vLLM-compatible `usage.prompt_tokens_details.cached_tokens`, summed from
|
|
144
|
+
the per-request prefix-cache diagnostics. It is omitted entirely when no output
|
|
145
|
+
carried prefix telemetry, so the server never reports a zero it did not
|
|
146
|
+
measure, while a cache that was consulted and missed reports `0`. The chat
|
|
147
|
+
client's per-reply line reports `N tokens · prefill X tok/s · decode X tok/s ·
|
|
148
|
+
cached N · ttft · total`, adds `prompt X tok/s` when a cache hit made the
|
|
149
|
+
prefilled portion smaller than the prompt, and `/usage` gains a cumulative
|
|
150
|
+
`cached` row.
|
|
151
|
+
- **Startup warms the width the server admits and the speculative route.** The
|
|
152
|
+
scratch probe was sized from `max_active_requests or 1`, and unset means "no
|
|
153
|
+
server-wide cap", so on a default server the probe asked for one row and
|
|
154
|
+
skipped every packed and MTP warmup it exists to run. The probe now takes the
|
|
155
|
+
width the server can actually admit, and a new `mtp_smoke` startup stage sends
|
|
156
|
+
one bounded request with `speculative_mtp: true` through the production
|
|
157
|
+
batcher before readiness, recording both the resolved route and the route the
|
|
158
|
+
batcher realized, so a silent fallback to normal decoding is visible. A failing
|
|
159
|
+
MTP warmup is recorded as `failed` and does not fail startup.
|
|
160
|
+
- **Sampled and multi-request speculative decoding on INT8 KV.** The packed
|
|
161
|
+
target verifier binds the retained INT8 payload planes and their per-token-head
|
|
162
|
+
scale metadata, so a speculative request group of more than one row speculates
|
|
163
|
+
instead of falling back to normal decoding, and multi-session packed INT8
|
|
164
|
+
prefill no longer collapses to one row. Requests using `temperature`,
|
|
165
|
+
penalties, `logit_bias`, or `suppress_token_ids` now speculate on INT8 KV as
|
|
166
|
+
well; the declarations list `greedy_fast` and `sampled` for INT8, and the
|
|
167
|
+
runtime gate that requires an evidence row matching this backend,
|
|
168
|
+
architecture, weight quant, and artifact size is unchanged. A group width the
|
|
169
|
+
artifact does not qualify for fails with a named capability error rather than
|
|
170
|
+
downgrading silently.
|
|
171
|
+
- **Speculative routes honour the autoregressive finish rule.** The cycle commit
|
|
172
|
+
implemented one finish rule — EOS on the last visible token of a greedy chain —
|
|
173
|
+
so `min_tokens`, `eos_token_id`, `stop_token_ids`, and
|
|
174
|
+
`stop_token_sequences` had to stay off the speculative routes. The rule now
|
|
175
|
+
applies to the whole verified chain, selects the terminal prefix, commits
|
|
176
|
+
before the terminal token, retains no model state past that prefix, and reports
|
|
177
|
+
`eos` or `stop` with the same `stop_token_id` / stop-sequence detail the
|
|
178
|
+
autoregressive route reports. The four fields are servable.
|
|
179
|
+
- **An engine-neutral agentic session replay harness.**
|
|
180
|
+
`scripts/agentic_session_compare.py` replays a recorded agent session against
|
|
181
|
+
any OpenAI-compatible endpoint over HTTP, preserving `tool_calls`,
|
|
182
|
+
`tool_call_id`, and `name` verbatim instead of flattening them to role and
|
|
183
|
+
content. It requests `stream_options.include_usage` and records per-turn
|
|
184
|
+
prompt tokens, first-token time, decode rate, wall time, content deltas, and
|
|
185
|
+
tool-call chunks, aggregating cold and warm passes separately. `--dry-run`
|
|
186
|
+
checks request fidelity offline and `--no-tools` omits the tool array.
|
|
187
|
+
|
|
188
|
+
### Changed
|
|
189
|
+
|
|
190
|
+
- **The startup scratch probe prices its width before allocating it.** The probe
|
|
191
|
+
acquires one resident session per slot, each preallocating its own KV pages and
|
|
192
|
+
packed workspace lease, but the capacity estimator prices one session — so a
|
|
193
|
+
widened probe asked for four slots that each fitted alone and the fourth
|
|
194
|
+
allocation failed after four out-of-memory attempts at startup. The probe runs
|
|
195
|
+
at the configured request width, reduces to one slot when the machine cannot
|
|
196
|
+
hold that width, records the numbers in `startup.checks.scratch_probe` and the
|
|
197
|
+
`/ready` diagnostics, and retries at width one when a wider probe fails to
|
|
198
|
+
allocate. Only a width-one failure is fatal, and a fatal eager-startup stage
|
|
199
|
+
now exits non-zero instead of leaving the process listening while unready.
|
|
200
|
+
- **A diagnostic override runs the direct INT8 route on its declared contract.**
|
|
201
|
+
Route resolution required the runtime action to be `admit`, so a documented
|
|
202
|
+
`diagnostic_override` — where the engine has already answered the selection
|
|
203
|
+
question — never consulted the kernels. "May this session execute mirror-free
|
|
204
|
+
INT8" is now a capability question that admits the override, while "is it
|
|
205
|
+
admitted to allocate" stays strict and still governs the retained BF16 mirrors.
|
|
206
|
+
The registry lookup remains the capability check, so a contract no kernel
|
|
207
|
+
registers still refuses.
|
|
208
|
+
|
|
209
|
+
### Fixed
|
|
210
|
+
|
|
211
|
+
- **Prefix reuse no longer loses the boundary a following turn can reach.** The
|
|
212
|
+
native decode step refreshes the prefix cache after every token, so any reply
|
|
213
|
+
long enough to cross the next 256-token boundary captured a boundary *past*
|
|
214
|
+
that request's own prompt end, and the supersede loop evicted the
|
|
215
|
+
prompt-aligned capture with it. The survivor sat deeper than any token count a
|
|
216
|
+
following turn can match, so that turn matched no live prefix at all and
|
|
217
|
+
re-prefilled the whole prompt. Both boundaries are now captured and retained,
|
|
218
|
+
with the prompt-aligned one ranked above the decode-time one, which a resend
|
|
219
|
+
cannot reach; under retained-budget pressure the decode-time entry is trimmed
|
|
220
|
+
first. Measured on `qwen3.8-27b` on `hip_gfx1151` with one server command and
|
|
221
|
+
the `/bench` cold-then-cached pair, before and after on the same machine:
|
|
222
|
+
with speculation off, a 2048-token prompt reused 0 tokens at 8.19 s to first
|
|
223
|
+
token before the fix and 1792 tokens at 1.32 s after it; 8192 reused 0 at
|
|
224
|
+
32.41 s and 7680 at 1.43 s. The speculative route already reused 1792 and 7680,
|
|
225
|
+
and every route that already reused keeps its depth.
|
|
226
|
+
- **`LLM` exposes the resident capacity estimate.** The startup probe's width
|
|
227
|
+
preflight looked for `resident_capacity_estimate` on the object the server
|
|
228
|
+
holds, and `LLM` delegates generator hooks through explicit methods rather
|
|
229
|
+
than attribute passthrough. The lookup found nothing, so every probe ran at its
|
|
230
|
+
configured width and the preflight was dead code on a real server. Unit tests
|
|
231
|
+
passed because their fakes carried the method.
|
|
232
|
+
- **`/help` no longer drops the `/bench` arguments.** The help table passed
|
|
233
|
+
command strings straight to the renderer, which read `[in]` and `[out]` as
|
|
234
|
+
style tags and removed them, so `/help` showed `/bench` with no arguments while
|
|
235
|
+
the plain client printed them.
|
|
236
|
+
- **`docs/ENVS.md` describes which commands get the 503.** The
|
|
237
|
+
`HIPENGINE_ENGINE_COMMAND_TIMEOUT_SECONDS` entry claimed an exhausted command
|
|
238
|
+
budget is reported as HTTP 503 `engine_unavailable`. That holds for commands
|
|
239
|
+
that serve a request, and not for the readiness and metrics diagnostics, which
|
|
240
|
+
swallow the exception and lose their live snapshot fields instead.
|
|
241
|
+
|
|
242
|
+
### Known Limitations
|
|
243
|
+
|
|
244
|
+
- `/ready`'s worst-case latency is the engine command timeout, which defaults to
|
|
245
|
+
300 seconds, because the readiness read enqueues a command onto the single
|
|
246
|
+
driver thread and waits behind whatever engine work is already running. The
|
|
247
|
+
event loop stays responsive and the verdict comes from the server's own startup
|
|
248
|
+
state, so this costs diagnostics rather than correctness, but no load balancer
|
|
249
|
+
treats a five-minute probe response as healthy. Lower
|
|
250
|
+
`HIPENGINE_ENGINE_COMMAND_TIMEOUT_SECONDS` for a tight probe. `/health` returns
|
|
251
|
+
a static payload and is unaffected.
|
|
252
|
+
- The finish-rule and metadata set (`min_tokens`, `eos_token_id`, stop ids, stop
|
|
253
|
+
sequences, and `logprobs`) is still refused on both BF16 and INT8 KV
|
|
254
|
+
speculative routes; only the sampled route applies the finish rule. This is not
|
|
255
|
+
a storage question and the refusal is explicit.
|
|
256
|
+
- The prefix cache's retained budget is still `max(1, capacity)` entries while a
|
|
257
|
+
long-decoding request can now hold two, so under a saturated budget
|
|
258
|
+
conversation capacity trades against decode-time reuse depth. The decode-time
|
|
259
|
+
entry is trimmed first, so the effective floor is the previous behavior.
|
|
260
|
+
- INT8 speculative decoding does not establish INT8-versus-BF16 output quality or
|
|
261
|
+
a throughput gain. Packed INT8 verification now runs at group widths up to
|
|
262
|
+
four, and broader memory-pressure qualification remains open.
|
|
263
|
+
- The direct INT8 route under a diagnostic override binds the declared leaf on
|
|
264
|
+
live `gfx1151`: `/ready` reports `runtime_action: diagnostic_override` with
|
|
265
|
+
`effective_kv_storage: int8_per_token_head`, and the server gate's per-request
|
|
266
|
+
assertions see `kv_attention_source: int8_direct` with zero persistent BF16
|
|
267
|
+
mirror bytes. Reaching that route needs a context above 8192 tokens, because at
|
|
268
|
+
or below that length the INT8 route deliberately keeps the exact BF16 decode
|
|
269
|
+
mirror as a correctness measure.
|
|
270
|
+
- On this host's `Qwen3.8-27B` `Q4_K_M` artifact, whose INT8 KV quality record is
|
|
271
|
+
rejected, that override-gated INT8 route can produce a different token from its
|
|
272
|
+
own autoregressive route; one case on the server gate's `code_lru_cache` prompt
|
|
273
|
+
differs by a single space. It reproduces identically at v0.6.0, so this release
|
|
274
|
+
does not introduce it. The BF16 default is exact: all 18 gate prompts match
|
|
275
|
+
between autoregressive and speculative decoding on BF16 KV.
|
|
276
|
+
- A long-context INT8 KV server can return HTTP 500 on a request that follows a
|
|
277
|
+
concurrent autoregressive/speculative pair. The default INT8 layout keeps a
|
|
278
|
+
BF16 prefix of eight full-attention layers, and a packed decode with more than
|
|
279
|
+
one row routes those layers and the INT8 layers through different attention
|
|
280
|
+
paths, which the packed-decode consistency check rejects. The lifecycle gate
|
|
281
|
+
fails at its multi-choice check on that layout and passes all seven checks when
|
|
282
|
+
the layers are uniformly INT8, which is the diagnostic layout. The concurrent
|
|
283
|
+
requests themselves succeed; the failure appears on the next request. Avoid
|
|
284
|
+
this combination by keeping `--max-context-tokens` at or below 8192, which uses
|
|
285
|
+
a uniform layout.
|
|
286
|
+
- APIs and supported combinations may change before 1.0.
|
|
287
|
+
|
|
288
|
+
## v0.6.0 - 2026-09-20
|
|
289
|
+
|
|
290
|
+
Alpha release adding OCR and speech runtimes, broader dynamic-GGUF support,
|
|
291
|
+
and improvements to speculative decoding, prefix reuse, and serving reliability.
|
|
292
|
+
Model, quantization, hardware, and workload qualifications remain specific to
|
|
293
|
+
the combinations documented below; this is not a blanket production certificate.
|
|
294
|
+
|
|
295
|
+
### Added
|
|
296
|
+
|
|
297
|
+
- **Surya OCR 2:** torch-free image preprocessing, vision and text inference,
|
|
298
|
+
full-page OCR output handling, and OpenAI-compatible HTTP serving. CPU
|
|
299
|
+
reference and gfx1151 HIP implementations include request isolation,
|
|
300
|
+
cancellation, and bounded attention scratch. Install `hipengine[surya]`.
|
|
301
|
+
- **VibeVoice-ASR:** native `LLM.transcribe()` with stateful audio encoding,
|
|
302
|
+
transcription finish reasons, and request isolation. A standalone Q4_K_M
|
|
303
|
+
GGUF transcription CLI embeds tokenizer and configuration assets for offline
|
|
304
|
+
inference. Broader production qualification is incomplete.
|
|
305
|
+
- **Experimental VibeVoice TTS:** `LLM.synthesize()`, reference-voice prompting,
|
|
306
|
+
a HIP acoustic decoder, diffusion head, and device-side solver. Numerical
|
|
307
|
+
and generated-speech quality qualification remains partial.
|
|
308
|
+
- **Dynamic GGUF quantization:** Qwen3.8-27B UD-Q4_K_M and UD-Q4_K_S execution
|
|
309
|
+
with compressed IQ/Q3 kernels, compact Q5/Q6 residency, artifact-aware
|
|
310
|
+
admission, and optimized prefill, decode, and speculative verification.
|
|
311
|
+
- **Sampled speculative decoding:** temperature-based MTP acceptance on
|
|
312
|
+
Qwen3.8-27B Q4_K_M on gfx1151 with BF16 KV and one through four active
|
|
313
|
+
requests, including native GPU sampling, request-local random state, and
|
|
314
|
+
selected-state commit. Direct-generator sampled MTP is not yet supported.
|
|
315
|
+
- **INT8 KV speculative decoding:** dense GGUF single-request MTP, including
|
|
316
|
+
inside a wider resident server, with eager/graph verification and prefix
|
|
317
|
+
checkpoint restoration. Packed multi-request INT8 MTP and compact-DMS MTP
|
|
318
|
+
are not implemented; INT8 KV quality admission remains independent.
|
|
319
|
+
- **Serving diagnostics:** per-request speculative/AR token attribution,
|
|
320
|
+
provider readiness, refusal reasons, realized group widths, and
|
|
321
|
+
proposal/verification/provider-update timings.
|
|
322
|
+
|
|
323
|
+
### Changed
|
|
324
|
+
|
|
325
|
+
- Prefix reuse now includes batched suffix prefill, pooled snapshots,
|
|
326
|
+
placement-aware routing, and draft-provider checkpoint restore for eligible
|
|
327
|
+
cache hits. Both the direct engine and HTTP server default to radix caching.
|
|
328
|
+
- The server CLI defaults to BF16 KV. Compressed INT8 KV remains an explicit
|
|
329
|
+
option subject to artifact-specific quality admission.
|
|
330
|
+
- Supported dense and MoE GGUF implementations can use automatic MTP without
|
|
331
|
+
a matching benchmark row, including supported UD artifacts. Backend,
|
|
332
|
+
storage, sampling, physical group/depth, and memory limits still apply.
|
|
333
|
+
Configurations measured slower than AR remain excluded from automatic policy.
|
|
334
|
+
- MTP context is bounded by the target's allocated capacity, not a fixed
|
|
335
|
+
1,023-token admission window.
|
|
336
|
+
- Packed workspace and private KV memory accounting follow serving capacity.
|
|
337
|
+
- Long-context speculative verification uses staged linear-attention kernels
|
|
338
|
+
on supported gfx1151 Q4_K_M routes.
|
|
339
|
+
- Source archives now omit repository-only benchmark data, surveys, worklogs,
|
|
340
|
+
docs, and test fixtures while retaining all wheel build inputs.
|
|
341
|
+
- CI checks every distribution's size before any upload, preventing a partial
|
|
342
|
+
PyPI release when an artifact exceeds the project limit.
|
|
343
|
+
|
|
344
|
+
### Fixed
|
|
345
|
+
|
|
346
|
+
- Contain request-local failures where ownership permits, route unavailable
|
|
347
|
+
speculative/prefill work to supported fallbacks, and return a typed 503 when
|
|
348
|
+
the engine is closed.
|
|
349
|
+
- Bound streaming queues by output budgets and defer conflicting MTP prompt
|
|
350
|
+
activation instead of failing the service.
|
|
351
|
+
- Keep HTTP request handling responsive while engine work waits on the GPU.
|
|
352
|
+
- Stop MTP at EOS without publishing extra tokens or retaining model state
|
|
353
|
+
beyond the terminal prefix; preserve neighboring request cursors.
|
|
354
|
+
- Report explicit-only MTP as default AR at startup, and label unmeasured
|
|
355
|
+
admission using evidence metadata rather than reason-string prefixes.
|
|
356
|
+
- Repair KV-pool growth/binding, host-upload lifetimes, recycled state
|
|
357
|
+
initialization, and NaN-safe state clearing.
|
|
358
|
+
- Fix softmax synchronization races in EVIE, paged attention, and TimesFM.
|
|
359
|
+
- Withdraw the invalid gfx1151 C8/K3 automatic MTP configuration.
|
|
360
|
+
|
|
361
|
+
### Known Limitations
|
|
362
|
+
|
|
363
|
+
- Dense-Qwen prefix reuse has same-route numerical checks on gfx1151 and
|
|
364
|
+
gfx1100, including separate BF16 and INT8 ownership checks. This does not
|
|
365
|
+
establish equality between different prefill arithmetic paths. Disable
|
|
366
|
+
prefix caching with `prefix_cache="off"` or `--prefix-cache off` when needed.
|
|
367
|
+
- MTP availability depends on the implemented backend, storage, sampling, and
|
|
368
|
+
realized batch shape. Automatic requests can fall back to AR; explicit
|
|
369
|
+
requests for unimplemented combinations return a named capability error.
|
|
370
|
+
- INT8 MTP does not establish INT8-versus-BF16 quality or a throughput gain.
|
|
371
|
+
Packed INT8 verification, compact-DMS transactions, and broader memory-pressure
|
|
372
|
+
qualification remain open.
|
|
373
|
+
- New OCR and speech hardware evidence is primarily gfx1151. VibeVoice ASR
|
|
374
|
+
and TTS remain early implementations, not fully qualified production ports.
|
|
375
|
+
- APIs and supported combinations may change before 1.0.
|
|
376
|
+
|
|
377
|
+
## v0.5.0 - 2026-09-12
|
|
378
|
+
|
|
379
|
+
hipEngine now runs more than the Qwen 3.6 35B mixture-of-experts models: dense
|
|
380
|
+
Qwen models, a multimodal retrieval encoder, a time-series forecaster, and
|
|
381
|
+
Qwen3.8 Flash-Next on Strix Halo. Several performance choices that used to need
|
|
382
|
+
manual settings now happen on their own, but only where they have been measured
|
|
383
|
+
as safe for the model and shape in use. Hardware validation covers Radeon
|
|
384
|
+
RDNA 3 (`gfx1100`: RX 7900 XTX, Pro W7900) and Strix Halo (`gfx1151`: Ryzen
|
|
385
|
+
AI MAX+ 395 with Radeon 8060S); support and results are specific to each model
|
|
386
|
+
and backend. Numbers live in
|
|
387
|
+
[`benchmarks/README.md`](benchmarks/README.md) and the dated performance history
|
|
388
|
+
in [`benchmarks/CHANGELOG.md`](benchmarks/CHANGELOG.md).
|
|
389
|
+
|
|
390
|
+
### Added
|
|
391
|
+
|
|
392
|
+
- **Terminal chat.** `hipengine chat` connects to a running local server and
|
|
393
|
+
discovers its model automatically. Install `hipengine[chat]` for live
|
|
394
|
+
Markdown, optional reasoning display, per-turn stats, input history, and
|
|
395
|
+
command completion. `/status` shows server limits, `/usage` shows token
|
|
396
|
+
counts, and `/retry` regenerates a reply. Sampling, system prompts, and
|
|
397
|
+
reasoning settings can be changed without leaving the conversation.
|
|
398
|
+
A dependency-free plain mode is also available.
|
|
399
|
+
- **Visible startup progress.** Model preparation shows an approximate loading
|
|
400
|
+
bar based on the increase in VRAM usage relative to the model file size.
|
|
401
|
+
Terminal output updates in place; redirected logs receive periodic snapshots.
|
|
402
|
+
A startup summary groups context, KV format, pool budget, and device memory.
|
|
403
|
+
The bar is a memory proxy, not an exact weight-loading percentage or ETA.
|
|
404
|
+
- **KV pool budget controls for dense GGUF.** The shared pool starts with a
|
|
405
|
+
configurable page allocation and has a growth path and prefix-cache pressure
|
|
406
|
+
handling. `--kv-pool-memory-budget-mib` sets a KV-pool budget independently
|
|
407
|
+
of `--max-active-requests`. `/ready` and Prometheus expose the pool's budget,
|
|
408
|
+
maximum pages, and current usage.
|
|
409
|
+
- **Automatic dense-GGUF context sizing.** Starting the server without
|
|
410
|
+
`--max-context-tokens` selects a context using available device memory and
|
|
411
|
+
preparation reserves. Qualified artifacts use INT8 KV with FP32 scales;
|
|
412
|
+
unsupported GGUF artifact contracts fall back to BF16.
|
|
413
|
+
- **Dense Qwen 27B models.** Qwen3.6-27B and Qwen3.8-27B now load, generate, and
|
|
414
|
+
serve from GGUF `Q4_K_M` on both AMD backends. Qwen3.8-27B also runs in
|
|
415
|
+
`Q4_K_S` on Strix Halo. Both sizes can use speculative decoding driven by the
|
|
416
|
+
model's own multi-token prediction (MTP) head. Qwen3.8-27B is measured from one
|
|
417
|
+
request up to eight running at once, alongside two llama.cpp HIP builds
|
|
418
|
+
measured the same way.
|
|
419
|
+
- **Initial support for more model families.** EVIE-4.5B and EVIE-8B run
|
|
420
|
+
multimodal retrieval encoding ([model record](docs/model-cards/MODEL-EVIE.md)), TimesFM
|
|
421
|
+
2.5 200M and TimesFM 3.0 500M run time-series forecasting
|
|
422
|
+
([2.5](docs/model-cards/MODEL-TIMESFM.md), [3.0](docs/model-cards/MODEL-TIMESFM3.md)), and Qwen3.8
|
|
423
|
+
Flash-Next 125B-A6B runs on Strix Halo
|
|
424
|
+
([survey](docs/campaigns/QWEN3.8-FLASH-NEXT-STRIX-HALO-SURVEY.md)). These are early
|
|
425
|
+
ports: each record names the measured performance and the current limits.
|
|
426
|
+
- **The server decides when to speculate.** The default for
|
|
427
|
+
`--speculative-mtp-serving` (env `HIPENGINE_SPECULATIVE_MTP_SERVING`) moved
|
|
428
|
+
from `off` to `auto`. In `auto`, a request uses speculative decoding only when
|
|
429
|
+
the loaded model, quantization, GPU, kernel plan, cache type, batch size, and
|
|
430
|
+
prompt length all match a combination hipEngine has measured; otherwise the
|
|
431
|
+
request decodes normally and the `hipengine.speculative_mtp` block in the
|
|
432
|
+
response reports why (for example `backend_k0_fallback`). Use
|
|
433
|
+
`enabled` to take the speculative route for every compatible request, `opt_in`
|
|
434
|
+
to require `"speculative_mtp": true` per request, or `off` to switch it off.
|
|
435
|
+
- **A kill switch and acceptance counts for speculation.**
|
|
436
|
+
`POST /v1/hipengine/speculative_mtp/rollback` sends every new request to normal
|
|
437
|
+
decoding until the server restarts, while requests already running finish the
|
|
438
|
+
work they have in flight. Repeated backend failures trip a circuit breaker for the affected
|
|
439
|
+
model, GPU, kernel plan, and context range, and stop speculation there until
|
|
440
|
+
restart; a client disconnecting or exceeding a deadline does not trip it.
|
|
441
|
+
Responses that speculated report `accepted_prediction_tokens` and
|
|
442
|
+
`rejected_prediction_tokens` under `usage.completion_tokens_details`, and
|
|
443
|
+
`/metrics` carries matching counters, so existing speculative-decode tooling
|
|
444
|
+
works unchanged.
|
|
445
|
+
- **Reasoning requests can speculate too.** The speculative path is token-exact
|
|
446
|
+
only for plain greedy decoding, and hipEngine's host-side reasoning-budget
|
|
447
|
+
enforcement breaks that. So `--speculative-mtp-thinking` (env
|
|
448
|
+
`HIPENGINE_SPECULATIVE_MTP_THINKING`, per-request
|
|
449
|
+
`"speculative_mtp": {"thinking": ...}`) picks the trade: `hint`, the default,
|
|
450
|
+
keeps the thinking markers in the prompt but stops forcing the budget from the
|
|
451
|
+
host, so a `reasoning_effort` request can stay on the exact speculative route;
|
|
452
|
+
`hard` keeps full enforcement and decodes such requests normally instead. The
|
|
453
|
+
policy actually used is reported in the response.
|
|
454
|
+
- **Pick a kernel plan explicitly, and get the fast one by default.**
|
|
455
|
+
`LLM(execution_profile=...)`, `--execution-profile`, and
|
|
456
|
+
`HIPENGINE_EXECUTION_PROFILE` accept `strict`, `production`, or
|
|
457
|
+
`batch_invariant`. hipEngine checks that the plan's kernels and their
|
|
458
|
+
plain-decoding fallbacks are installed, refuses an unregistered combination
|
|
459
|
+
instead of guessing one, and reports the plan's hash in server metadata.
|
|
460
|
+
Leaving it unset now selects `production` for every model, backend, and
|
|
461
|
+
quantization with a certified plan, so a default run gets the measured fast
|
|
462
|
+
composition instead of the exact one; models with no certified plan keep
|
|
463
|
+
their previous behaviour. Use `strict` for exact arithmetic.
|
|
464
|
+
- **Controls for the GGUF speculative path.**
|
|
465
|
+
`HIPENGINE_GGUF_MTP_VERIFY_MODE` chooses the fast candidate checker (`native`,
|
|
466
|
+
the default) or the one that replays normal decoding for each candidate and
|
|
467
|
+
matches it token for token (`serial_exact`, which cannot be faster than normal
|
|
468
|
+
decoding). `HIPENGINE_GGUF_MTP_CANDIDATE_BUDGET` sets how many draft tokens to
|
|
469
|
+
try per step, 1-4, default 3; 4 can be slower.
|
|
470
|
+
- **Tune how much a scheduler tick does.** Round prefill-token and decode-row
|
|
471
|
+
budgets are now flags with matching environment variables, next to the
|
|
472
|
+
existing `--prefill-decode-policy` and `--max-active-requests` options.
|
|
473
|
+
|
|
474
|
+
### Changed
|
|
475
|
+
|
|
476
|
+
- **Qwen3.8-27B no longer speculates by default on RDNA 3.** Measured on
|
|
477
|
+
2026-09-06 at every batch size from two to eight and every draft depth from one
|
|
478
|
+
to three, each against normal decoding of the same model in the same run: all
|
|
479
|
+
twenty combinations were slower than normal decoding, the closest within 1%. The
|
|
480
|
+
batch-size-2/depth-2 and batch-size-8/depth-3 speedups published for this model
|
|
481
|
+
on this GPU are withdrawn, and the engine now decodes normally at every batch
|
|
482
|
+
size. Asking for speculation
|
|
483
|
+
explicitly still works. On Strix Halo, `Q4_K_M` keeps exactly one automatic
|
|
484
|
+
setting: strict kernel plan, BF16 cache, one request at a time, three draft
|
|
485
|
+
tokens, and prompts of 67 tokens or fewer.
|
|
486
|
+
- **Two device reserves are smaller.** On RDNA 3, hipEngine now sets the per-process
|
|
487
|
+
scratch single-limit to 8 MiB rather than ROCm's 140 MiB, freeing 132 MiB per
|
|
488
|
+
process per GPU that nothing was using; set
|
|
489
|
+
`HSA_SCRATCH_SINGLE_LIMIT=146800640` to restore the old reservation. On Strix
|
|
490
|
+
Halo, the default is now `GPU_MAX_HW_QUEUES=2` instead of `1`. The Laguna
|
|
491
|
+
mixture-of-experts kernels were checked against two queues at short prompts.
|
|
492
|
+
Neither value fixes the known long-context stall described under limits.
|
|
493
|
+
- **Qwen3.8-27B `Q4_K_S` on Strix Halo keeps its recurrent state in FP16** with
|
|
494
|
+
FP32 accumulation. `HIPENGINE_GGUF_FP16_RECURRENT_STATE` is on for that model
|
|
495
|
+
and GPU after engine and serving comparisons came out at least as fast with no
|
|
496
|
+
extra memory. Set it to `0` for FP32 state. Speculative decoding and the chain
|
|
497
|
+
journal still require FP32.
|
|
498
|
+
- **Fairer scheduling by default.** For `Q4_K_M` on both AMD backends, the
|
|
499
|
+
scheduler now picks `fair` rather than `protect_decode` when
|
|
500
|
+
`HIPENGINE_PREFILL_DECODE_POLICY` is unset, so a long prompt shares each loop
|
|
501
|
+
tick with decoding instead of monopolising it.
|
|
502
|
+
- **Batched GGUF prefill and decode are on by default**
|
|
503
|
+
(`HIPENGINE_GGUF_AR_PACKED_PREFILL`, `HIPENGINE_GGUF_AR_PACKED_DECODE`):
|
|
504
|
+
requests that arrive together are prefilled and decoded in one pass instead of
|
|
505
|
+
one slot at a time. Set either to `0` to force the one-at-a-time path when
|
|
506
|
+
comparing the two. The rejected `HIPENGINE_GGUF_AR_STREAM_PREFILL` setting was
|
|
507
|
+
removed.
|
|
508
|
+
- **Python 3.11 is the minimum supported version.** Python 3.10 is no longer
|
|
509
|
+
packaged or tested, and the install requirements say so.
|
|
510
|
+
- **The INT8 KV route serves concurrent requests faster.** Row-batched direct
|
|
511
|
+
INT8 decode now handles up to four requests in one pass. Against the same
|
|
512
|
+
server serving the same requests one at a time, aggregate complete-request
|
|
513
|
+
throughput rose to **1.25x at two requests** and **1.42x at four**; one
|
|
514
|
+
request is unchanged (0.99x). This applies to the explicit
|
|
515
|
+
`--kv-storage int8_per_token_head` route. Per-request latency still grows with
|
|
516
|
+
the number of concurrent requests.
|
|
517
|
+
- **Long prompts on the INT8 KV route use less memory and no longer block other
|
|
518
|
+
requests.** The packed prefill now runs layer-outer by default, sharing one
|
|
519
|
+
BF16 oracle pair per request instead of one per retained layer: tracked peak
|
|
520
|
+
memory fell by **0.438 GiB** at every multi-chunk prompt length, with identical
|
|
521
|
+
generated tokens and no measured throughput regression. The same change makes
|
|
522
|
+
the resumable, bounded-yield prefill the default for leased requests, so
|
|
523
|
+
prefill work yields to in-flight decoding instead of running to completion
|
|
524
|
+
first. Set `HIPENGINE_GGUF_PACKED_LAYER_OUTER=0` to restore the previous
|
|
525
|
+
executor.
|
|
526
|
+
- **Published numbers were re-measured for this release,** not copied forward:
|
|
527
|
+
the current rows come from runs dated 2026-08-03 through 2026-09-11, and each
|
|
528
|
+
table names its model, protocol, and hardware. Rows from v0.4.0 and v0.5.0 use
|
|
529
|
+
different models and protocols, so they are not an old-to-new speed comparison.
|
|
530
|
+
- **INT8 cache still saves no memory on dense 27B on Strix Halo.** The
|
|
531
|
+
attention code INT8 cache needs is now written and checked against the CPU
|
|
532
|
+
reference, but there INT8 with FP32 scales fails the short-prompt quality
|
|
533
|
+
suite, and a mixed BF16/INT8 layer map that passes quality costs more memory,
|
|
534
|
+
cannot use graph capture safely, and decodes about 10% slower than the BF16
|
|
535
|
+
path. The default dense 27B cache stays BF16; the explicit W7900
|
|
536
|
+
`int8_per_token_head` route is separately qualified.
|
|
537
|
+
|
|
538
|
+
### Fixed
|
|
539
|
+
|
|
540
|
+
- Streamed text from the speculative and GGUF paths is rebuilt one token at a
|
|
541
|
+
time, GGUF special tokens no longer appear in streamed output, and a
|
|
542
|
+
speculative stream stops cleanly at a special token.
|
|
543
|
+
- XML tool calls written by Qwen3.5-family chat templates are parsed correctly
|
|
544
|
+
again.
|
|
545
|
+
- Fixed multi-request bugs where model state, cache ownership, graph reuse, or a
|
|
546
|
+
change in request width could corrupt tokens later in a response or follow a
|
|
547
|
+
request into the slot it reused.
|
|
548
|
+
- A request that does not qualify for speculative decoding now falls back to
|
|
549
|
+
normal decoding before any GPU state changes, instead of failing or continuing
|
|
550
|
+
on a route it does not qualify for. This covers long prompts,
|
|
551
|
+
mixture-of-experts drafts, and speculative graphs beyond their supported length.
|
|
552
|
+
- Fixed teardown and cancellation in the speculative path so in-flight work
|
|
553
|
+
finishes and its cache memory is released on client disconnect and server
|
|
554
|
+
shutdown.
|
|
555
|
+
|
|
556
|
+
### Known limitations
|
|
557
|
+
|
|
558
|
+
- hipEngine uses one GPU. Multi-GPU inference and CPU model inference are not
|
|
559
|
+
implemented.
|
|
560
|
+
- GGUF support covers the listed model families only; hipEngine does not run
|
|
561
|
+
arbitrary GGUF architectures. See the model guides for per-model limits.
|
|
562
|
+
- NVIDIA Blackwell support is single-request Maple generation through the Python
|
|
563
|
+
API. CUDA serving and multi-request execution are not ready.
|
|
564
|
+
- Maple uses greedy generation only.
|
|
565
|
+
- Repeated 128K-context runs on Strix Halo can still stall with low power draw
|
|
566
|
+
and no progress, so no 128K number is published. A model's advertised context
|
|
567
|
+
length is not a hipEngine support claim, so set a conservative server limit.
|
|
568
|
+
- What Qwen3.8-27B tolerates on a 24 GB card is unmeasured, and INT8 cache shows
|
|
569
|
+
no saving there. The probe that would answer this needs its measurement gaps
|
|
570
|
+
closed before any limit can be published
|
|
571
|
+
([capacity notes](docs/campaigns/QWEN38-27B-GFX1100-24GB-CAPACITY.md)).
|
|
572
|
+
- Many simultaneous requests work but are not inside latency targets. On Strix
|
|
573
|
+
Halo, Qwen3.8-27B passes its one-to-eight physical and one-to-thirty-two
|
|
574
|
+
logical request checks, yet at 32 requests it reaches 10.590 tok/s with an
|
|
575
|
+
18.617 s 95th-percentile first-token time, and 0 of 3 target runs pass.
|
|
576
|
+
- Automatic speculation covers only narrow measured shapes: Qwen3.8-27B
|
|
577
|
+
`Q4_K_M` on Strix Halo with one request at a time and prompts of 67 tokens or
|
|
578
|
+
fewer, and two qualified Qwen3.6 batch sizes on the W7900. Everything else
|
|
579
|
+
decodes normally unless you ask for speculation explicitly.
|
|
580
|
+
- Learned cache eviction (DMS) and reusable prompt-prefix state stay off by
|
|
581
|
+
default wherever they are not qualified.
|
|
582
|
+
- Published wheels are Linux x86-64 and require glibc 2.39 or newer, such as
|
|
583
|
+
Ubuntu 24.04. ROCm 7.x is the recommended AMD runtime for this release.
|
|
584
|
+
- APIs and supported combinations can still change before 1.0.
|
|
585
|
+
|
|
586
|
+
## v0.4.0 - 2026-08-10
|
|
587
|
+
|
|
588
|
+
This is a large alpha release focused on making hipEngine useful for more local
|
|
589
|
+
models and more than one request at a time. It adds Laguna S 2.1, Maple-Preview,
|
|
590
|
+
and native Moonshine ASR runtime work, broadens Qwen GGUF support, and introduces
|
|
591
|
+
experimental CUDA paths on NVIDIA Blackwell. AMD RDNA 3 and RDNA 3.5 remain the
|
|
592
|
+
primary platforms.
|
|
593
|
+
|
|
594
|
+
### Added
|
|
595
|
+
|
|
596
|
+
- Added public loading, text generation, streaming, chat, reasoning, and tool
|
|
597
|
+
support for Laguna S 2.1 `Q4_K_M` on Ryzen AI MAX+ 395 / Radeon 8060S
|
|
598
|
+
systems. The matching Laguna DFlash model is available as an explicit option;
|
|
599
|
+
normal autoregressive generation remains the default.
|
|
600
|
+
- Added direct support for the official 2-bit Maple-Preview checkpoint on
|
|
601
|
+
`gfx1100` and `gfx1151`. AMD generation can share one resident model across
|
|
602
|
+
multiple active requests and reclaim finished or cancelled request slots.
|
|
603
|
+
- Added experimental `cuda_sm120a` support for single-request Maple generation
|
|
604
|
+
on NVIDIA Blackwell. This path loads the same 2-bit checkpoint directly and
|
|
605
|
+
uses native CUDA prompt processing and generation kernels.
|
|
606
|
+
- Added native Moonshine ASR runtime and kernel work for Radeon 8060S and NVIDIA
|
|
607
|
+
Blackwell, including a tuned FP16 decoder and a torch-free CUDA encoder. A
|
|
608
|
+
public audio-to-transcript API remains under development.
|
|
609
|
+
- Added Qwen3.5/Qwen3.6 GGUF support for additional common and importance-matrix
|
|
610
|
+
formats, including `Q4_K_S`, `UD-Q3_K_M`, and `UD-Q4_K_M` where listed in the
|
|
611
|
+
model support table.
|
|
612
|
+
- Added resident multi-request execution for supported Qwen GGUF and PARO
|
|
613
|
+
routes. The engine chooses only request widths that passed the corresponding
|
|
614
|
+
correctness checks.
|
|
615
|
+
- Added device-side GGUF sampling, reusable prompt-prefix state, stop-safe
|
|
616
|
+
streaming, exact generated token IDs in streaming responses, and more
|
|
617
|
+
detailed tokenizer and request timing.
|
|
618
|
+
- Added opt-in speculative providers and a complete native Qwen GGUF
|
|
619
|
+
speculative cycle. These routes remain explicit when output differs from
|
|
620
|
+
normal generation or when the speed benefit is not reliable.
|
|
621
|
+
|
|
622
|
+
### Changed
|
|
623
|
+
|
|
624
|
+
- Improved Qwen GGUF and ParoQuant prompt processing, generation, memory
|
|
625
|
+
ownership, and multi-request throughput on both AMD backends. The current
|
|
626
|
+
measured results and full test conditions are in
|
|
627
|
+
[`benchmarks/README.md`](benchmarks/README.md).
|
|
628
|
+
- Improved Laguna loading, prompt processing, generation, and server latency
|
|
629
|
+
through native kernels and resident session reuse.
|
|
630
|
+
- Changed GGUF text encoding to use the Hugging Face `tokenizers` library while
|
|
631
|
+
keeping model execution torch-free.
|
|
632
|
+
- Rewrote the root README around practical installation, model/GPU
|
|
633
|
+
compatibility, first server startup, and plain-language limitations.
|
|
634
|
+
- Clarified the Qwen format choice: optimized ParoQuant W4 remains the slightly
|
|
635
|
+
faster and lower-memory option for Qwen3.6 35B-A3B in current AMD tests, while
|
|
636
|
+
ongoing compatibility work now focuses on GGUF.
|
|
637
|
+
|
|
638
|
+
### Fixed
|
|
639
|
+
|
|
640
|
+
- Fixed several multi-request state, KV-cache ownership, graph-reuse, and
|
|
641
|
+
request-width transition bugs that could affect later tokens or reused
|
|
642
|
+
request slots.
|
|
643
|
+
- Fixed cancellation and disconnect cleanup so streaming requests release their
|
|
644
|
+
reservations and background work reliably.
|
|
645
|
+
- Fixed sampled GGUF prefill, end-of-sequence handling, structured output, and
|
|
646
|
+
Qwen tool-call cleanup across resident and streaming paths.
|
|
647
|
+
- Fixed long-prompt and sliding-window state handling for the newly supported
|
|
648
|
+
Laguna and Maple paths.
|
|
649
|
+
|
|
650
|
+
### Known limitations
|
|
651
|
+
|
|
652
|
+
- hipEngine still uses one GPU. CPU model inference and multi-GPU inference are
|
|
653
|
+
not implemented.
|
|
654
|
+
- GGUF support is model-specific; hipEngine does not yet run arbitrary GGUF
|
|
655
|
+
architectures.
|
|
656
|
+
- CUDA text-generation support is limited to direct, single-request, greedy
|
|
657
|
+
Maple generation. CUDA HTTP serving and multi-request execution are not
|
|
658
|
+
included in v0.4.0.
|
|
659
|
+
- Moonshine currently exposes internal runtime and benchmark surfaces rather
|
|
660
|
+
than a public audio-to-transcript API.
|
|
661
|
+
- Maple sampling is greedy-only. Model-advertised maximum context lengths are
|
|
662
|
+
not blanket hipEngine support claims.
|
|
663
|
+
- Speculative modes can trade output equivalence for speed and remain opt-in
|
|
664
|
+
where appropriate.
|
|
665
|
+
- Published wheels are Linux x86-64 and currently require glibc 2.39 or newer.
|
|
666
|
+
ROCm 7.x is the recommended AMD runtime for this release.
|
|
667
|
+
|
|
668
|
+
## v0.3.0 - 2026-07-13
|
|
669
|
+
|
|
670
|
+
Minor release expanding hipEngine from the initial resident PARO/GGUF runtime
|
|
671
|
+
into a substantially broader Python and OpenAI-compatible serving surface, with
|
|
672
|
+
normal sampling, local-agent features, exact token accounting, and guarded
|
|
673
|
+
speculative decoding.
|
|
674
|
+
|
|
675
|
+
### Added
|
|
676
|
+
|
|
677
|
+
- Expanded the public Python API with `LLM.generate_detailed()`,
|
|
678
|
+
`stream_detailed()`, `stream_many_detailed()`, tokenizer helpers, resolved
|
|
679
|
+
backend/quant inspection, and a model-owned detailed MTP route. Detailed
|
|
680
|
+
outputs can carry exact generated token ids, per-token logprobs, structured
|
|
681
|
+
finish details, and backend execution telemetry.
|
|
682
|
+
- Added normal sampling for the PARO and GGUF generators: `top_k`, `min_p`,
|
|
683
|
+
repetition/presence/frequency penalties, logit bias, token suppression,
|
|
684
|
+
deterministic seeds, minimum-token/EOS policy, token and multi-token stops,
|
|
685
|
+
logprobs/top-logprobs, and `n>1` choice lowering. Supported PARO request
|
|
686
|
+
shapes use the native GPU sampler by default; other shapes fail over to the
|
|
687
|
+
host sampler with explicit fallback metadata.
|
|
688
|
+
- Added exact token-id prompts to direct generation and non-streaming text
|
|
689
|
+
completions. Responses expose exact prompt hashes/counts and generated-token
|
|
690
|
+
accounting so usage and benchmark tooling do not need to re-tokenize decoded
|
|
691
|
+
text.
|
|
692
|
+
- Added OpenAI-compatible tool calling, including `tools`, `tool_choice`,
|
|
693
|
+
parallel-call policy, streaming argument fragments, tool transcript
|
|
694
|
+
validation, strict JSON Schema result validation, and stable invalid-tool
|
|
695
|
+
diagnostics.
|
|
696
|
+
- Added structured-output result validation for JSON object/schema, guided
|
|
697
|
+
JSON, choice, regex, and unified-diff requests. Object-root JSON can use
|
|
698
|
+
tokenizer-lowered close-suffix forcing when safe; this is not full
|
|
699
|
+
grammar-constrained decoding.
|
|
700
|
+
- Added Qwen thinking/no-thinking controls, reasoning-effort and token-budget
|
|
701
|
+
aliases, host-sampler soft/hard thinking closure, EOS suppression while
|
|
702
|
+
reasoning, and separate reasoning-content/token telemetry.
|
|
703
|
+
- Added request deadlines, cooperative cancellation, deterministic buffered
|
|
704
|
+
continuation handles, app-local transcript sessions, session
|
|
705
|
+
fork/rollback/snapshot operations, and `new_session` /
|
|
706
|
+
`truncate_oldest_visible` context-overflow policies.
|
|
707
|
+
- Added `/ready`, `/v1/hipengine/capabilities`, session-management, tokenizer,
|
|
708
|
+
token-counting, and context-fit endpoints. Optional Prometheus output exposes
|
|
709
|
+
generation queue, request, scheduler, and KV-pool counters.
|
|
710
|
+
- Added compatible-request coalescing, prompt-list batching, per-row request
|
|
711
|
+
ids/seeds, queue and active-request admission caps, `n>1` lowering, detailed
|
|
712
|
+
choice timing ownership, and generation-shape metadata.
|
|
713
|
+
- Added native Qwen3.6 GGUF NextN/MTP loading, proposal, verification,
|
|
714
|
+
acceptance, commit, and public detailed-generation support. The server has a
|
|
715
|
+
guarded, explicit, non-streaming greedy `llama-compat` MTP route for GGUF
|
|
716
|
+
models with NextN tensors. Native DFlash loading, drafting, verification, and
|
|
717
|
+
benchmark/runtime building blocks are also available in-tree.
|
|
718
|
+
- Added state-bound GGUF decode-graph admission on gfx1100 for supported greedy
|
|
719
|
+
windows of at least 24 transitions. Shorter, sampled, streaming,
|
|
720
|
+
unsupported-KV, and rollback-sensitive routes remain eager.
|
|
721
|
+
- Added a top-level `hipengine` console command. `hipengine serve` launches the
|
|
722
|
+
OpenAI-compatible server, `hipengine bench` lists or launches packaged
|
|
723
|
+
benchmark helpers, and `hipengine version` reports package metadata.
|
|
724
|
+
|
|
725
|
+
### Changed
|
|
726
|
+
|
|
727
|
+
- FastAPI/Uvicorn server dependencies now install by default because most users
|
|
728
|
+
want the OpenAI-compatible API. The old `hipengine-server` console script has
|
|
729
|
+
been replaced by `hipengine serve`.
|
|
730
|
+
- `LLM(..., quant=)` and the server now default to `quant="auto"`, allowing the
|
|
731
|
+
selected model plugin to choose its registered PARO or GGUF quant route.
|
|
732
|
+
- Chat requests that omit `max_tokens` now use a bounded, configurable 4096
|
|
733
|
+
token default, clamped to remaining admitted context. Set
|
|
734
|
+
`--chat-default-max-tokens auto` to retain the v0.2.2 full-remaining-context
|
|
735
|
+
behavior.
|
|
736
|
+
- Unknown top-level generation parameters are rejected instead of being
|
|
737
|
+
silently ignored. Optional feature failures use a stable OpenAI-compatible
|
|
738
|
+
error taxonomy and capability manifest.
|
|
739
|
+
- Server and benchmark output now distinguish queue width, backend call width,
|
|
740
|
+
verifier rows, timing ownership, sampler execution, and exact token counts.
|
|
741
|
+
Production PARO batch routing fails closed to exact width-1 sessions when a
|
|
742
|
+
native width does not pass the independent single-request oracle.
|
|
743
|
+
- Refreshed the retained W7900/gfx1100 README toplines with a clean six-shape
|
|
744
|
+
PARO/GGUF/llama.cpp matrix, a W7900-local GGUF state oracle, corrected
|
|
745
|
+
whole-device VRAM scope, and current PARO context-capacity evidence. The
|
|
746
|
+
accepted rollup and exact commands are preserved in
|
|
747
|
+
`benchmarks/results/2026-07-12-w7900-v030-8116c453-summary.json`.
|
|
748
|
+
- Corrected gfx1100 speculative-decode economics against production graph AR.
|
|
749
|
+
Exact/default and explicit `llama-compat` MTP remain functional but no longer
|
|
750
|
+
beat the fastest same-protocol autoregressive route on W7900; older
|
|
751
|
+
eager-denominator speedup rows are historical only.
|
|
752
|
+
|
|
753
|
+
### Fixed
|
|
754
|
+
|
|
755
|
+
- Missing Hugging Face repo IDs now report that the full model ID is absent from
|
|
756
|
+
the local cache instead of falling through to a misleading partial-path
|
|
757
|
+
`config.json` error.
|
|
758
|
+
- Qwen PARO generation now recognizes the tokenizer/model EOS set, including
|
|
759
|
+
`<|im_end|>` as well as `<|endoftext|>`, instead of continuing chat output to
|
|
760
|
+
the length limit.
|
|
761
|
+
- Fixed GGUF decode-graph replay and speculative block-commit lifecycle bugs,
|
|
762
|
+
including stale graph reuse after resident-state mutation.
|
|
763
|
+
- Hardened PARO/GGUF sampling, stop handling, exact usage accounting, tool-call
|
|
764
|
+
parsing, session transcript validation, context admission, and startup scratch
|
|
765
|
+
probes across eager, streaming, sampled, and speculative paths.
|
|
766
|
+
|
|
767
|
+
### Known limitations
|
|
768
|
+
|
|
769
|
+
- Production PARO native `c>1` decode remains disabled because current native
|
|
770
|
+
candidates do not pass the independent `c=1` token/state/KV oracle. The HTTP
|
|
771
|
+
batcher can coalesce requests, but this release does not claim true continuous
|
|
772
|
+
decode or native multi-request throughput.
|
|
773
|
+
- GGUF MTP serving is explicit, non-streaming, greedy-fast, and uses the
|
|
774
|
+
accuracy-traded `llama-compat` contract. Exact/default MTP serving and
|
|
775
|
+
streaming MTP remain future work; automatic requests use exact AR fallback.
|
|
776
|
+
- Tool calling and structured outputs are prompt-and-parse/result-validation
|
|
777
|
+
features, with limited safe token forcing. Full grammar-constrained decoding
|
|
778
|
+
is not implemented.
|
|
779
|
+
- App-local sessions and continuation handles re-render/re-prefill transcript
|
|
780
|
+
text; they do not save or reuse resident KV state.
|
|
781
|
+
- PARO 256K INT8 KV physically allocates below the 24 GiB portability gate, but
|
|
782
|
+
fails the required Qwen3.6 128K/128 rollout quality gate. It is an allocation
|
|
783
|
+
capacity result, not a supported or usable inference route.
|
|
784
|
+
- Tensor parallelism and other multi-GPU execution remain unimplemented.
|
|
785
|
+
|
|
786
|
+
## v0.2.2 - 2026-05-26
|
|
787
|
+
|
|
788
|
+
Patch release improving server startup context preallocation, KV memory
|
|
789
|
+
admission, and request defaults.
|
|
790
|
+
|
|
791
|
+
### Added
|
|
792
|
+
|
|
793
|
+
- Server-wide resident context/KV preallocation controls:
|
|
794
|
+
`--max-context-tokens`, `--kv-storage`, `--kv-scale-dtype`, and
|
|
795
|
+
`--kv-scale-granularity`. Eager startup prepares the resident PARO session for
|
|
796
|
+
the configured context, and requests beyond that context or with a different
|
|
797
|
+
KV policy are rejected instead of resizing/reloading the model.
|
|
798
|
+
- Automatic server context sizing when `--max-context-tokens` is omitted: after
|
|
799
|
+
resident weights load, the runtime estimates the selected KV dtype plus
|
|
800
|
+
persistent context metadata and preallocates
|
|
801
|
+
`min(model_max_context_tokens, allocatable_context_tokens)`.
|
|
802
|
+
- Fast PARO retained-KV capacity estimate during resident session build. The
|
|
803
|
+
runtime uses current `hipMemGetInfo` after model weights load to report the
|
|
804
|
+
estimated max context for the selected KV dtype and for INT8 KV, warning when
|
|
805
|
+
INT8 still falls below the model's advertised max context.
|
|
806
|
+
|
|
807
|
+
### Changed
|
|
808
|
+
|
|
809
|
+
- Chat requests that omit `max_tokens` now use `max_tokens=auto`, meaning the
|
|
810
|
+
remaining admitted context (`max_context_tokens - prompt_tokens - 1`).
|
|
811
|
+
|
|
812
|
+
### Fixed
|
|
813
|
+
|
|
814
|
+
- Clean up partially-built PARO resident sessions if capacity preflight or
|
|
815
|
+
allocation fails, avoiding leaked resident buffers on startup/admission OOM.
|
|
816
|
+
|
|
817
|
+
## v0.2.1 - 2026-05-25
|
|
818
|
+
|
|
819
|
+
Patch release improving server session management, streaming, and
|
|
820
|
+
OpenAI-compatible reasoning output.
|
|
821
|
+
|
|
822
|
+
### Added
|
|
823
|
+
|
|
824
|
+
- Eager model warmup on server startup: the configured model and a short
|
|
825
|
+
warmup generation run before uvicorn reports ready, so the first real
|
|
826
|
+
request does not pay load/compile cost. Controlled by `--eager-load` /
|
|
827
|
+
`--no-eager-load` (default: on), `--eager-load-prompt`, and
|
|
828
|
+
`--eager-load-max-tokens`, with `HIPENGINE_EAGER_LOAD`,
|
|
829
|
+
`HIPENGINE_EAGER_LOAD_PROMPT`, and `HIPENGINE_EAGER_LOAD_MAX_TOKENS`
|
|
830
|
+
environment variable equivalents.
|
|
831
|
+
- `LLM.stream()` method for single-prompt token-by-token generation when
|
|
832
|
+
the underlying text generator supports it.
|
|
833
|
+
- Reasoning-content splitting for chat completions: `<think>…</think>`
|
|
834
|
+
spans (Qwen/DeepSeek-style) are now separated into
|
|
835
|
+
`message.reasoning_content` (non-streaming) or `delta.reasoning_content`
|
|
836
|
+
chunks (streaming), matching the OpenAI reasoning-content convention.
|
|
837
|
+
|
|
838
|
+
### Changed
|
|
839
|
+
|
|
840
|
+
- PARO text generators and their resident sessions are now cached on the
|
|
841
|
+
`LLM` instance and reused across requests. Session capacity is bucketed
|
|
842
|
+
(floor 4 Ki tokens, configurable via `HIPENGINE_SESSION_MIN_TOKENS` and
|
|
843
|
+
`HIPENGINE_SESSION_BUCKET_TOKENS`) so normal chat-history growth does not
|
|
844
|
+
force reallocation every turn.
|
|
845
|
+
- Chat `stream=true` now yields token-level SSE chunks from the resident
|
|
846
|
+
decode loop instead of buffering the full response and wrapping it in a
|
|
847
|
+
single SSE frame.
|
|
848
|
+
- Chat completions default `max_tokens` raised from 16 to 8192 so clients
|
|
849
|
+
that omit the field get usable reply lengths, including verbose
|
|
850
|
+
chain-of-thought reasoning.
|
|
851
|
+
|
|
852
|
+
### Fixed
|
|
853
|
+
|
|
854
|
+
- Fixed `LLM.generate()` re-resolving the generation factory on every call,
|
|
855
|
+
which discarded generator-local caches and caused the PARO resident
|
|
856
|
+
session (layer weights, KV buffers) to be allocated and freed per request.
|
|
857
|
+
|
|
858
|
+
## v0.2.0 - 2026-05-25
|
|
859
|
+
|
|
860
|
+
Minor release for the GGUF runtime path and W7900 benchmark refresh. GGUF is a
|
|
861
|
+
meaningful new model-loading surface rather than a patch-level fix, so this
|
|
862
|
+
supersedes the previously planned v0.1.2 patch.
|
|
863
|
+
|
|
864
|
+
### Added
|
|
865
|
+
|
|
866
|
+
- Added Qwen3.6 35B MoE GGUF support for `Q4_K_M` and `Q4_K_S` model files,
|
|
867
|
+
including resident GGUF loading, bulk prefill, graph-replay decode,
|
|
868
|
+
decode-repacked T16 layouts, and WMMA/GEMV fast-path controls used by the
|
|
869
|
+
W7900 benchmark profile.
|
|
870
|
+
- Added `docs/ENVS.md` as the canonical environment-variable reference, including
|
|
871
|
+
TheRock ROCm process setup, cached-build profiling guidance, and safe GGUF
|
|
872
|
+
benchmark profiles.
|
|
873
|
+
- Added a persistent README sweep harness that loads each hipEngine model once
|
|
874
|
+
and runs repeated in-session workload measurements, matching llama-bench-style
|
|
875
|
+
repetition without multiplying model load/decode-repack time by every shape.
|
|
876
|
+
|
|
877
|
+
### Changed
|
|
878
|
+
|
|
879
|
+
- Refreshed W7900 README performance tables with 5-run persistent-session medians
|
|
880
|
+
for packed PARO and GGUF Q4_K_S while keeping the existing llama.cpp HIP/Vulkan
|
|
881
|
+
comparison rows unchanged.
|
|
882
|
+
- Documented the current GGUF tradeoffs: higher one-time load cost and resident
|
|
883
|
+
memory from decode-repack, Q4_K_S preferred for tighter VRAM budgets, and
|
|
884
|
+
performance still behind PARO on some shapes while already competitive in the
|
|
885
|
+
broader W7900 comparison.
|
|
886
|
+
|
|
887
|
+
### Fixed
|
|
888
|
+
|
|
889
|
+
- Fixed the PARO resident prefill workspace-overlap regression that shipped in
|
|
890
|
+
v0.1.1: short and mid prompts now keep prefill workspaces resident through
|
|
891
|
+
32K tokens, restoring 512/128-class prefill throughput while retaining the
|
|
892
|
+
long-context memory-saving path for prompts above 32K when active chunking
|
|
893
|
+
splits the prompt.
|
|
894
|
+
- Fixed GGUF non-split full-attention decode in max-context persistent sessions
|
|
895
|
+
by launching the context kernel with the active decode context instead of the
|
|
896
|
+
session's maximum allocation length.
|
|
897
|
+
|
|
898
|
+
### Known limitations
|
|
899
|
+
|
|
900
|
+
- GGUF support remains alpha: production correctness and performance coverage is
|
|
901
|
+
strongest for the documented Qwen3.6 35B MoE Q4_K_M/Q4_K_S paths on gfx1100,
|
|
902
|
+
and other GGUF quants/models require local validation.
|
|
903
|
+
- GGUF model load is slower than packed PARO on the same host because current
|
|
904
|
+
decode-repack happens on load and is not yet cached on disk.
|
|
905
|
+
|
|
906
|
+
## v0.1.1 - 2026-05-19
|
|
907
|
+
|
|
908
|
+
Patch release focused on long-context memory documentation and the INT8 KV cache
|
|
909
|
+
bring-up that landed after v0.1.0.
|
|
910
|
+
|
|
911
|
+
### Added
|
|
912
|
+
|
|
913
|
+
- INT8 KV cache policy controls and dispatch coverage for Qwen/PARO resident
|
|
914
|
+
inference paths, including CPU/layer/E2E correctness gates and memory audits.
|
|
915
|
+
- Documented Qwen3.6 packed PARO memory rows for 128K BF16 KV, 128K INT8 KV, and
|
|
916
|
+
256K INT8 KV on W7900/gfx1100, with retained-KV and loaded-weight VRAM notes.
|
|
917
|
+
|
|
918
|
+
### Changed
|
|
919
|
+
|
|
920
|
+
- Reduced the 256K INT8 KV tracked allocator high-water mark below the 24 GiB
|
|
921
|
+
class target by releasing/reusing prefill scratch and AOTriton query buffers.
|
|
922
|
+
- Clarified that packed vs unstripped PARO checkpoint size does not translate to
|
|
923
|
+
meaningfully different resident model-weight VRAM for the current text runtime.
|
|
924
|
+
|
|
925
|
+
### Known limitations
|
|
926
|
+
|
|
927
|
+
- INT8 KV correctness is gated by deterministic fixtures and layer probes; it is
|
|
928
|
+
not yet a long-rollout perplexity or compounding-error study.
|
|
929
|
+
- Qwen3.6 packed throughput rows remain diagnostic pending a promoted public
|
|
930
|
+
`LLM.generate()` correctness/repetition gate.
|
|
931
|
+
|
|
932
|
+
## v0.1.0 - 2026-05-18
|
|
933
|
+
|
|
934
|
+
Initial public alpha release.
|
|
935
|
+
|
|
936
|
+
### Added
|
|
937
|
+
|
|
938
|
+
- Torch-free Python runtime hot path for local ROCm inference bring-up.
|
|
939
|
+
- Plugin registries keyed by model/backend/quant/layer variants.
|
|
940
|
+
- HIP backends for `gfx1100` and `gfx1151`, plus `backend="auto"` detection with
|
|
941
|
+
`HIPENGINE_BACKEND` force override guidance for nearby targets.
|
|
942
|
+
- Qwen3.5/Qwen3.6 PARO W4 runtime path, JIT HIP build/cache plumbing, AOTriton
|
|
943
|
+
prefill runtime packaging, and OpenAI-compatible server entry point.
|
|
944
|
+
- CPU reference kernels and focused correctness/performance documentation.
|
|
945
|
+
|
|
946
|
+
### Packaging
|
|
947
|
+
|
|
948
|
+
- PyPI project name: `hipengine`.
|
|
949
|
+
- Python import package: `hipengine`.
|
|
950
|
+
- Canonical repository/wordmark: `hipEngine`.
|
|
951
|
+
- Release wheels are Linux x86-64 `manylinux_2_39` platform wheels because the
|
|
952
|
+
package bundles a ROCm/AOTriton shared-library runtime; ROCm runtime libraries
|
|
953
|
+
remain external system dependencies.
|
|
954
|
+
|
|
955
|
+
### Known limitations
|
|
956
|
+
|
|
957
|
+
- Alpha-quality API and model coverage; expect sharp edges outside the documented
|
|
958
|
+
Qwen/PARO paths.
|
|
959
|
+
- Default supported GPU targets are `gfx1100` and `gfx1151`; other AMD targets
|
|
960
|
+
require explicit backend forcing and local validation.
|
|
961
|
+
- Model weights are not distributed with the package.
|