hipengine 0.6.0__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.
Files changed (1783) hide show
  1. hipengine-0.7.0/CHANGELOG.md +961 -0
  2. hipengine-0.7.0/PKG-INFO +468 -0
  3. hipengine-0.7.0/README.md +427 -0
  4. hipengine-0.7.0/hipengine/__init__.py +42 -0
  5. hipengine-0.7.0/hipengine/benchmark/dms_campaign.py +578 -0
  6. hipengine-0.7.0/hipengine/benchmark/dms_tasks.py +856 -0
  7. hipengine-0.7.0/hipengine/chat_cli.py +1642 -0
  8. hipengine-0.7.0/hipengine/core/hipblaslt.py +418 -0
  9. hipengine-0.7.0/hipengine/core/memory.py +405 -0
  10. hipengine-0.7.0/hipengine/core/virtual_memory.py +748 -0
  11. hipengine-0.7.0/hipengine/generation/__init__.py +300 -0
  12. hipengine-0.7.0/hipengine/generation/constraints.py +997 -0
  13. hipengine-0.7.0/hipengine/generation/engine_loop.py +3385 -0
  14. hipengine-0.7.0/hipengine/generation/mtp_sampled_accept.py +427 -0
  15. hipengine-0.7.0/hipengine/generation/qwen35_gguf.py +12999 -0
  16. hipengine-0.7.0/hipengine/generation/qwen35_gguf_dms.py +97 -0
  17. hipengine-0.7.0/hipengine/generation/qwen35_gguf_moe_mtp2.py +1579 -0
  18. hipengine-0.7.0/hipengine/generation/qwen35_gguf_mtp2.py +7213 -0
  19. hipengine-0.7.0/hipengine/generation/sampling.py +1802 -0
  20. hipengine-0.7.0/hipengine/generation/xml_tools.py +77 -0
  21. hipengine-0.7.0/hipengine/generation/yue2.py +713 -0
  22. hipengine-0.7.0/hipengine/generation/yue2_song.py +409 -0
  23. hipengine-0.7.0/hipengine/kernels/cpu_reference/yue2.py +299 -0
  24. hipengine-0.7.0/hipengine/kernels/hip_gfx1100/__init__.py +1636 -0
  25. hipengine-0.7.0/hipengine/kernels/hip_gfx1100/attention/dms_compact.hip +1453 -0
  26. hipengine-0.7.0/hipengine/kernels/hip_gfx1100/attention/dms_compact.py +729 -0
  27. hipengine-0.7.0/hipengine/kernels/hip_gfx1100/attention/dms_compact_int8.hip +471 -0
  28. hipengine-0.7.0/hipengine/kernels/hip_gfx1100/attention/dms_compact_int8.py +271 -0
  29. hipengine-0.7.0/hipengine/kernels/hip_gfx1100/fused/__init__.py +258 -0
  30. hipengine-0.7.0/hipengine/kernels/hip_gfx1100/fused/gguf_iq4_q4_pair.hip +1148 -0
  31. hipengine-0.7.0/hipengine/kernels/hip_gfx1100/fused/gguf_iq4_q4_pair.py +783 -0
  32. hipengine-0.7.0/hipengine/kernels/hip_gfx1100/linear/__init__.py +161 -0
  33. hipengine-0.7.0/hipengine/kernels/hip_gfx1100/linear/dense_gemv.hip +1993 -0
  34. hipengine-0.7.0/hipengine/kernels/hip_gfx1100/linear/dense_gemv.py +1078 -0
  35. hipengine-0.7.0/hipengine/kernels/hip_gfx1100/quant/gguf_iq_dense.hip +1812 -0
  36. hipengine-0.7.0/hipengine/kernels/hip_gfx1100/quant/gguf_iq_dense.py +457 -0
  37. hipengine-0.7.0/hipengine/kernels/hip_gfx1100/quant/gguf_k_t16_selected_prefill.py +2650 -0
  38. hipengine-0.7.0/hipengine/kernels/hip_gfx1100/quant/gguf_q6_k_t16_gemv.py +2298 -0
  39. hipengine-0.7.0/hipengine/kernels/hip_gfx1100/quant/gguf_t16_selected_gemv.hip +9342 -0
  40. hipengine-0.7.0/hipengine/kernels/hip_gfx1100/quant/gguf_t16_selected_gemv.py +5436 -0
  41. hipengine-0.7.0/hipengine/kernels/hip_gfx1100/speculative/mtp_nextn.py +1948 -0
  42. hipengine-0.7.0/hipengine/kernels/hip_gfx1100/yue2/__init__.py +35 -0
  43. hipengine-0.7.0/hipengine/kernels/hip_gfx1100/yue2/nar.hip +508 -0
  44. hipengine-0.7.0/hipengine/kernels/hip_gfx1100/yue2/nar.py +245 -0
  45. hipengine-0.7.0/hipengine/kernels/hip_gfx1100/yue2/nar_wmma.hip +386 -0
  46. hipengine-0.7.0/hipengine/kernels/hip_gfx1100/yue2/vae.hip +176 -0
  47. hipengine-0.7.0/hipengine/kernels/hip_gfx1100/yue2/vae.py +175 -0
  48. hipengine-0.7.0/hipengine/kernels/hip_gfx1151/__init__.py +3937 -0
  49. hipengine-0.7.0/hipengine/kernels/vibevoice.py +65 -0
  50. hipengine-0.7.0/hipengine/kvcache/device_global.py +855 -0
  51. hipengine-0.7.0/hipengine/kvcache/dms.py +2373 -0
  52. hipengine-0.7.0/hipengine/kvcache/dms_config.py +21 -0
  53. hipengine-0.7.0/hipengine/kvcache/dms_device.py +1258 -0
  54. hipengine-0.7.0/hipengine/kvcache/dms_diagnostic.py +360 -0
  55. hipengine-0.7.0/hipengine/kvcache/dms_value_labels.py +75 -0
  56. hipengine-0.7.0/hipengine/kvcache/ledger.py +818 -0
  57. hipengine-0.7.0/hipengine/kvcache/pool.py +973 -0
  58. hipengine-0.7.0/hipengine/llm.py +1795 -0
  59. hipengine-0.7.0/hipengine/loading/qwen35_gguf_admission.py +2840 -0
  60. hipengine-0.7.0/hipengine/loading/qwen35_gguf_materialize.py +2136 -0
  61. hipengine-0.7.0/hipengine/loading/qwen35_gguf_policy.py +260 -0
  62. hipengine-0.7.0/hipengine/loading/yue2.py +699 -0
  63. hipengine-0.7.0/hipengine/models/__init__.py +145 -0
  64. hipengine-0.7.0/hipengine/models/base.py +50 -0
  65. hipengine-0.7.0/hipengine/models/kv_capabilities.py +589 -0
  66. hipengine-0.7.0/hipengine/models/qwen35.py +1059 -0
  67. hipengine-0.7.0/hipengine/models/yue2.py +40 -0
  68. hipengine-0.7.0/hipengine/runtime/gguf_linear.py +9228 -0
  69. hipengine-0.7.0/hipengine/runtime/memory_admission.py +149 -0
  70. hipengine-0.7.0/hipengine/runtime/moonshine.py +1345 -0
  71. hipengine-0.7.0/hipengine/runtime/qwen35_gguf_mtp.py +2782 -0
  72. hipengine-0.7.0/hipengine/runtime/qwen35_gguf_runner.py +39698 -0
  73. hipengine-0.7.0/hipengine/runtime/qwen35_paro_runner.py +14353 -0
  74. hipengine-0.7.0/hipengine/runtime/yue2_ar.py +873 -0
  75. hipengine-0.7.0/hipengine/runtime/yue2_nar.py +930 -0
  76. hipengine-0.7.0/hipengine/runtime/yue2_session.py +824 -0
  77. hipengine-0.7.0/hipengine/runtime/yue2_vae.py +276 -0
  78. hipengine-0.7.0/hipengine/server/__main__.py +506 -0
  79. hipengine-0.7.0/hipengine/server/api.py +21338 -0
  80. hipengine-0.7.0/hipengine/server/tool_stream.py +137 -0
  81. hipengine-0.7.0/hipengine/speculative/accounting.py +666 -0
  82. hipengine-0.7.0/hipengine/speculative/mtp_cached_draft.py +120 -0
  83. hipengine-0.7.0/hipengine/speculative/mtp_resident_draft.py +3269 -0
  84. hipengine-0.7.0/hipengine/speculative/sampling.py +339 -0
  85. hipengine-0.7.0/hipengine/speculative/streaming.py +341 -0
  86. hipengine-0.7.0/hipengine/tokenization/yue2.py +141 -0
  87. hipengine-0.7.0/hipengine/util/wav.py +64 -0
  88. hipengine-0.7.0/pyproject.toml +102 -0
  89. hipengine-0.7.0/scripts/agentic_session_compare.py +349 -0
  90. hipengine-0.7.0/scripts/check_published_command_drift.py +531 -0
  91. hipengine-0.7.0/scripts/gguf_decode_graph_rocprof_driver.py +208 -0
  92. hipengine-0.7.0/scripts/gguf_iq_dense_decode_ab.py +240 -0
  93. hipengine-0.7.0/scripts/gguf_iq_local32_decode_gate.py +251 -0
  94. hipengine-0.7.0/scripts/gguf_iq_local32_decode_leaf.py +337 -0
  95. hipengine-0.7.0/scripts/gguf_mtp_c1c8_server_bench.py +1409 -0
  96. hipengine-0.7.0/scripts/gguf_mtp_packed_group_width_probe.py +79 -0
  97. hipengine-0.7.0/scripts/gguf_prefill_census_summary.py +126 -0
  98. hipengine-0.7.0/scripts/gguf_quant_route_audit.py +1475 -0
  99. hipengine-0.7.0/scripts/gguf_ud_combined_stack_gate.py +474 -0
  100. hipengine-0.7.0/scripts/hipblaslt_algo_scan.py +94 -0
  101. hipengine-0.7.0/scripts/int8_mtp_prefix_pressure_gate.py +264 -0
  102. hipengine-0.7.0/scripts/int8_mtp_sampled_gate.py +287 -0
  103. hipengine-0.7.0/scripts/int8_mtp_server_gate.py +500 -0
  104. hipengine-0.7.0/scripts/int8_mtp_server_lifecycle_gate.py +178 -0
  105. hipengine-0.7.0/scripts/mtp_finish_rule_gate.py +581 -0
  106. hipengine-0.7.0/scripts/mtp_forced_token_gate.py +802 -0
  107. hipengine-0.7.0/scripts/mtp_logprobs_gate.py +722 -0
  108. hipengine-0.7.0/scripts/prefix_pressure_gate.py +379 -0
  109. hipengine-0.7.0/scripts/qwen38_dms_acquire_selector_campaign_sources.py +272 -0
  110. hipengine-0.7.0/scripts/qwen38_dms_build_selector_campaign_manifests.py +355 -0
  111. hipengine-0.7.0/scripts/qwen38_dms_campaign_quality.py +414 -0
  112. hipengine-0.7.0/scripts/qwen38_dms_campaign_tasks.py +739 -0
  113. hipengine-0.7.0/scripts/qwen38_dms_derive_candidate.py +179 -0
  114. hipengine-0.7.0/scripts/qwen38_dms_nonlinear.py +61 -0
  115. hipengine-0.7.0/scripts/qwen38_dms_objectives.py +104 -0
  116. hipengine-0.7.0/scripts/qwen38_dms_run_oracle_diagnostics.py +55 -0
  117. hipengine-0.7.0/scripts/qwen38_int8_batch_decode_gate.py +748 -0
  118. hipengine-0.7.0/scripts/yue2_ar_head_window_validation.py +355 -0
  119. hipengine-0.7.0/scripts/yue2_ar_matched_timing.py +319 -0
  120. hipengine-0.7.0/scripts/yue2_ar_paired_head_check.py +85 -0
  121. hipengine-0.7.0/scripts/yue2_ar_pairing_validation.py +281 -0
  122. hipengine-0.7.0/scripts/yue2_ar_replay.py +532 -0
  123. hipengine-0.7.0/scripts/yue2_ar_rowtile_bench.py +158 -0
  124. hipengine-0.7.0/scripts/yue2_ar_sampling_cost.py +161 -0
  125. hipengine-0.7.0/scripts/yue2_attention_bench.py +169 -0
  126. hipengine-0.7.0/scripts/yue2_attention_trace_report.py +88 -0
  127. hipengine-0.7.0/scripts/yue2_case_timing.py +290 -0
  128. hipengine-0.7.0/scripts/yue2_e2e_gate.py +322 -0
  129. hipengine-0.7.0/scripts/yue2_gemm_rate.py +105 -0
  130. hipengine-0.7.0/scripts/yue2_inventory.py +261 -0
  131. hipengine-0.7.0/scripts/yue2_nar_attention_golden.py +129 -0
  132. hipengine-0.7.0/scripts/yue2_nar_gate.py +292 -0
  133. hipengine-0.7.0/scripts/yue2_nar_rocprof_smoke.py +101 -0
  134. hipengine-0.7.0/scripts/yue2_oracle.py +2399 -0
  135. hipengine-0.7.0/scripts/yue2_reference_ar_timing.py +126 -0
  136. hipengine-0.7.0/scripts/yue2_reference_comparison.py +148 -0
  137. hipengine-0.7.0/scripts/yue2_reference_stage_timing.py +211 -0
  138. hipengine-0.7.0/scripts/yue2_sampler_window_validation.py +357 -0
  139. hipengine-0.7.0/scripts/yue2_session_gate.py +380 -0
  140. hipengine-0.7.0/scripts/yue2_solver_stage_profile.py +189 -0
  141. hipengine-0.7.0/scripts/yue2_stage_matched_timing.py +383 -0
  142. hipengine-0.7.0/scripts/yue2_vae_gate.py +239 -0
  143. hipengine-0.7.0/scripts/yue2_vae_rocprof_smoke.py +85 -0
  144. hipengine-0.6.0/CHANGELOG.md +0 -684
  145. hipengine-0.6.0/PKG-INFO +0 -461
  146. hipengine-0.6.0/README.md +0 -420
  147. hipengine-0.6.0/hipengine/__init__.py +0 -41
  148. hipengine-0.6.0/hipengine/chat_cli.py +0 -1102
  149. hipengine-0.6.0/hipengine/core/hipblaslt.py +0 -385
  150. hipengine-0.6.0/hipengine/core/memory.py +0 -343
  151. hipengine-0.6.0/hipengine/generation/__init__.py +0 -303
  152. hipengine-0.6.0/hipengine/generation/constraints.py +0 -979
  153. hipengine-0.6.0/hipengine/generation/engine_loop.py +0 -3369
  154. hipengine-0.6.0/hipengine/generation/mtp_sampled_accept.py +0 -144
  155. hipengine-0.6.0/hipengine/generation/qwen35_gguf.py +0 -12483
  156. hipengine-0.6.0/hipengine/generation/qwen35_gguf_moe_mtp2.py +0 -1508
  157. hipengine-0.6.0/hipengine/generation/qwen35_gguf_mtp2.py +0 -6855
  158. hipengine-0.6.0/hipengine/generation/sampling.py +0 -1634
  159. hipengine-0.6.0/hipengine/kernels/hip_gfx1100/__init__.py +0 -1626
  160. hipengine-0.6.0/hipengine/kernels/hip_gfx1100/attention/dms_compact.hip +0 -1413
  161. hipengine-0.6.0/hipengine/kernels/hip_gfx1100/attention/dms_compact.py +0 -726
  162. hipengine-0.6.0/hipengine/kernels/hip_gfx1100/attention/dms_compact_int8.hip +0 -421
  163. hipengine-0.6.0/hipengine/kernels/hip_gfx1100/attention/dms_compact_int8.py +0 -75
  164. hipengine-0.6.0/hipengine/kernels/hip_gfx1100/fused/__init__.py +0 -249
  165. hipengine-0.6.0/hipengine/kernels/hip_gfx1100/linear/__init__.py +0 -159
  166. hipengine-0.6.0/hipengine/kernels/hip_gfx1100/linear/dense_gemv.hip +0 -1884
  167. hipengine-0.6.0/hipengine/kernels/hip_gfx1100/linear/dense_gemv.py +0 -1041
  168. hipengine-0.6.0/hipengine/kernels/hip_gfx1100/quant/gguf_iq_dense.hip +0 -1387
  169. hipengine-0.6.0/hipengine/kernels/hip_gfx1100/quant/gguf_iq_dense.py +0 -360
  170. hipengine-0.6.0/hipengine/kernels/hip_gfx1100/quant/gguf_k_t16_selected_prefill.py +0 -2630
  171. hipengine-0.6.0/hipengine/kernels/hip_gfx1100/quant/gguf_q6_k_t16_gemv.py +0 -2286
  172. hipengine-0.6.0/hipengine/kernels/hip_gfx1100/quant/gguf_t16_selected_gemv.hip +0 -9206
  173. hipengine-0.6.0/hipengine/kernels/hip_gfx1100/quant/gguf_t16_selected_gemv.py +0 -5341
  174. hipengine-0.6.0/hipengine/kernels/hip_gfx1100/speculative/mtp_nextn.py +0 -1948
  175. hipengine-0.6.0/hipengine/kernels/hip_gfx1151/__init__.py +0 -3825
  176. hipengine-0.6.0/hipengine/kernels/vibevoice.py +0 -64
  177. hipengine-0.6.0/hipengine/kvcache/device_global.py +0 -700
  178. hipengine-0.6.0/hipengine/kvcache/dms.py +0 -2319
  179. hipengine-0.6.0/hipengine/kvcache/dms_device.py +0 -990
  180. hipengine-0.6.0/hipengine/kvcache/ledger.py +0 -776
  181. hipengine-0.6.0/hipengine/kvcache/pool.py +0 -960
  182. hipengine-0.6.0/hipengine/llm.py +0 -1594
  183. hipengine-0.6.0/hipengine/loading/qwen35_gguf_admission.py +0 -2825
  184. hipengine-0.6.0/hipengine/loading/qwen35_gguf_materialize.py +0 -2138
  185. hipengine-0.6.0/hipengine/loading/qwen35_gguf_policy.py +0 -240
  186. hipengine-0.6.0/hipengine/models/__init__.py +0 -140
  187. hipengine-0.6.0/hipengine/models/base.py +0 -22
  188. hipengine-0.6.0/hipengine/models/kv_capabilities.py +0 -508
  189. hipengine-0.6.0/hipengine/models/qwen35.py +0 -983
  190. hipengine-0.6.0/hipengine/runtime/gguf_linear.py +0 -8748
  191. hipengine-0.6.0/hipengine/runtime/moonshine.py +0 -1344
  192. hipengine-0.6.0/hipengine/runtime/qwen35_gguf_mtp.py +0 -2611
  193. hipengine-0.6.0/hipengine/runtime/qwen35_gguf_runner.py +0 -38752
  194. hipengine-0.6.0/hipengine/runtime/qwen35_paro_runner.py +0 -14352
  195. hipengine-0.6.0/hipengine/server/__main__.py +0 -493
  196. hipengine-0.6.0/hipengine/server/api.py +0 -20398
  197. hipengine-0.6.0/hipengine/speculative/accounting.py +0 -649
  198. hipengine-0.6.0/hipengine/speculative/mtp_cached_draft.py +0 -120
  199. hipengine-0.6.0/hipengine/speculative/mtp_resident_draft.py +0 -3268
  200. hipengine-0.6.0/hipengine/speculative/sampling.py +0 -322
  201. hipengine-0.6.0/hipengine/speculative/streaming.py +0 -231
  202. hipengine-0.6.0/pyproject.toml +0 -102
  203. hipengine-0.6.0/scripts/check_published_command_drift.py +0 -495
  204. hipengine-0.6.0/scripts/gguf_decode_graph_rocprof_driver.py +0 -153
  205. hipengine-0.6.0/scripts/gguf_iq_local32_decode_gate.py +0 -199
  206. hipengine-0.6.0/scripts/gguf_mtp_c1c8_server_bench.py +0 -1380
  207. hipengine-0.6.0/scripts/gguf_quant_route_audit.py +0 -1468
  208. hipengine-0.6.0/scripts/gguf_ud_combined_stack_gate.py +0 -436
  209. hipengine-0.6.0/scripts/int8_mtp_server_gate.py +0 -170
  210. hipengine-0.6.0/scripts/int8_mtp_server_lifecycle_gate.py +0 -150
  211. hipengine-0.6.0/scripts/qwen38_int8_batch_decode_gate.py +0 -651
  212. {hipengine-0.6.0 → hipengine-0.7.0}/.gitignore +0 -0
  213. {hipengine-0.6.0 → hipengine-0.7.0}/LICENSE +0 -0
  214. {hipengine-0.6.0 → hipengine-0.7.0}/hatch_build.py +0 -0
  215. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/.gitignore +0 -0
  216. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/__main__.py +0 -0
  217. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/benchmark/__init__.py +0 -0
  218. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/benchmark/agentic.py +0 -0
  219. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/benchmark/agentic_live.py +0 -0
  220. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/benchmark/agentic_quality.py +0 -0
  221. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/benchmark/agentic_quality2.py +0 -0
  222. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/benchmark/agentic_quality2_sandbox.py +0 -0
  223. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/benchmark/agentic_quality_oracle.py +0 -0
  224. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/benchmark/agentic_quality_taxonomy.py +0 -0
  225. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/benchmark/control_capture.py +0 -0
  226. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/benchmark/correctness.py +0 -0
  227. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/benchmark/exact_tokens.py +0 -0
  228. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/benchmark/execution_profiles.py +0 -0
  229. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/benchmark/matrix.py +0 -0
  230. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/benchmark/prompts.py +0 -0
  231. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/benchmark/provenance.py +0 -0
  232. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/benchmark/session_replay.py +0 -0
  233. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/benchmark/speculative.py +0 -0
  234. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/chat/__init__.py +0 -0
  235. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/chat/poolside_v1.py +0 -0
  236. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/chat/qwen4_exp.py +0 -0
  237. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/cli.py +0 -0
  238. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/core/__init__.py +0 -0
  239. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/core/build.py +0 -0
  240. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/core/ctypes_cache.py +0 -0
  241. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/core/cublaslt.py +0 -0
  242. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/core/cuda.py +0 -0
  243. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/core/cudnn.py +0 -0
  244. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/core/device.py +0 -0
  245. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/core/dtype.py +0 -0
  246. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/core/hip.py +0 -0
  247. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/core/pm4/__init__.py +0 -0
  248. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/core/pm4/elf.py +0 -0
  249. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/core/pm4/errors.py +0 -0
  250. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/core/pm4/graph.py +0 -0
  251. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/core/pm4/kernarg.py +0 -0
  252. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/core/pm4/metadata.py +0 -0
  253. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/core/pm4/native.cpp +0 -0
  254. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/core/pm4/native.py +0 -0
  255. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/core/pm4/native_build.py +0 -0
  256. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/core/pm4/packets.py +0 -0
  257. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/core/pm4/transport.py +0 -0
  258. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/core/rocblas.py +0 -0
  259. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/core/runtime.py +0 -0
  260. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/core/specdec2_scope.py +0 -0
  261. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/core/tensor.py +0 -0
  262. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/dispatch/__init__.py +0 -0
  263. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/dispatch/batch.py +0 -0
  264. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/dispatch/batch_width.py +0 -0
  265. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/dispatch/d2_resolver.py +0 -0
  266. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/dispatch/execution_planner.py +0 -0
  267. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/dispatch/fusion.py +0 -0
  268. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/dispatch/kv.py +0 -0
  269. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/dispatch/projection.py +0 -0
  270. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/dispatch/sampling.py +0 -0
  271. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/distributed/__init__.py +0 -0
  272. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/execution_profiles.py +0 -0
  273. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/generation/batch_scheduler.py +0 -0
  274. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/generation/concurrency2.py +0 -0
  275. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/generation/concurrency2_simulator.py +0 -0
  276. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/generation/deadline.py +0 -0
  277. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/generation/engine_service.py +0 -0
  278. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/generation/finish.py +0 -0
  279. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/generation/grammar.py +0 -0
  280. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/generation/laguna_dflash.py +0 -0
  281. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/generation/laguna_gguf.py +0 -0
  282. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/generation/load_harness.py +0 -0
  283. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/generation/maple.py +0 -0
  284. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/generation/qwen35_gguf_mtp2_registry.py +0 -0
  285. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/generation/qwen35_paro.py +0 -0
  286. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/generation/qwen35_paro_mtp2.py +0 -0
  287. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/generation/qwen36_gguf_gfx1100_profiles.py +0 -0
  288. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/generation/qwen36_gguf_profiles.py +0 -0
  289. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/generation/qwen38_gguf_profiles.py +0 -0
  290. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/generation/qwen4_exp_gguf.py +0 -0
  291. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/generation/qwen4_exp_mtp.py +0 -0
  292. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/generation/qwen4_exp_multimodal.py +0 -0
  293. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/generation/qwen4_exp_profiles.py +0 -0
  294. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/generation/registry.py +0 -0
  295. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/generation/surya.py +0 -0
  296. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/generation/surya_contract.py +0 -0
  297. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/generation/surya_gpu.py +0 -0
  298. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/generation/surya_protocol.py +0 -0
  299. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/generation/vibevoice_asr.py +0 -0
  300. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/generation/vibevoice_asr_q4.py +0 -0
  301. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/generation/vibevoice_protocol.py +0 -0
  302. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/generation/vibevoice_tts.py +0 -0
  303. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/__init__.py +0 -0
  304. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/activation_pack.py +0 -0
  305. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/backends.py +0 -0
  306. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/__init__.py +0 -0
  307. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/dflash2.py +0 -0
  308. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/dms.py +0 -0
  309. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/evie.py +0 -0
  310. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/fixtures.py +0 -0
  311. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/laguna.py +0 -0
  312. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/maple.py +0 -0
  313. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/moonshine.py +0 -0
  314. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/moonshine_encoder.py +0 -0
  315. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/ops.py +0 -0
  316. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/qwen2.py +0 -0
  317. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/qwen4_exp.py +0 -0
  318. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/surya.py +0 -0
  319. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/timesfm.py +0 -0
  320. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/timesfm3.py +0 -0
  321. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/vibevoice_asr.py +0 -0
  322. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/vibevoice_tts.py +0 -0
  323. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cpu_reference/vibevoice_tts_diffusion.py +0 -0
  324. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/__init__.py +0 -0
  325. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/attention/__init__.py +0 -0
  326. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/attention/maple_attention.cu +0 -0
  327. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/attention/maple_attention.py +0 -0
  328. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/attention/moonshine_attention.cu +0 -0
  329. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/attention/moonshine_attention.py +0 -0
  330. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/attention/moonshine_attention_cutlass.cu +0 -0
  331. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/attention/moonshine_attention_cutlass.py +0 -0
  332. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/encoder/__init__.py +0 -0
  333. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/encoder/moonshine_encoder.cu +0 -0
  334. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/encoder/moonshine_encoder.py +0 -0
  335. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/encoder/moonshine_encoder_cudnn.cu +0 -0
  336. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/encoder/moonshine_encoder_cudnn.py +0 -0
  337. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/encoder/moonshine_encoder_lt.cu +0 -0
  338. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/encoder/moonshine_encoder_lt.py +0 -0
  339. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/fused/__init__.py +0 -0
  340. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/fused/moonshine_glue.cu +0 -0
  341. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/fused/moonshine_glue.py +0 -0
  342. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/fused/moonshine_mlp.cu +0 -0
  343. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/fused/moonshine_mlp.py +0 -0
  344. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/linear/__init__.py +0 -0
  345. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/linear/lm_head.cu +0 -0
  346. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/linear/lm_head.py +0 -0
  347. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/linear/maple_lm_head.cu +0 -0
  348. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/linear/maple_lm_head.py +0 -0
  349. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/linear/moonshine_projection.cu +0 -0
  350. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/linear/moonshine_projection.py +0 -0
  351. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/moe/__init__.py +0 -0
  352. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/moe/group_scatter.cu +0 -0
  353. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/moe/group_scatter.py +0 -0
  354. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/moe/maple_moe.cu +0 -0
  355. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/moe/maple_moe.py +0 -0
  356. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/norm/__init__.py +0 -0
  357. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/norm/maple_rmsnorm.cu +0 -0
  358. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/norm/maple_rmsnorm.py +0 -0
  359. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/norm/moonshine_layernorm.cu +0 -0
  360. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/norm/moonshine_layernorm.py +0 -0
  361. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/quant/__init__.py +0 -0
  362. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/quant/maple_ternary.cu +0 -0
  363. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/quant/maple_ternary.py +0 -0
  364. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/smoke/__init__.py +0 -0
  365. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/smoke/smoke_add.cu +0 -0
  366. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm120a/smoke/smoke_add.py +0 -0
  367. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/cuda_sm86/__init__.py +0 -0
  368. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/__init__.py +0 -0
  369. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton.py +0 -0
  370. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_release.toml +0 -0
  371. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/MANIFEST.vendor.json +0 -0
  372. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/_internal/aiter_hip_common.h +0 -0
  373. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/_internal/flash/aiter.h +0 -0
  374. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/_internal/kernel_cluster.h +0 -0
  375. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/_internal/lazy_tensor_internal.h +0 -0
  376. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/_internal/packed_kernel.h +0 -0
  377. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/_internal/triton_kernel.h +0 -0
  378. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/_internal/util.h +0 -0
  379. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/config.h +0 -0
  380. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/cpp_tune.h +0 -0
  381. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/dtypes.h +0 -0
  382. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/flash.h +0 -0
  383. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/runtime.h +0 -0
  384. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/util.h +0 -0
  385. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/include/aotriton/v2/flash.h +0 -0
  386. {hipengine-0.6.0 → 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
  387. {hipengine-0.6.0 → 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
  388. {hipengine-0.6.0 → 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
  389. {hipengine-0.6.0 → 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
  390. {hipengine-0.6.0 → 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
  391. {hipengine-0.6.0 → 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
  392. {hipengine-0.6.0 → 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
  393. {hipengine-0.6.0 → 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
  394. {hipengine-0.6.0 → 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
  395. {hipengine-0.6.0 → 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
  396. {hipengine-0.6.0 → 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
  397. {hipengine-0.6.0 → 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
  398. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/lib/libaotriton_v2.so +0 -0
  399. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_runtime/0.11.2b/lib/libaotriton_v2.so.0.11.2 +0 -0
  400. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_wrap.cc +0 -0
  401. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/aotriton_wrap.py +0 -0
  402. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/laguna_flash_attention_prefill.hip +0 -0
  403. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/laguna_flash_attention_prefill.py +0 -0
  404. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/laguna_kv.py +0 -0
  405. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/laguna_kv_attention.hip +0 -0
  406. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/maple_attention.hip +0 -0
  407. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/maple_attention.py +0 -0
  408. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/moonshine_attention.hip +0 -0
  409. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/moonshine_attention.py +0 -0
  410. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/paged_attn_decode.hip +0 -0
  411. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/paged_attn_decode.py +0 -0
  412. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/paged_kv_write.hip +0 -0
  413. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/paged_kv_write.py +0 -0
  414. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/qwen4_exp_qsa.hip +0 -0
  415. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/qwen4_exp_qsa.py +0 -0
  416. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/qwen4_exp_qsa_flash.hip +0 -0
  417. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/attention/qwen4_exp_qsa_flash.py +0 -0
  418. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/common/__init__.py +0 -0
  419. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/convert/__init__.py +0 -0
  420. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/convert/cast.hip +0 -0
  421. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/convert/cast.py +0 -0
  422. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/convert/gather.hip +0 -0
  423. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/convert/gather.py +0 -0
  424. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/dispatch/__init__.py +0 -0
  425. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/dispatch/moe_c1.py +0 -0
  426. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/dispatch/moe_c1_dispatch.hip +0 -0
  427. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/evie/__init__.py +0 -0
  428. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/evie/evie_ops.hip +0 -0
  429. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/evie/evie_ops.py +0 -0
  430. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/gguf_ops.hip +0 -0
  431. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/gguf_ops.py +0 -0
  432. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/gguf_q6_q4_pair.hip +0 -0
  433. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/gguf_q6_q4_pair.py +0 -0
  434. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/laguna_attention.hip +0 -0
  435. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/laguna_attention.py +0 -0
  436. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/moonshine_glue.hip +0 -0
  437. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/moonshine_glue.py +0 -0
  438. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/moonshine_mlp.hip +0 -0
  439. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/moonshine_mlp.py +0 -0
  440. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/paro_combine.hip +0 -0
  441. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/paro_combine.py +0 -0
  442. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/paro_silu.hip +0 -0
  443. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/paro_silu.py +0 -0
  444. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/qwen4_exp_gr.hip +0 -0
  445. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/qwen4_exp_gr.py +0 -0
  446. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/qwen4_exp_ple.hip +0 -0
  447. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/fused/qwen4_exp_ple.py +0 -0
  448. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/linear/laguna_f16_projection.hip +0 -0
  449. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/linear/laguna_f16_projection.py +0 -0
  450. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/linear/lm_head.hip +0 -0
  451. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/linear/lm_head.py +0 -0
  452. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/linear/moonshine_projection.hip +0 -0
  453. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/linear/moonshine_projection.py +0 -0
  454. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/linear/moonshine_w8a16.hip +0 -0
  455. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/linear/moonshine_w8a16.py +0 -0
  456. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/linear_attn/__init__.py +0 -0
  457. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/linear_attn/conv.hip +0 -0
  458. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/linear_attn/conv.py +0 -0
  459. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/linear_attn/gdn.hip +0 -0
  460. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/linear_attn/gdn.py +0 -0
  461. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/linear_attn/qwen4_exp_gdn.hip +0 -0
  462. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/linear_attn/qwen4_exp_gdn.py +0 -0
  463. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/moe/__init__.py +0 -0
  464. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/moe/group_scatter.hip +0 -0
  465. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/moe/group_scatter.py +0 -0
  466. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/moe/laguna_router.hip +0 -0
  467. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/moe/laguna_router.py +0 -0
  468. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/moe/maple_moe.hip +0 -0
  469. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/moe/maple_moe.py +0 -0
  470. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/moe/prefill.py +0 -0
  471. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/moe/router.hip +0 -0
  472. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/moe/router.py +0 -0
  473. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/norm/__init__.py +0 -0
  474. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/norm/moonshine_layernorm.hip +0 -0
  475. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/norm/moonshine_layernorm.py +0 -0
  476. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/norm/rmsnorm.hip +0 -0
  477. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/norm/rmsnorm.py +0 -0
  478. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/__init__.py +0 -0
  479. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_expert_pack8_gemv.hip +0 -0
  480. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_expert_pack8_gemv.py +0 -0
  481. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_iq2_xs_dense_table.h +0 -0
  482. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_iq2_xs_mmq_prefill.hip +0 -0
  483. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_iq2_xs_mmq_prefill.py +0 -0
  484. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_iq3_s_grid.h +0 -0
  485. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_iq4_xs_t16_local32.py +0 -0
  486. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_iq_dense_tables.h +0 -0
  487. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_iq_gemv.hip +0 -0
  488. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_iq_gemv.py +0 -0
  489. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_iq_selected_prefill.hip +0 -0
  490. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_iq_selected_prefill.py +0 -0
  491. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_iq_source_mmq_prefill.hip +0 -0
  492. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_iq_source_mmq_prefill.py +0 -0
  493. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_iq_wmma_prefill.hip +0 -0
  494. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_iq_wmma_prefill.py +0 -0
  495. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_k_gemv.hip +0 -0
  496. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_k_gemv.py +0 -0
  497. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_k_mmq_prefill.hip +0 -0
  498. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_k_mmq_prefill.py +0 -0
  499. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_k_selected_pack8_gemv.hip +0 -0
  500. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_k_selected_pack8_gemv.py +0 -0
  501. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_k_selected_prefill.hip +0 -0
  502. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_k_selected_prefill.py +0 -0
  503. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_k_t16_selected_prefill.hip +0 -0
  504. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q3_k_gemv.hip +0 -0
  505. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q3_k_gemv.py +0 -0
  506. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_gemv.hip +0 -0
  507. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_gemv.py +0 -0
  508. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_moe_ffn_fused.hip +0 -0
  509. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_moe_ffn_fused.py +0 -0
  510. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_pack8_gemv.hip +0 -0
  511. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_pack8_gemv.py +0 -0
  512. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_prefill.hip +0 -0
  513. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_prefill.py +0 -0
  514. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_q8_1_dp4a_vdr_gemv.hip +0 -0
  515. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_q8_1_dp4a_vdr_gemv.py +0 -0
  516. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_q8_1_mmq_prefill.hip +0 -0
  517. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_q8_1_mmq_prefill.py +0 -0
  518. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_q8_1_selected_prefill.hip +0 -0
  519. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_q8_1_selected_prefill.py +0 -0
  520. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_qmicro_dp4a_grouped.hip +0 -0
  521. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_qmicro_dp4a_grouped.py +0 -0
  522. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_selected_pack8_gemv.hip +0 -0
  523. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_selected_pack8_gemv.py +0 -0
  524. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_selected_prefill.hip +0 -0
  525. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_selected_prefill.py +0 -0
  526. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_t16_selected_prefill.hip +0 -0
  527. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q4_k_t16_selected_prefill.py +0 -0
  528. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q5_1_mmq_selected_prefill.hip +0 -0
  529. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q5_1_mmq_selected_prefill.py +0 -0
  530. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q5_k_f32_rocblas_prefill.hip +0 -0
  531. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q5_k_f32_rocblas_prefill.py +0 -0
  532. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q5_k_q8_1_selected_prefill.hip +0 -0
  533. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q5_k_q8_1_selected_prefill.py +0 -0
  534. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q5_k_qmicro_planar_gemv.hip +0 -0
  535. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q5_k_qmicro_planar_gemv.py +0 -0
  536. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q6_k_embedding.hip +0 -0
  537. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q6_k_embedding.py +0 -0
  538. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q6_k_f16_rocblas_prefill.hip +0 -0
  539. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q6_k_f16_rocblas_prefill.py +0 -0
  540. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q6_k_pack8_gemv.hip +0 -0
  541. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q6_k_pack8_gemv.py +0 -0
  542. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q6_k_t16_gemv.hip +0 -0
  543. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_dp4a_gemv.hip +0 -0
  544. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_dp4a_gemv.py +0 -0
  545. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_mmq_prefill.hip +0 -0
  546. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_mmq_prefill.py +0 -0
  547. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_pack8_gemv.hip +0 -0
  548. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_pack8_gemv.py +0 -0
  549. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_prefill.hip +0 -0
  550. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_prefill.py +0 -0
  551. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_raw_to_t16.hip +0 -0
  552. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_raw_to_t16.py +0 -0
  553. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_t16_gemv.hip +0 -0
  554. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_t16_gemv.py +0 -0
  555. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_t16_prefill.hip +0 -0
  556. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_q8_0_t16_prefill.py +0 -0
  557. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_x8_selected_gemv.hip +0 -0
  558. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/gguf_x8_selected_gemv.py +0 -0
  559. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/maple_ternary.hip +0 -0
  560. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/maple_ternary.py +0 -0
  561. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/paro_awq_gemv.hip +0 -0
  562. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/paro_awq_gemv.py +0 -0
  563. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/paro_marlin_k.hip +0 -0
  564. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/paro_marlin_k.py +0 -0
  565. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/paro_moe_ffn_fused.hip +0 -0
  566. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/paro_moe_ffn_fused.py +0 -0
  567. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/qwen4_exp_q5_1.hip +0 -0
  568. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/qwen4_exp_q5_1.py +0 -0
  569. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/w8a16_linear.hip +0 -0
  570. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/quant/w8a16_linear.py +0 -0
  571. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/rotary/__init__.py +0 -0
  572. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/rotary/paro_rotate.hip +0 -0
  573. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/rotary/paro_rotate.py +0 -0
  574. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/rotary/qwen35_rotary.hip +0 -0
  575. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/rotary/qwen35_rotary.py +0 -0
  576. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/runtime/__init__.py +0 -0
  577. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/runtime/laguna_launch_batch.hip +0 -0
  578. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/runtime/laguna_launch_batch.py +0 -0
  579. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/runtime/state.hip +0 -0
  580. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/runtime/state.py +0 -0
  581. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/sampling/__init__.py +0 -0
  582. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/sampling/sampler.hip +0 -0
  583. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/sampling/sampler.py +0 -0
  584. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/smoke/__init__.py +0 -0
  585. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/smoke/smoke_add.hip +0 -0
  586. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/smoke/smoke_add.py +0 -0
  587. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/speculative/__init__.py +0 -0
  588. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/speculative/dflash2.hip +0 -0
  589. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/speculative/dflash2.py +0 -0
  590. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/speculative/dflash_accept.hip +0 -0
  591. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/speculative/dflash_accept.py +0 -0
  592. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/speculative/dflash_commit.hip +0 -0
  593. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/speculative/dflash_commit.py +0 -0
  594. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/speculative/dflash_drafter.hip +0 -0
  595. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/speculative/dflash_drafter.py +0 -0
  596. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/speculative/mtp.hip +0 -0
  597. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/speculative/mtp.py +0 -0
  598. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/speculative/mtp_nextn.hip +0 -0
  599. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/speculative/sampled_accept.hip +0 -0
  600. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/speculative/sampled_accept.py +0 -0
  601. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/surya/__init__.py +0 -0
  602. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/surya/surya_ops.hip +0 -0
  603. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/surya/surya_ops.py +0 -0
  604. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/timesfm/timesfm.hip +0 -0
  605. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/timesfm/timesfm.py +0 -0
  606. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/timesfm3/timesfm3.hip +0 -0
  607. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/timesfm3/timesfm3.py +0 -0
  608. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/vibevoice/__init__.py +0 -0
  609. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/vibevoice/decoder.hip +0 -0
  610. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/vibevoice/decoder.py +0 -0
  611. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/vibevoice/diffusion.hip +0 -0
  612. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/vibevoice/diffusion.py +0 -0
  613. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/vibevoice/encoder.hip +0 -0
  614. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/vibevoice/encoder.py +0 -0
  615. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/vibevoice/q4.py +0 -0
  616. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/vibevoice/registered.py +0 -0
  617. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/vision/__init__.py +0 -0
  618. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/vision/qwen4_exp_vision.hip +0 -0
  619. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/vision/qwen4_exp_vision.py +0 -0
  620. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/wmma/__init__.py +0 -0
  621. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/wmma/paro_awq_wmma.hip +0 -0
  622. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/hip_gfx1100/wmma/paro_awq_wmma.py +0 -0
  623. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/policy.py +0 -0
  624. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kernels/registry.py +0 -0
  625. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kvcache/__init__.py +0 -0
  626. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kvcache/backend.py +0 -0
  627. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kvcache/backend_prefix.py +0 -0
  628. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kvcache/dense.py +0 -0
  629. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kvcache/dms_capture.py +0 -0
  630. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kvcache/dms_labels.py +0 -0
  631. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kvcache/dms_sidecar.py +0 -0
  632. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kvcache/global_pool.py +0 -0
  633. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kvcache/graph_binding.py +0 -0
  634. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kvcache/policy.py +0 -0
  635. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kvcache/radix.py +0 -0
  636. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kvcache/simulated.py +0 -0
  637. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kvcache/spans.py +0 -0
  638. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/kvcache/tiering.py +0 -0
  639. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/layers/__init__.py +0 -0
  640. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/layers/base.py +0 -0
  641. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/__init__.py +0 -0
  642. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/dflash.py +0 -0
  643. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/evie.py +0 -0
  644. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/gguf.py +0 -0
  645. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/gguf_mtp_hot_vocab.py +0 -0
  646. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/gguf_selected_contract.py +0 -0
  647. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/hf_cache.py +0 -0
  648. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/laguna_gguf.py +0 -0
  649. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/laguna_gguf_materialize.py +0 -0
  650. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/maple.py +0 -0
  651. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/materialize.py +0 -0
  652. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/moonshine.py +0 -0
  653. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/mtp.py +0 -0
  654. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/mtp_hot_vocab_data/qwen38-27b-hot131072-cjk-v1.json +0 -0
  655. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/qwen35_gguf.py +0 -0
  656. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/qwen35_gguf_consumer_surface.py +0 -0
  657. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/qwen35_gguf_execution.py +0 -0
  658. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/qwen35_gguf_expert_sidecar.py +0 -0
  659. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/qwen35_gguf_nextn.py +0 -0
  660. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/qwen35_gguf_nextn_materialize.py +0 -0
  661. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/qwen35_gguf_residency.py +0 -0
  662. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/qwen35_paro.py +0 -0
  663. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/qwen4_exp_context.py +0 -0
  664. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/qwen4_exp_gguf.py +0 -0
  665. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/qwen4_exp_materialize.py +0 -0
  666. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/qwen4_exp_mtp_gguf.py +0 -0
  667. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/qwen4_exp_mtp_materialize.py +0 -0
  668. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/qwen4_exp_vision_gguf.py +0 -0
  669. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/qwen4_exp_vision_materialize.py +0 -0
  670. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/safetensors.py +0 -0
  671. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/surya.py +0 -0
  672. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/timesfm.py +0 -0
  673. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/timesfm3.py +0 -0
  674. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/vibevoice_asr.py +0 -0
  675. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/vibevoice_asr_gguf.py +0 -0
  676. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/vibevoice_assets.py +0 -0
  677. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/vibevoice_frontend_gguf.py +0 -0
  678. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/vibevoice_layout.py +0 -0
  679. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/vibevoice_tts.py +0 -0
  680. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/vibevoice_tts_prompt.py +0 -0
  681. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/loading/vibevoice_tts_session.py +0 -0
  682. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/models/evie.py +0 -0
  683. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/models/laguna.py +0 -0
  684. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/models/maple.py +0 -0
  685. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/models/moonshine.py +0 -0
  686. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/models/qwen35_dms.py +0 -0
  687. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/models/qwen4_exp.py +0 -0
  688. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/models/registry.py +0 -0
  689. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/models/surya.py +0 -0
  690. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/models/timesfm.py +0 -0
  691. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/models/timesfm3.py +0 -0
  692. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/models/toy.py +0 -0
  693. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/models/vibevoice_asr.py +0 -0
  694. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/models/vibevoice_tts.py +0 -0
  695. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/quant/__init__.py +0 -0
  696. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/quant/base.py +0 -0
  697. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/quant/bf16.py +0 -0
  698. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/quant/fp16.py +0 -0
  699. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/quant/gguf.py +0 -0
  700. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/quant/gguf_iq_s_tables.py +0 -0
  701. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/quant/gguf_k.py +0 -0
  702. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/quant/gguf_q4_k.py +0 -0
  703. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/quant/gguf_repack.py +0 -0
  704. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/quant/gguf_t16.py +0 -0
  705. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/quant/gguf_x8.py +0 -0
  706. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/quant/maple_ternary.py +0 -0
  707. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/quant/registry.py +0 -0
  708. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/quant/w4_paro.py +0 -0
  709. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/quant/w8a16.py +0 -0
  710. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/__init__.py +0 -0
  711. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/evie.py +0 -0
  712. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/f16_weight_linear.py +0 -0
  713. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/gguf_decode_graph.py +0 -0
  714. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/gguf_embedding.py +0 -0
  715. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/gguf_native_spec_cycle.py +0 -0
  716. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/gguf_packed_decode_graph.py +0 -0
  717. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/gguf_packed_manifest.py +0 -0
  718. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/gguf_q8_mmq_sidecars.py +0 -0
  719. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/gguf_weight.py +0 -0
  720. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/laguna_attention_hipblaslt.py +0 -0
  721. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/laguna_f16_hipblaslt.py +0 -0
  722. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/laguna_gguf_runner.py +0 -0
  723. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/laguna_kv.py +0 -0
  724. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/laguna_moe.py +0 -0
  725. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/laguna_rope.py +0 -0
  726. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/maple.py +0 -0
  727. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/maple_cuda.py +0 -0
  728. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/maple_graph.py +0 -0
  729. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/moe_c1_dispatch.py +0 -0
  730. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/moe_graph.py +0 -0
  731. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/moonshine_cuda.py +0 -0
  732. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/moonshine_cuda_batch.py +0 -0
  733. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/moonshine_cuda_continuous.py +0 -0
  734. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/moonshine_encoder_cuda.py +0 -0
  735. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/moonshine_encoder_cuda_batch.py +0 -0
  736. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/native_sampler.py +0 -0
  737. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/prefill.py +0 -0
  738. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/prefill_flight_recorder.py +0 -0
  739. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/profiles/__init__.py +0 -0
  740. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/profiles/gfx1151_paro_native_c248.json +0 -0
  741. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/qwen35_gguf_nextn.py +0 -0
  742. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/qwen35_paro.py +0 -0
  743. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/qwen35_paro_batch_width.py +0 -0
  744. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/qwen4_exp_mtp.py +0 -0
  745. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/qwen4_exp_runner.py +0 -0
  746. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/qwen4_exp_vision.py +0 -0
  747. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/surya.py +0 -0
  748. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/timesfm3_decode.py +0 -0
  749. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/timesfm_decode.py +0 -0
  750. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/vibevoice_encoder.py +0 -0
  751. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/vibevoice_qwen2.py +0 -0
  752. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/vibevoice_qwen2_q4.py +0 -0
  753. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/vibevoice_tts_decoder.py +0 -0
  754. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/vibevoice_tts_diffusion.py +0 -0
  755. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/vibevoice_tts_session.py +0 -0
  756. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/runtime/workspace.py +0 -0
  757. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/server/__init__.py +0 -0
  758. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/server/log_style.py +0 -0
  759. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/server/multimodal.py +0 -0
  760. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/__init__.py +0 -0
  761. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/adaptive_budget.py +0 -0
  762. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/buffers.py +0 -0
  763. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/chain.py +0 -0
  764. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/dflash.py +0 -0
  765. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/dflash2_drafter.py +0 -0
  766. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/dflash2_native.py +0 -0
  767. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/dflash_context.py +0 -0
  768. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/dflash_drafter.py +0 -0
  769. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/frontier.py +0 -0
  770. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/generic.py +0 -0
  771. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/gguf_mtp.py +0 -0
  772. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/interfaces.py +0 -0
  773. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/ladder.py +0 -0
  774. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/laguna_dflash.py +0 -0
  775. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/mtp.py +0 -0
  776. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/mtp_budget.py +0 -0
  777. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/mtp_native.py +0 -0
  778. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/native_cycle.py +0 -0
  779. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/native_cycle_abi.h +0 -0
  780. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/native_cycle_graph.cpp +0 -0
  781. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/native_cycle_graph.py +0 -0
  782. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/ngram_mod.py +0 -0
  783. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/packing.py +0 -0
  784. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/paro_mtp_profiles.py +0 -0
  785. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/policy.py +0 -0
  786. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/prefix_checkpoint.py +0 -0
  787. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/provider.py +0 -0
  788. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/registry.py +0 -0
  789. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/serving.py +0 -0
  790. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/simulator.py +0 -0
  791. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/transaction.py +0 -0
  792. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/speculative/verify_graph.py +0 -0
  793. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/tokenization/__init__.py +0 -0
  794. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/tokenization/gguf.py +0 -0
  795. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/tokenization/identity.py +0 -0
  796. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/tokenization/maple.py +0 -0
  797. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/util/__init__.py +0 -0
  798. {hipengine-0.6.0 → hipengine-0.7.0}/hipengine/util/amdgpu_vram.py +0 -0
  799. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/__init__.py +0 -0
  800. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/_dflash2_native_rocprof_driver.py +0 -0
  801. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/_vibevoice_rocprof_driver.py +0 -0
  802. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/_xval_dflash2_forward.py +0 -0
  803. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/agentic_coding_bench.py +0 -0
  804. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/agentic_coding_live.py +0 -0
  805. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/agentic_coding_quality.py +0 -0
  806. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/agentic_quality2_live.py +0 -0
  807. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/agentic_quality_taxonomy.py +0 -0
  808. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/assemble_gfx1151_readme_topline.py +0 -0
  809. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/assemble_paro_mtp_bf16.py +0 -0
  810. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/bench_chain.sh +0 -0
  811. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/bench_env_preflight.py +0 -0
  812. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/benchmark_c8_batch_encoder_throughput.py +0 -0
  813. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/benchmark_c8_batch_throughput.py +0 -0
  814. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/benchmark_matrix.py +0 -0
  815. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/benchmark_moonshine_cuda_complete.py +0 -0
  816. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/benchmark_moonshine_cuda_continuous.py +0 -0
  817. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/build_gguf_mtp_hot_vocab.py +0 -0
  818. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/build_qwen4exp_admission_suite_fixture.py +0 -0
  819. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/build_qwen4exp_natural_ar_fixture.py +0 -0
  820. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/build_xtx_dms_capacity_manifest.py +0 -0
  821. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/c1_k0_switch_probe.py +0 -0
  822. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/c8_report_common.py +0 -0
  823. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/capture_laguna_cpu_reference.py +0 -0
  824. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/check_agentic_quality2.py +0 -0
  825. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/check_artifact_provenance.py +0 -0
  826. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/check_commit_msg.py +0 -0
  827. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/check_distribution_size.py +0 -0
  828. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/check_envs_docs.py +0 -0
  829. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/check_fixtures.py +0 -0
  830. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/check_lineage.py +0 -0
  831. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/check_test_tiers.py +0 -0
  832. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/compare_prompt_token_inventories.py +0 -0
  833. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/concurrency2_completion_audit.py +0 -0
  834. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/dflash2_gguf_cycle.py +0 -0
  835. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/dflash2_gguf_suite_smoke.py +0 -0
  836. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/dflash_accept_chain_smoke.py +0 -0
  837. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/dflash_build_profile_route_manifest.py +0 -0
  838. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/dflash_chain_bench.py +0 -0
  839. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/dflash_chain_correctness_harness.py +0 -0
  840. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/dflash_chain_e2e_bench.py +0 -0
  841. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/dflash_commit_chain_smoke.py +0 -0
  842. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/dflash_context_kv_materializer_smoke.py +0 -0
  843. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/dflash_dense_microbench.py +0 -0
  844. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/dflash_drafter_root_query_smoke.py +0 -0
  845. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/dflash_prepare_prompts.py +0 -0
  846. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/dflash_qkv_fusion_correctness.py +0 -0
  847. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/dflash_speculative_bench.py +0 -0
  848. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/dflash_tree_attn_kernel_smoke.py +0 -0
  849. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/dflash_tree_e2e_smoke.py +0 -0
  850. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/dflash_validate_artifacts.py +0 -0
  851. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/dflash_verify_graph_capture_smoke.py +0 -0
  852. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/diff_differential_arms.py +0 -0
  853. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/dms_backend_gate.py +0 -0
  854. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/dms_compact_attn_long_bench.py +0 -0
  855. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/dms_device_rocprof_smoke.py +0 -0
  856. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/docs/README.md +0 -0
  857. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/docs/check_all.py +0 -0
  858. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/docs/check_docs.py +0 -0
  859. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/evie_gpu_bench.py +0 -0
  860. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/evie_hip_bench.py +0 -0
  861. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/evie_matched_protocol_hip.py +0 -0
  862. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/evie_matched_protocol_torch.py +0 -0
  863. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/evie_oracle_torch.py +0 -0
  864. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/exact_token_generation.py +0 -0
  865. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/execution_profile_gate.py +0 -0
  866. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/execution_profile_gdn_calibration.py +0 -0
  867. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/execution_profile_gguf_batch_route_gate.py +0 -0
  868. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/execution_profile_gguf_c1_route_gate.py +0 -0
  869. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/execution_profile_gguf_c1_route_perf.py +0 -0
  870. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/execution_profile_gguf_c1_threads_gate.py +0 -0
  871. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/execution_profile_gguf_control_smoke.py +0 -0
  872. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/execution_profile_gguf_dense_pair_gate.py +0 -0
  873. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/execution_profile_gguf_fp16_state_batch_gate.py +0 -0
  874. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/execution_profile_gguf_fp16_state_gate.py +0 -0
  875. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/execution_profile_gguf_int8_direct_prefill_gate.py +0 -0
  876. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/execution_profile_q8_mmq_plane_gate.py +0 -0
  877. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/README.md +0 -0
  878. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/SHA256SUMS +0 -0
  879. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/engine_compare_runner.py +0 -0
  880. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/nasone_adapt_real.py +0 -0
  881. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/nasone_clean.py +0 -0
  882. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/nasone_finish.py +0 -0
  883. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/nasone_hip_ar.py +0 -0
  884. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/nasone_hip_remaining.py +0 -0
  885. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/nasone_last.py +0 -0
  886. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/nasone_mtp_debug.py +0 -0
  887. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/nasone_mtp_eager_debug.py +0 -0
  888. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/nasone_mtp_layer_debug.py +0 -0
  889. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/nasone_next.py +0 -0
  890. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/nasone_ownership.py +0 -0
  891. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/nasone_pipeline.py +0 -0
  892. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/nasone_pure.py +0 -0
  893. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/nasone_summarize.py +0 -0
  894. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/nasone_wait_adapt.py +0 -0
  895. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/publish_engine_comparison.py +0 -0
  896. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/run_engine_compare_final.py +0 -0
  897. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/experiments/2026-09-08-engine-comparison/validate_engine_comparison.py +0 -0
  898. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/fetch_aotriton.sh +0 -0
  899. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gdn_chain_microbench.py +0 -0
  900. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gdn_decode_probe.py +0 -0
  901. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gen_b0_moe_ffn_fixture.py +0 -0
  902. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gen_dflash2_cpu_fixtures.py +0 -0
  903. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gen_dflash2_drafter_golden.py +0 -0
  904. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gfx1100_packet_d_natural_reuse.py +0 -0
  905. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gfx1100_packet_e_lm_head_resolution.py +0 -0
  906. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_ar_eager_graph_equivalence.py +0 -0
  907. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_ar_mtp_suite.py +0 -0
  908. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_arbitrary_c_lifecycle.py +0 -0
  909. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_backend_capability_exec.py +0 -0
  910. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_boundary_cast_error.py +0 -0
  911. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_c1_decode_attribution.py +0 -0
  912. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_c1_graph_eager_gate.py +0 -0
  913. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_c1c8_ar_only_control.py +0 -0
  914. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_c1c8_readme_rollup.py +0 -0
  915. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_capacity_probe.py +0 -0
  916. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_capture_path_audit.py +0 -0
  917. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_concurrency_baseline.py +0 -0
  918. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_context_ceiling_probe.py +0 -0
  919. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_continuous_owner_profile_child.py +0 -0
  920. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_continuous_owner_rocprof.py +0 -0
  921. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_conv_out_compare.py +0 -0
  922. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_decode_boundary_ladder.py +0 -0
  923. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_decode_census_summary.py +0 -0
  924. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_decode_graph_g5.py +0 -0
  925. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_decode_rocprof.py +0 -0
  926. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_eager_teacher_forced_oracle.py +0 -0
  927. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_engine_kernel_bucket_parity.py +0 -0
  928. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_engine_submodule_decomposition.py +0 -0
  929. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_execution_failure_containment_proof.py +0 -0
  930. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_execution_identity.py +0 -0
  931. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_first_token_probe.py +0 -0
  932. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_fused_moe_ffn_teacher_forced_kl.py +0 -0
  933. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_gdn_compact_peer_bench.py +0 -0
  934. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_gdn_prefill_ab.py +0 -0
  935. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_gdn_prefill_compare.py +0 -0
  936. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_gdn_replay_compare.py +0 -0
  937. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_gdn_semantic_gate.py +0 -0
  938. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_gdn_trajectory_gate.py +0 -0
  939. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_hidden_in_earliest_divergence.py +0 -0
  940. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_hidden_precision_decision_audit.py +0 -0
  941. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_hidden_seed_mode_sweep.py +0 -0
  942. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_hidden_seed_shared_path_audit.py +0 -0
  943. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_iq4_nl_mmq_layer_probe.py +0 -0
  944. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_iq_dense_mmq_crossover.py +0 -0
  945. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_iq_dense_mmq_probe.py +0 -0
  946. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_iq_local32_rows_headroom.py +0 -0
  947. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_iq_local32_rows_trace.py +0 -0
  948. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_iq_q3k_w4a16_gate.py +0 -0
  949. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_iq_w4a16_crossover.py +0 -0
  950. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_iq_w4a16_tile_sweep.py +0 -0
  951. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_k_gemv_smoke.py +0 -0
  952. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_k_selected_pack8_dp4a_microbench.py +0 -0
  953. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_kernel_family_rocprof_summary.py +0 -0
  954. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_kernel_trace_rollup.py +0 -0
  955. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_launch_overhead_bench.py +0 -0
  956. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_layer_capture_diff.py +0 -0
  957. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_layer_capture_summary.py +0 -0
  958. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_layer_moe_combine_compare.py +0 -0
  959. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_layer_residual_norm_compare.py +0 -0
  960. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_linear_boundary_capture.py +0 -0
  961. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_linear_layer_capture.py +0 -0
  962. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_linear_projection_compare.py +0 -0
  963. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_live_server_bench.py +0 -0
  964. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_llamacpp_matched_context.py +0 -0
  965. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_long_context_pressure_gate.py +0 -0
  966. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_mtp_acceptance_compare.py +0 -0
  967. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_mtp_api_gate.py +0 -0
  968. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_mtp_b1_prompt_suite.py +0 -0
  969. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_mtp_bench.py +0 -0
  970. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_mtp_call_spec.py +0 -0
  971. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_mtp_category_bench.py +0 -0
  972. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_mtp_compare_forced_target_paths.py +0 -0
  973. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_mtp_compare_prefix_state_summaries.py +0 -0
  974. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_mtp_draft_rocprof.py +0 -0
  975. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_mtp_forced_target_probe.py +0 -0
  976. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_mtp_lifecycle_gate.py +0 -0
  977. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_mtp_long_context_gate.py +0 -0
  978. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_mtp_long_context_task_gate.py +0 -0
  979. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_mtp_oracle_gate.py +0 -0
  980. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_mtp_packet0_route_map.py +0 -0
  981. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_mtp_pair_rollup.py +0 -0
  982. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_mtp_parity_precheck.py +0 -0
  983. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_mtp_parity_workbench.py +0 -0
  984. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_mtp_prompt_priming_bench.py +0 -0
  985. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_mtp_rollout_gate.py +0 -0
  986. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_mtp_route_owner_probe.py +0 -0
  987. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_mtp_serial_load_gate.py +0 -0
  988. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_mtp_server_pair_bench.py +0 -0
  989. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_mtp_verifier_rocprof.py +0 -0
  990. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_native_context_gate.py +0 -0
  991. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_native_context_state_gate.py +0 -0
  992. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_native_sampler_gate.py +0 -0
  993. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_ngram_mtp_code_bench.py +0 -0
  994. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_output_head_compare.py +0 -0
  995. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_p6e_cancel_refill_proof.py +0 -0
  996. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_pack8_dual_wmma_row_microbench.py +0 -0
  997. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_packed_ar_bench.py +0 -0
  998. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_packed_ar_category_oracle.py +0 -0
  999. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_packed_ar_d2_ceiling_sweep.py +0 -0
  1000. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_packed_ar_rocprof.py +0 -0
  1001. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_packed_ar_state_oracle.py +0 -0
  1002. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_packed_kv_import_profile.py +0 -0
  1003. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_packed_lease_probe.py +0 -0
  1004. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_packed_prefill_grouping_probe.py +0 -0
  1005. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_packed_prefill_slab_probe.py +0 -0
  1006. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_pair_route_count_probe.py +0 -0
  1007. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_pool_history_probe.py +0 -0
  1008. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_precision_boundary_probe.py +0 -0
  1009. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_prefill_projection_smoke.py +0 -0
  1010. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_prefill_route_ab.py +0 -0
  1011. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_prefill_row_rollup.py +0 -0
  1012. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_prefill_rowgate_probe.py +0 -0
  1013. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_prefix_reuse_bench.py +0 -0
  1014. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_prefix_reuse_gate.py +0 -0
  1015. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_prefix_route_rocprof_probe.py +0 -0
  1016. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_production_load_gate.py +0 -0
  1017. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_prompt_token_inventory.py +0 -0
  1018. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_q3km_dequant_oracle_fixture.py +0 -0
  1019. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_q4_k_moe_ffn_fused_batch_microbench.py +0 -0
  1020. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_q4_k_moe_ffn_fused_microbench.py +0 -0
  1021. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_q4_k_moe_ffn_fused_smoke.py +0 -0
  1022. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_q4_k_selected_dual_dp4a_microbench.py +0 -0
  1023. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_q4_k_t16_selected_dual_dp4a_microbench.py +0 -0
  1024. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_q4_k_t16_selected_prefill_microbench.py +0 -0
  1025. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_q4_t16_dense_prefill_owner_microbench.py +0 -0
  1026. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_q4_t16_prefill_ab.py +0 -0
  1027. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_q5_k_gate_up_microbench.py +0 -0
  1028. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_q5_k_t16_selected_down_dp4a_microbench.py +0 -0
  1029. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_q5_k_t16_selected_down_tile8_microbench.py +0 -0
  1030. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_q5_local32_decode_gate.py +0 -0
  1031. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_q5_t16_dual_silu_gate.py +0 -0
  1032. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_q6_k_embedding_smoke.py +0 -0
  1033. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_q6_k_t16_selected_down_pairreuse_microbench.py +0 -0
  1034. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_q8_0_dense_bw_microbench.py +0 -0
  1035. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_q8_0_grouped_down_microbench.py +0 -0
  1036. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_q8_0_grouped_down_rocprof.py +0 -0
  1037. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_q8_0_t16_pair_microbench.py +0 -0
  1038. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_reference_oracle_worker.py +0 -0
  1039. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_residency_g6.py +0 -0
  1040. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_resident_layout_audit.py +0 -0
  1041. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_resumable_prefill_gpu_proof.py +0 -0
  1042. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_rocprof_width_scale_diff.py +0 -0
  1043. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_route_mix.py +0 -0
  1044. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_rowgate_ab_summary.py +0 -0
  1045. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_rowgate_server_probe.py +0 -0
  1046. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_sampled_api_gate.py +0 -0
  1047. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_sampling_overhead_profile.py +0 -0
  1048. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_server_allocation_probe.py +0 -0
  1049. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_server_cwidth_probe.py +0 -0
  1050. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_server_packet_diff.py +0 -0
  1051. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_sh2_m4_compact_t16_leaf.py +0 -0
  1052. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_sh_c0_profile.py +0 -0
  1053. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_sh_m1_screen.py +0 -0
  1054. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_ssm_out_compare.py +0 -0
  1055. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_state_slot_hash_match.py +0 -0
  1056. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_t16_prefill_row_sweep.py +0 -0
  1057. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_t16_sidecar_row_bench.py +0 -0
  1058. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_token_embedding_parity_audit.py +0 -0
  1059. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_true_ar_category_bench.py +0 -0
  1060. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_ud_codec_fixture.py +0 -0
  1061. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/gguf_x8_selected_down_dp4a_microbench.py +0 -0
  1062. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/graph_node_microbench.py +0 -0
  1063. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/hipfire_dflash_exactness_audit.py +0 -0
  1064. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/inspect_gguf.py +0 -0
  1065. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/install_commit_msg_hook.py +0 -0
  1066. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/int8_mtp_prefix_gate.py +0 -0
  1067. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/iq2_xs_laguna_microbench.py +0 -0
  1068. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/iq2_xs_tuning_bench.py +0 -0
  1069. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_attention_cached_meta_ab.py +0 -0
  1070. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_attention_cached_meta_leaf.py +0 -0
  1071. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_attention_dense_initial_ab.py +0 -0
  1072. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_attention_global_qrow6_ab.py +0 -0
  1073. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_attention_long_context_hipblaslt_ceiling.py +0 -0
  1074. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_attention_packed_output_gate_ab.py +0 -0
  1075. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_attention_softmax_ab.py +0 -0
  1076. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_bulk_correctness.py +0 -0
  1077. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_chunk_prefill_bench.py +0 -0
  1078. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_dflash_category_bench.py +0 -0
  1079. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_dflash_drafter_smoke.py +0 -0
  1080. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_dflash_e2e_smoke.py +0 -0
  1081. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_dflash_public_gate.py +0 -0
  1082. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_f16_boundary_ab.py +0 -0
  1083. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_f16_decode_onebarrier_leaf.py +0 -0
  1084. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_f16_decode_q8_full_gate.py +0 -0
  1085. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_f16_decode_q8_screen.py +0 -0
  1086. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_f16_library_ceiling.py +0 -0
  1087. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_f16_norm_direct_ab.py +0 -0
  1088. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_f16_prefill_bench.py +0 -0
  1089. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_f16_wmma_screen.py +0 -0
  1090. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_fused_silu_pack_ab.py +0 -0
  1091. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_gate_doublebuf_ab.py +0 -0
  1092. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_gguf_correctness.py +0 -0
  1093. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_gguf_load_smoke.py +0 -0
  1094. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_gguf_smoke.py +0 -0
  1095. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_global_fixedshape_reduce_leaf.py +0 -0
  1096. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_group_compact_parallel_ab.py +0 -0
  1097. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_grouped_combine_micro.py +0 -0
  1098. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_grouped_down_category_bench.py +0 -0
  1099. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_grouped_down_prefill_bench.py +0 -0
  1100. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_llamacpp_ar_bench.py +0 -0
  1101. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_long_attention_quality.py +0 -0
  1102. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_long_context_profile.py +0 -0
  1103. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_long_context_trace_summary.py +0 -0
  1104. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_matrix_chunk_bench.py +0 -0
  1105. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_mmq_combine_ab.py +0 -0
  1106. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_output_router_anyorder_leaf.py +0 -0
  1107. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_poolside_ar_bench.py +0 -0
  1108. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_poolside_prefill_control.py +0 -0
  1109. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_poolside_v1_e2e.py +0 -0
  1110. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_prefill_activation_stats.py +0 -0
  1111. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_prefill_production_publication.py +0 -0
  1112. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_prefill_profile.py +0 -0
  1113. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_prepared_prompt_bench.py +0 -0
  1114. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_public_correctness.py +0 -0
  1115. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_q4_k_mmq_leaf_bench.py +0 -0
  1116. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_q4_k_x8_exact_decode_bench.py +0 -0
  1117. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_q4_pack8_dual_silu_decode_leaf.py +0 -0
  1118. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_q4_pack8_shape_ab.py +0 -0
  1119. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_q4_t16_dense_dual_decode_leaf.py +0 -0
  1120. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_q4_t16_dense_single_decode_leaf.py +0 -0
  1121. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_q6_compact_activation_ab.py +0 -0
  1122. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_q6_half_row_activation_ab.py +0 -0
  1123. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_q6_lm_head_top1_leaf.py +0 -0
  1124. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_q6_planar_ab.py +0 -0
  1125. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_q6_qmicro_leaf.py +0 -0
  1126. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_q6_rows64_ab.py +0 -0
  1127. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_q6_skip_padded_activation_ab.py +0 -0
  1128. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_q6_t16_dense_single_decode_leaf.py +0 -0
  1129. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_repacked_cache.py +0 -0
  1130. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_root_probe.py +0 -0
  1131. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_router_token_tile_ab.py +0 -0
  1132. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_router_token_tile_bench.py +0 -0
  1133. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_routing_replay.py +0 -0
  1134. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_selected_natural_decode_leaf.py +0 -0
  1135. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_session_pool_bench.py +0 -0
  1136. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_stateful_kv_bench.py +0 -0
  1137. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_stop_holdback_bench.py +0 -0
  1138. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_swa_attention_hipblaslt_ceiling.py +0 -0
  1139. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_swa_fixed512_reduce_leaf.py +0 -0
  1140. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_swa_prefill_bench.py +0 -0
  1141. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/laguna_target_ar_bench.py +0 -0
  1142. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_bench_with_peak.py +0 -0
  1143. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_c1c8_engine_matrix.py +0 -0
  1144. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_c8_k3_rocprof.py +0 -0
  1145. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_gguf_prompt_token_inventory.py +0 -0
  1146. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_kernel_trace_summary.py +0 -0
  1147. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_kv_matched_context.cpp +0 -0
  1148. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_kv_matched_context.py +0 -0
  1149. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer0_attn_norm_formula.py +0 -0
  1150. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer0_moe_expert_outputs_oracle.py +0 -0
  1151. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer0_moe_router_oracle.py +0 -0
  1152. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer0_position0_conv_gdn_oracle.py +0 -0
  1153. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer0_post_attn_residual_oracle.py +0 -0
  1154. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer0_projection_oracle.py +0 -0
  1155. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer0_warm_conv_gdn_oracle.py +0 -0
  1156. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer10_attn_norm_oracle.py +0 -0
  1157. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer10_conv_gdn_oracle.py +0 -0
  1158. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer10_moe_expert_outputs_oracle.py +0 -0
  1159. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer10_moe_router_oracle.py +0 -0
  1160. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer10_post_attn_residual_oracle.py +0 -0
  1161. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer10_projection_oracle.py +0 -0
  1162. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer11_attn_norm_oracle.py +0 -0
  1163. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer11_attn_output_oracle.py +0 -0
  1164. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer11_full_attention_context_gate_oracle.py +0 -0
  1165. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer11_full_attention_qkv_oracle.py +0 -0
  1166. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer11_moe_expert_outputs_oracle.py +0 -0
  1167. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer11_moe_router_oracle.py +0 -0
  1168. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer11_post_attn_residual_oracle.py +0 -0
  1169. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer11_qk_norm_rotary_kv_oracle.py +0 -0
  1170. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer12_attn_norm_oracle.py +0 -0
  1171. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer12_conv_gdn_oracle.py +0 -0
  1172. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer12_moe_expert_outputs_oracle.py +0 -0
  1173. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer12_moe_router_oracle.py +0 -0
  1174. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer12_post_attn_residual_oracle.py +0 -0
  1175. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer12_projection_oracle.py +0 -0
  1176. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer13_attn_norm_oracle.py +0 -0
  1177. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer13_conv_gdn_oracle.py +0 -0
  1178. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer13_moe_expert_outputs_oracle.py +0 -0
  1179. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer13_moe_router_oracle.py +0 -0
  1180. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer13_post_attn_residual_oracle.py +0 -0
  1181. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer13_projection_oracle.py +0 -0
  1182. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer14_attn_norm_oracle.py +0 -0
  1183. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer14_conv_gdn_oracle.py +0 -0
  1184. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer14_moe_expert_outputs_oracle.py +0 -0
  1185. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer14_moe_router_oracle.py +0 -0
  1186. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer14_post_attn_residual_oracle.py +0 -0
  1187. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer14_projection_oracle.py +0 -0
  1188. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer15_attn_norm_oracle.py +0 -0
  1189. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer15_attn_output_oracle.py +0 -0
  1190. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer15_full_attention_context_gate_oracle.py +0 -0
  1191. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer15_full_attention_qkv_oracle.py +0 -0
  1192. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer15_moe_expert_outputs_oracle.py +0 -0
  1193. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer15_moe_router_oracle.py +0 -0
  1194. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer15_post_attn_residual_oracle.py +0 -0
  1195. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer15_qk_norm_rotary_kv_oracle.py +0 -0
  1196. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer16_attn_norm_oracle.py +0 -0
  1197. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer16_conv_gdn_oracle.py +0 -0
  1198. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer16_moe_expert_outputs_oracle.py +0 -0
  1199. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer16_moe_router_oracle.py +0 -0
  1200. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer16_post_attn_residual_oracle.py +0 -0
  1201. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer16_projection_oracle.py +0 -0
  1202. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer17_attn_norm_oracle.py +0 -0
  1203. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer17_conv_gdn_oracle.py +0 -0
  1204. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer17_moe_expert_outputs_oracle.py +0 -0
  1205. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer17_moe_router_oracle.py +0 -0
  1206. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer17_post_attn_residual_oracle.py +0 -0
  1207. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer17_projection_oracle.py +0 -0
  1208. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer1_attn_norm_oracle.py +0 -0
  1209. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer1_conv_gdn_oracle.py +0 -0
  1210. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer1_moe_expert_outputs_oracle.py +0 -0
  1211. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer1_moe_router_oracle.py +0 -0
  1212. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer1_post_attn_residual_oracle.py +0 -0
  1213. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer1_projection_oracle.py +0 -0
  1214. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer2_attn_norm_oracle.py +0 -0
  1215. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer2_conv_gdn_oracle.py +0 -0
  1216. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer2_moe_expert_outputs_oracle.py +0 -0
  1217. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer2_moe_router_oracle.py +0 -0
  1218. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer2_post_attn_residual_oracle.py +0 -0
  1219. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer2_projection_oracle.py +0 -0
  1220. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer3_attn_norm_oracle.py +0 -0
  1221. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer3_attn_output_oracle.py +0 -0
  1222. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer3_full_attention_context_gate_oracle.py +0 -0
  1223. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer3_full_attention_qkv_oracle.py +0 -0
  1224. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer3_moe_expert_outputs_oracle.py +0 -0
  1225. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer3_moe_router_oracle.py +0 -0
  1226. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer3_post_attn_residual_oracle.py +0 -0
  1227. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer3_qk_norm_rotary_kv_oracle.py +0 -0
  1228. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer4_attn_norm_oracle.py +0 -0
  1229. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer4_conv_gdn_oracle.py +0 -0
  1230. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer4_moe_expert_outputs_oracle.py +0 -0
  1231. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer4_moe_router_oracle.py +0 -0
  1232. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer4_post_attn_residual_oracle.py +0 -0
  1233. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer4_projection_oracle.py +0 -0
  1234. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer5_attn_norm_oracle.py +0 -0
  1235. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer5_conv_gdn_oracle.py +0 -0
  1236. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer5_moe_expert_outputs_oracle.py +0 -0
  1237. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer5_moe_router_oracle.py +0 -0
  1238. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer5_post_attn_residual_oracle.py +0 -0
  1239. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer5_projection_oracle.py +0 -0
  1240. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer6_attn_norm_oracle.py +0 -0
  1241. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer6_conv_gdn_oracle.py +0 -0
  1242. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer6_moe_expert_outputs_oracle.py +0 -0
  1243. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer6_moe_router_oracle.py +0 -0
  1244. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer6_post_attn_residual_oracle.py +0 -0
  1245. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer6_projection_oracle.py +0 -0
  1246. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer7_attn_norm_oracle.py +0 -0
  1247. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer7_attn_output_oracle.py +0 -0
  1248. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer7_full_attention_context_gate_oracle.py +0 -0
  1249. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer7_full_attention_qkv_oracle.py +0 -0
  1250. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer7_moe_expert_outputs_oracle.py +0 -0
  1251. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer7_moe_router_oracle.py +0 -0
  1252. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer7_post_attn_residual_oracle.py +0 -0
  1253. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer7_qk_norm_rotary_kv_oracle.py +0 -0
  1254. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer8_attn_norm_oracle.py +0 -0
  1255. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer8_conv_gdn_oracle.py +0 -0
  1256. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer8_moe_expert_outputs_oracle.py +0 -0
  1257. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer8_moe_router_oracle.py +0 -0
  1258. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer8_post_attn_residual_oracle.py +0 -0
  1259. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer8_projection_oracle.py +0 -0
  1260. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer9_attn_norm_oracle.py +0 -0
  1261. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer9_conv_gdn_oracle.py +0 -0
  1262. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer9_moe_expert_outputs_oracle.py +0 -0
  1263. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer9_moe_router_oracle.py +0 -0
  1264. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer9_post_attn_residual_oracle.py +0 -0
  1265. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_audit_layer9_projection_oracle.py +0 -0
  1266. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_bench.py +0 -0
  1267. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_build_input_embed_harness.py +0 -0
  1268. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_build_layer0_attn_norm_harness.py +0 -0
  1269. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_build_layer_boundary_harness.py +0 -0
  1270. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_build_plan.py +0 -0
  1271. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_build_pre_output_norm_harness.py +0 -0
  1272. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_capture_trace.py +0 -0
  1273. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_checkpoint_tap_plan.py +0 -0
  1274. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_compare_early_boundary.py +0 -0
  1275. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_compare_full_attn_boundary.py +0 -0
  1276. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_compare_hidden_lifecycle.py +0 -0
  1277. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_compare_hidden_seed.py +0 -0
  1278. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_compare_input_embed.py +0 -0
  1279. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_compare_layer0_attn_norm.py +0 -0
  1280. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_compare_layer0_linear_attn.py +0 -0
  1281. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_compare_layer_boundary.py +0 -0
  1282. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_compare_pre_output_norm.py +0 -0
  1283. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_compare_router_trace.py +0 -0
  1284. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_compare_tap_placement.py +0 -0
  1285. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_compare_target_moe_taps.py +0 -0
  1286. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_compare_verifier_tensors.py +0 -0
  1287. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_compile_hidden_in_harness.py +0 -0
  1288. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_compile_hidden_seed_harness.py +0 -0
  1289. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_draft_trace.py +0 -0
  1290. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_final_output_cont_trace_patch.py +0 -0
  1291. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_greeting_trace_plan.py +0 -0
  1292. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_hidden_lifecycle_ladder.py +0 -0
  1293. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_hidden_seed_oracle_plan.py +0 -0
  1294. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_initial_input_capture_plan.py +0 -0
  1295. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer0_bisection_conclusion.py +0 -0
  1296. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer0_conv_gdn_plan.py +0 -0
  1297. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer0_dtype_oracle_policy.py +0 -0
  1298. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer0_subboundary_plan.py +0 -0
  1299. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer10_bf16_handoff_audit.py +0 -0
  1300. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer11_bf16_handoff_audit.py +0 -0
  1301. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer12_bf16_handoff_audit.py +0 -0
  1302. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer13_bf16_handoff_audit.py +0 -0
  1303. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer14_bf16_handoff_audit.py +0 -0
  1304. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer15_bf16_handoff_audit.py +0 -0
  1305. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer16_bf16_handoff_audit.py +0 -0
  1306. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer17_bf16_handoff_audit.py +0 -0
  1307. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer1_bf16_handoff_audit.py +0 -0
  1308. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer2_bf16_handoff_audit.py +0 -0
  1309. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer3_bf16_handoff_audit.py +0 -0
  1310. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer4_bf16_handoff_audit.py +0 -0
  1311. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer5_bf16_handoff_audit.py +0 -0
  1312. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer6_bf16_handoff_audit.py +0 -0
  1313. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer7_bf16_handoff_audit.py +0 -0
  1314. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer8_bf16_handoff_audit.py +0 -0
  1315. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer9_bf16_handoff_audit.py +0 -0
  1316. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer_boundary_bisect_plan.py +0 -0
  1317. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_layer_input_patch.py +0 -0
  1318. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_linear_attn_trace_patch.py +0 -0
  1319. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_pre_output_norm_capture_plan.py +0 -0
  1320. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_prepare_patched_source.py +0 -0
  1321. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_rocprof.py +0 -0
  1322. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_run_build.py +0 -0
  1323. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_run_hidden_in_capture.py +0 -0
  1324. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_sweep_hidden_in_layers.py +0 -0
  1325. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_trace_inventory.py +0 -0
  1326. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_mtp_validate_final_output_projection.py +0 -0
  1327. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_q8_kv_quality_sweep.py +0 -0
  1328. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_raw_suite_bench.py +0 -0
  1329. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_vulkan_concurrency_sweep.py +0 -0
  1330. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_vulkan_mtp_sweep.py +0 -0
  1331. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_vulkan_mtp_token_sweep.py +0 -0
  1332. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/llamacpp_vulkan_perf_summary.py +0 -0
  1333. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/maple_batch_decode_bench.py +0 -0
  1334. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/maple_c1_bench.py +0 -0
  1335. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/maple_correctness.py +0 -0
  1336. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/maple_phase_profile.py +0 -0
  1337. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/maple_prefill_bench.py +0 -0
  1338. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/maple_profile.py +0 -0
  1339. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/maple_public_batch_bench.py +0 -0
  1340. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/merge_readme_sweep_components.py +0 -0
  1341. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/microbench/graph_node_microbench.hip +0 -0
  1342. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/moonshine_attention_bench.py +0 -0
  1343. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/moonshine_attention_smoke.py +0 -0
  1344. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/moonshine_cpu_fixture_gate.py +0 -0
  1345. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/moonshine_cuda_mlp_profile.py +0 -0
  1346. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/moonshine_decoder_smoke.py +0 -0
  1347. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/moonshine_fusion_bench.py +0 -0
  1348. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/moonshine_glue_smoke.py +0 -0
  1349. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/moonshine_layernorm_smoke.py +0 -0
  1350. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/moonshine_lm_head_bench.py +0 -0
  1351. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/moonshine_lm_head_route_gate.py +0 -0
  1352. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/moonshine_mlp_smoke.py +0 -0
  1353. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/moonshine_projection_bench.py +0 -0
  1354. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/moonshine_projection_smoke.py +0 -0
  1355. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/moonshine_runtime_smoke.py +0 -0
  1356. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/moonshine_self_attention_bench.py +0 -0
  1357. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/mtp-bench.py +0 -0
  1358. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/mtp_acceptance_status_report.py +0 -0
  1359. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/mtp_adaptive_budget_replay.py +0 -0
  1360. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/mtp_chain_e2e_bench.py +0 -0
  1361. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/mtp_chain_e2e_smoke.py +0 -0
  1362. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/mtp_cycle1_layer0_parity.py +0 -0
  1363. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/mtp_cycle_accounting.py +0 -0
  1364. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/mtp_draft_kernel_compare.py +0 -0
  1365. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/mtp_economy_reconcile.py +0 -0
  1366. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/mtp_expert_overlap.py +0 -0
  1367. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/mtp_input_fc_smoke.py +0 -0
  1368. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/mtp_layer_drift_audit.py +0 -0
  1369. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/mtp_native_decode_step_smoke.py +0 -0
  1370. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/mtp_nextn_rocprof_driver.py +0 -0
  1371. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/mtp_paro_fast_state_review.py +0 -0
  1372. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/mtp_paro_lifecycle_gate.py +0 -0
  1373. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/mtp_paro_proposal_parity.py +0 -0
  1374. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/mtp_paro_proposal_reference.py +0 -0
  1375. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/mtp_paro_verifier_numerics.py +0 -0
  1376. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/mtp_paro_verifier_repeat_review.py +0 -0
  1377. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/mtp_paro_verifier_review_aggregate.py +0 -0
  1378. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/mtp_prompt_suite_economics.py +0 -0
  1379. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/mtp_proposal_trace_compare.py +0 -0
  1380. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/mtp_sampled_accept_distribution_gate.py +0 -0
  1381. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/mtp_state_drift_audit.py +0 -0
  1382. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/mtp_target_score_compare.py +0 -0
  1383. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/mtp_torch_proposal_smoke.py +0 -0
  1384. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/mtp_verifier_economics.py +0 -0
  1385. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/mtp_verifier_rocprof.py +0 -0
  1386. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/native_sampler_overhead_profile.py +0 -0
  1387. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/openai_chat_capture.py +0 -0
  1388. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pack_moonshine_fp16.py +0 -0
  1389. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/paro_live_server_bench.py +0 -0
  1390. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/paro_moe_ffn_fused_microbench.py +0 -0
  1391. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/paro_moe_ffn_fused_smoke.py +0 -0
  1392. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/paro_prefill_aotriton_stream_exactness.py +0 -0
  1393. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/paro_prefill_conv_domain.py +0 -0
  1394. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/persistent_barrier_microbench.hip +0 -0
  1395. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/persistent_barrier_microbench.py +0 -0
  1396. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pm4_gguf_decode_gate.py +0 -0
  1397. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pm4_graph_bench.py +0 -0
  1398. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pm4_lifecycle_issue_capture.py +0 -0
  1399. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pm4_lifecycle_repro.py +0 -0
  1400. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pm4_packed_graph_bench.py +0 -0
  1401. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pm4_promotion_gate.py +0 -0
  1402. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn3_27b_chunk_pinned.py +0 -0
  1403. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn3_27b_chunk_resolve.py +0 -0
  1404. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn3_aotriton_ab512.py +0 -0
  1405. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn3_aotriton_prefill_insitu.py +0 -0
  1406. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn3_aotriton_prefill_isolate.py +0 -0
  1407. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn3_chunk_correctness.py +0 -0
  1408. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn3_chunk_robustness.py +0 -0
  1409. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn3_chunkprofile_ab.py +0 -0
  1410. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn3_chunksize_sweep.py +0 -0
  1411. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn3_clock_probe.py +0 -0
  1412. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn3_crossover_gfx1151.py +0 -0
  1413. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn3_fullattn_splitk_vs_leaf.py +0 -0
  1414. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn3_fullattn_threads_ab.py +0 -0
  1415. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn3_fullattn_threads_sweep.py +0 -0
  1416. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn3_gdn_core_leaf.py +0 -0
  1417. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn3_moehoist_lib_ab_probe.py +0 -0
  1418. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn3_moeselect_cost_probe.py +0 -0
  1419. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn3_moeselect_dispatch_ab.py +0 -0
  1420. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn3_moeselect_host_probe.py +0 -0
  1421. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn3_prefill_vs_decode_econ.py +0 -0
  1422. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn3_q4_t16_laq_gemv_leaf.py +0 -0
  1423. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn3_stage_ranking_from_trace.py +0 -0
  1424. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn4_host_bound_ab_probe.py +0 -0
  1425. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn4_moe_gpu_cost_probe.py +0 -0
  1426. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn4_recurrence_ab_probe.py +0 -0
  1427. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn4_recurrence_fastpath_ab.py +0 -0
  1428. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn5_router_host_dispatch_probe.py +0 -0
  1429. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn5_router_lib_ab_probe.py +0 -0
  1430. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn5_router_raw_launch_probe.py +0 -0
  1431. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn5_router_rocprof_child.py +0 -0
  1432. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn5_router_slice_probe.py +0 -0
  1433. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/pn6_gemv_dispatch_audit_probe.py +0 -0
  1434. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/prefix_cache_multiturn_bench.py +0 -0
  1435. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/profiling/qwen4exp_owner_scope.hpp +0 -0
  1436. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/publish_alias_ladder.py +0 -0
  1437. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/publish_merged_lane_capacity.py +0 -0
  1438. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/q4_k_mmq_rocprof_child.py +0 -0
  1439. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/q4_k_vdr_rocprof_child.py +0 -0
  1440. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/q8t16_batch_route_perf.py +0 -0
  1441. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/quant_quality/__init__.py +0 -0
  1442. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/quant_quality/llama_greedy_teacher_logits.cpp +0 -0
  1443. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/quant_quality/llama_teacher_logits.cpp +0 -0
  1444. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/quant_quality/metrics.py +0 -0
  1445. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/quant_quality/qwen36_teacher.py +0 -0
  1446. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_08b_cumulative_semantic.py +0 -0
  1447. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_08b_exact_core.py +0 -0
  1448. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_08b_graph_rerank.py +0 -0
  1449. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_08b_three_way.py +0 -0
  1450. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_08b_threshold_sweep.py +0 -0
  1451. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_aotriton_head_major_screen.py +0 -0
  1452. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_batch_artifact_schema.py +0 -0
  1453. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_batch_c_sweep.py +0 -0
  1454. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_batch_constants.py +0 -0
  1455. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_batch_correctness.py +0 -0
  1456. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_batch_decode_graph_smoke.py +0 -0
  1457. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_batch_equality_matrix.py +0 -0
  1458. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_batch_gguf_diagnostic.py +0 -0
  1459. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_batch_hidden_artifact_compare.py +0 -0
  1460. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_batch_hidden_bisect.py +0 -0
  1461. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_batch_int8_diagnostic.py +0 -0
  1462. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_batch_packed_prefill_correctness.py +0 -0
  1463. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_batch_retained_bench.py +0 -0
  1464. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_batch_serial_bench.py +0 -0
  1465. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_batch_serial_correctness.py +0 -0
  1466. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_batch_shrinking_correctness.py +0 -0
  1467. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_batch_sparse_slot_correctness.py +0 -0
  1468. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_batch_teacher_forced_kl.py +0 -0
  1469. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_compare_tables.py +0 -0
  1470. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_concurrency_decode_sweep.py +0 -0
  1471. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_decode_graph_fixture_gate.py +0 -0
  1472. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_dflash_ddtree_blocker.py +0 -0
  1473. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_e2e_correctness.py +0 -0
  1474. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_gguf_aotriton_prefill_sweep.py +0 -0
  1475. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_gguf_bench.py +0 -0
  1476. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_gguf_build_expert_sidecar.py +0 -0
  1477. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_gguf_bulk_parity.py +0 -0
  1478. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_gguf_e2e_correctness.py +0 -0
  1479. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_gguf_expert_pack8_smoke.py +0 -0
  1480. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_gguf_int8_kv_correctness.py +0 -0
  1481. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_gguf_int8_layer_probe.py +0 -0
  1482. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_gguf_kv_asymmetric_suite.py +0 -0
  1483. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_gguf_kv_format_ablation.py +0 -0
  1484. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_gguf_moe_replay.py +0 -0
  1485. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_gguf_mtp_e2e.py +0 -0
  1486. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_gguf_p9_e2e_correctness.py +0 -0
  1487. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_gguf_q8_format_sweep.py +0 -0
  1488. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_gguf_rocprof_summary.py +0 -0
  1489. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_kv_e2e_fixture_gate.py +0 -0
  1490. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_kv_int8_accuracy.py +0 -0
  1491. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_kv_policy_args.py +0 -0
  1492. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_linear_attn_tree_tloop_smoke.py +0 -0
  1493. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_native_compact_prefill_plan.py +0 -0
  1494. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_native_mixed_kv_suite.py +0 -0
  1495. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_native_prefill_boundary.py +0 -0
  1496. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_native_prefill_correctness.py +0 -0
  1497. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_native_prefill_fixture_gate.py +0 -0
  1498. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_native_prefill_fullattn_stage_probe.py +0 -0
  1499. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_native_prefill_plan.py +0 -0
  1500. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_native_prefill_stage_probe.py +0 -0
  1501. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_paro_bench.py +0 -0
  1502. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_paro_int8_kv_quality_sweep.py +0 -0
  1503. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_paro_kv_format_ablation.py +0 -0
  1504. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_paro_kv_functional_mc.py +0 -0
  1505. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_paro_kv_policy_ablation.py +0 -0
  1506. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_paro_kv_quality_smoke.py +0 -0
  1507. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_paro_next_token.py +0 -0
  1508. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_paro_packed_bench.py +0 -0
  1509. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_prefill_flight_recorder.py +0 -0
  1510. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_readme_sweep.py +0 -0
  1511. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen35_rocprof_audit.py +0 -0
  1512. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen36_dense_gguf_suite.py +0 -0
  1513. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen36_dense_mtp2_c2_production_gate.py +0 -0
  1514. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen36_execution_profile_adapter.py +0 -0
  1515. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen36_moe_mtp2_production_gate.py +0 -0
  1516. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen36_q4_unequal_dual_prefill_leaf.py +0 -0
  1517. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_b0_corrected_budgets.py +0 -0
  1518. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_b1_transfer_full_suite.py +0 -0
  1519. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_b1_transfer_smoke.py +0 -0
  1520. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_b1_verifier_owner_map.py +0 -0
  1521. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_b2_prefill_full_suite.py +0 -0
  1522. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_b2_retention.py +0 -0
  1523. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_b2_sibling_screen.py +0 -0
  1524. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_c8_grouped_q5_planar_dp4a_leaf.py +0 -0
  1525. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_c8_p2_q4_qmicro_dp4a_leaf.py +0 -0
  1526. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_c8_p2_q5_direct_dp4a_leaf.py +0 -0
  1527. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_c8_p2_q5_planar_dp4a_numerics.py +0 -0
  1528. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_c8_p4_q6_dp4a_grouped_leaf.py +0 -0
  1529. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_c8_p4_q6_dp4a_leaf.py +0 -0
  1530. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_c8_p4_q6_dp4a_numerics.py +0 -0
  1531. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_c8_q5_raw_mb4_leaf.py +0 -0
  1532. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_c8_q5_raw_mmq_screen.py +0 -0
  1533. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_c8_q5_source_j16_leaf.py +0 -0
  1534. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_dense_pair_perf.py +0 -0
  1535. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_dms_build_labels.py +0 -0
  1536. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_dms_build_long_manifest.py +0 -0
  1537. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_dms_calibrate_long_bias.py +0 -0
  1538. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_dms_capture.py +0 -0
  1539. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_dms_concurrency_probe.py +0 -0
  1540. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_dms_int8_prompt_gate.py +0 -0
  1541. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_dms_integrated_long.py +0 -0
  1542. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_dms_integrated_quality.py +0 -0
  1543. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_dms_integrated_quality_suite.py +0 -0
  1544. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_dms_quality.py +0 -0
  1545. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_dms_replay.py +0 -0
  1546. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_dms_train_sidecar.py +0 -0
  1547. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_gfx1151_prefill_compare.py +0 -0
  1548. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_gfx1151_q4_dense_rowtile_gate.py +0 -0
  1549. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_gfx1151_readme_sweep.py +0 -0
  1550. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_gguf_teacher.py +0 -0
  1551. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_hidden_capture_pricing.py +0 -0
  1552. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_int8_alias_realprompt_ab.py +0 -0
  1553. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_int8_batch_decode_ownership_trace.py +0 -0
  1554. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_int8_kv_shadow_audit.py +0 -0
  1555. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_int8_packed_transition_gate.py +0 -0
  1556. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_int8_server_context_soak.py +0 -0
  1557. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_int8_twopass_rocprof_child.py +0 -0
  1558. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_llama_teacher.py +0 -0
  1559. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_mixed_quant_plan.py +0 -0
  1560. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_mixed_quant_verify.py +0 -0
  1561. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_packed_c1_cancel.py +0 -0
  1562. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_packed_c1_depth_coverage.py +0 -0
  1563. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_packed_c1_drain.py +0 -0
  1564. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_packed_c1_eos.py +0 -0
  1565. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_packed_c1_eos_state.py +0 -0
  1566. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_packed_c1_kv.py +0 -0
  1567. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_packed_c1_lifecycle.py +0 -0
  1568. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_packed_c1_logits.py +0 -0
  1569. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_packed_c1_provider_kv.py +0 -0
  1570. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_packed_c1_recovery.py +0 -0
  1571. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_packed_c1_refill.py +0 -0
  1572. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_packed_c1_slots.py +0 -0
  1573. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_packed_c1_state.py +0 -0
  1574. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_packed_c1_teacher.py +0 -0
  1575. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_packed_c1_teacher_candidate.py +0 -0
  1576. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_packed_c1_teacher_fixture.py +0 -0
  1577. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_packed_c1_teacher_repeat.py +0 -0
  1578. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_packed_c1_teacher_run.py +0 -0
  1579. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_packed_c1_teacher_scopes.py +0 -0
  1580. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_packed_c1_wide_refill.py +0 -0
  1581. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_packet3_q6_planar_wmma_row_leaf.py +0 -0
  1582. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_packet3_retained_rollup.py +0 -0
  1583. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_packet4_q4_dual_silu_row_leaf.py +0 -0
  1584. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_packet5_k4_watchdog_probe.py +0 -0
  1585. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_packet6_grid_aggregate.py +0 -0
  1586. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_prefill_composition_diagnostic.py +0 -0
  1587. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_prefill_sweep_analyze.py +0 -0
  1588. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_prefill_sweep_trace.py +0 -0
  1589. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_production_ar_gate.py +0 -0
  1590. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_q4_dense_rowtile_gfx1151_screen.py +0 -0
  1591. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_q4_k_mmq_prefill_leaf.py +0 -0
  1592. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_q4_k_vdr_leaf.py +0 -0
  1593. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_q4_t16_actual_operation_gate.py +0 -0
  1594. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_q4_t16_dense_dual_decode_leaf.py +0 -0
  1595. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_q4_verifier_numerics.py +0 -0
  1596. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_q5_t16_actual_operation_gate.py +0 -0
  1597. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_q6_planar_actual_operation_gate.py +0 -0
  1598. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_serving_closure.py +0 -0
  1599. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_xtx_allocation_ledger.py +0 -0
  1600. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen38_z3_candidate_gate.py +0 -0
  1601. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4_exp_artifact.py +0 -0
  1602. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4_exp_compare_logits.py +0 -0
  1603. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4_exp_compare_suite.py +0 -0
  1604. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4_exp_memory_plan.py +0 -0
  1605. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4_exp_qsa_retrieval_gate.py +0 -0
  1606. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_baseline_retention.py +0 -0
  1607. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_campaign_ab_retention.py +0 -0
  1608. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_candidate_ar.py +0 -0
  1609. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_canonical_ar_bench.py +0 -0
  1610. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_chunk_memory_probe.py +0 -0
  1611. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_chunk_sweep.py +0 -0
  1612. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_clock_trace.py +0 -0
  1613. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_context_capacity_ab.py +0 -0
  1614. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_context_decode_profile.py +0 -0
  1615. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_context_serving_gate.py +0 -0
  1616. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_cpu_floor.py +0 -0
  1617. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_cpu_frequency.py +0 -0
  1618. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_decode_sync_ab.py +0 -0
  1619. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_framework_family_refresh.py +0 -0
  1620. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_gate_mmq_discriminator.py +0 -0
  1621. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_gdn_decode_graph_probe.py +0 -0
  1622. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_gdn_graph_replay_probe.py +0 -0
  1623. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_gdn_owner_probe.py +0 -0
  1624. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_gdn_register_micro.py +0 -0
  1625. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_gr_iu8_logits_probe.py +0 -0
  1626. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_gr_iu8_screen.py +0 -0
  1627. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_graph_census.py +0 -0
  1628. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_halo_box_campaign_ab.py +0 -0
  1629. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_halobox5f_prefill_attribution.py +0 -0
  1630. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_hip_wait_policy.py +0 -0
  1631. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_hot_expert_reuse_screen.py +0 -0
  1632. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_layer2_profile_gate.py +0 -0
  1633. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_llamacpp_exact_profile.py +0 -0
  1634. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_mmq_prepack_screen.py +0 -0
  1635. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_moe_decode_warp_logits_probe.py +0 -0
  1636. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_moe_decode_warp_state_gate.py +0 -0
  1637. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_moe_gemv_decode_screen.py +0 -0
  1638. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_moe_routing_distribution_capture.py +0 -0
  1639. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_mtp_head_profile.py +0 -0
  1640. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_mtp_phase_census.py +0 -0
  1641. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_p8_production_denominator.py +0 -0
  1642. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_perf_gap_report.py +0 -0
  1643. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_pf1_mmq_plane_screen.py +0 -0
  1644. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_profile_gap.py +0 -0
  1645. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_q4_bundle_screen.py +0 -0
  1646. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_q4_iu8_exact_screen.py +0 -0
  1647. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_q4_iu8_flip_analyze.py +0 -0
  1648. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_q4_iu8_flip_probe.py +0 -0
  1649. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_q4_iu8_scale_sweep.py +0 -0
  1650. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_q51_down_input_capture.py +0 -0
  1651. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_q51_mmq_flip_probe.py +0 -0
  1652. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_q51_pair_screen.py +0 -0
  1653. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_q5_k_iu8_exact_screen.py +0 -0
  1654. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_q5k_grouped_row4_screen.py +0 -0
  1655. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_q8_0_wmma_down_logits_probe.py +0 -0
  1656. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_q8_down_row4_screen.py +0 -0
  1657. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_q8_iu8_dense_screen.py +0 -0
  1658. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_q8_iu8_vs_mmq_screen.py +0 -0
  1659. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_q8_mmq_planes_logits_probe.py +0 -0
  1660. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_q8_mmq_tile_screen.py +0 -0
  1661. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_q8_wave_scale_screen.py +0 -0
  1662. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_qsa_decode_flag_probe.py +0 -0
  1663. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_qsa_decode_pass_probe.py +0 -0
  1664. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_qsa_h256_wave_screen.py +0 -0
  1665. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_qsa_phase_trace_summary.py +0 -0
  1666. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_qsa_v2_drift_probe.py +0 -0
  1667. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_r2e_route_ablation.py +0 -0
  1668. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_role_analyze.py +0 -0
  1669. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_route_coverage_finding.py +0 -0
  1670. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_route_pair.py +0 -0
  1671. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_routing_capture.py +0 -0
  1672. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_row4_state_gate.py +0 -0
  1673. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_screen_calibration.py +0 -0
  1674. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_stateful_layer_graph_probe.py +0 -0
  1675. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_thread_affinity.py +0 -0
  1676. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_thread_perf.py +0 -0
  1677. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_tools_grammar_gate.py +0 -0
  1678. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_trace_analyze.py +0 -0
  1679. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/qwen4exp_vulkan_owner_build.py +0 -0
  1680. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/rocblas_batched_probe.py +0 -0
  1681. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/rocblas_scores_probe.py +0 -0
  1682. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/run_gfx1151_readme_refresh.sh +0 -0
  1683. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/run_w7900_readme_refresh.sh +0 -0
  1684. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/sampler_full_vocab_bench.py +0 -0
  1685. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/server_f1_concurrency_bench.py +0 -0
  1686. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/session_replay_convert.py +0 -0
  1687. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/setup_vibevoice_tts_oracle_env.sh +0 -0
  1688. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/sharegpt_mtp_routing_pass.py +0 -0
  1689. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/smoke.py +0 -0
  1690. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/specdec2_c1_gate.py +0 -0
  1691. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/specdec2_paro_c1_gate.py +0 -0
  1692. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/specdec2_perf_bridge.py +0 -0
  1693. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/specdec2_perf_gfx1100_bridge.py +0 -0
  1694. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/specdec2_perf_gfx1100_child.py +0 -0
  1695. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/specdec2_rocprof_summary.py +0 -0
  1696. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/specdec2_s4_compaction_gate.py +0 -0
  1697. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/specdec2_s4_neighbor_gate.py +0 -0
  1698. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/specdec2_s4_prefix_gate.py +0 -0
  1699. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/specdec2_s6_category_gate.py +0 -0
  1700. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/specdec2_s6_failure_gate.py +0 -0
  1701. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/specdec2_s6_soak_gate.py +0 -0
  1702. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/strip_paro_safetensors.py +0 -0
  1703. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/summarize_native_context_gates.py +0 -0
  1704. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/surya_acceptance.py +0 -0
  1705. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/surya_attention_memory.py +0 -0
  1706. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/surya_bench_pages.py +0 -0
  1707. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/surya_gpu_debug_attn.py +0 -0
  1708. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/surya_gpu_debug_gdn0.py +0 -0
  1709. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/surya_gpu_rocprof_driver.py +0 -0
  1710. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/surya_gpu_smoke.py +0 -0
  1711. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/surya_http_e2e.py +0 -0
  1712. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/surya_kv_spans_bench.py +0 -0
  1713. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/surya_numerical_gate.py +0 -0
  1714. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/surya_oracle_greedy.py +0 -0
  1715. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/surya_oracle_torch.py +0 -0
  1716. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/surya_perf_compare.py +0 -0
  1717. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/surya_profile_report.py +0 -0
  1718. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/surya_transcription_report.py +0 -0
  1719. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/surya_transcription_score.py +0 -0
  1720. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/surya_vision_tiling_cost.py +0 -0
  1721. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/sync_benchmark_readme.py +0 -0
  1722. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/test_fp8_rdna3.py +0 -0
  1723. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/tier_backend_gate.py +0 -0
  1724. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/tier_model_kv_gate.py +0 -0
  1725. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/timesfm3_gpu_bench.py +0 -0
  1726. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/timesfm3_oracle_torch.py +0 -0
  1727. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/timesfm_gpu_bench.py +0 -0
  1728. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/timesfm_oracle_torch.py +0 -0
  1729. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/ud_bf16kv_spike/README.md +0 -0
  1730. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/ud_bf16kv_spike/capture.py +0 -0
  1731. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/ud_bf16kv_spike/compare.py +0 -0
  1732. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/ud_bf16kv_spike/hip_replay.py +0 -0
  1733. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/ud_bf16kv_spike/intervene.py +0 -0
  1734. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/ud_bf16kv_spike/norm_replay.py +0 -0
  1735. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/ud_bf16kv_spike/record.py +0 -0
  1736. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/ud_bf16kv_spike/replay.py +0 -0
  1737. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/ud_bf16kv_spike/teacher.cpp +0 -0
  1738. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/ud_mtp_ar_verify_numerics_gate.py +0 -0
  1739. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/ud_mtp_certification.py +0 -0
  1740. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/ud_mtp_paired.py +0 -0
  1741. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/ud_precision_row_diagnostic.py +0 -0
  1742. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/ud_strict_manifest.py +0 -0
  1743. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/update-therock-torch.sh +0 -0
  1744. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/validate_local_agent_config.py +0 -0
  1745. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/validate_pi_agent_models.py +0 -0
  1746. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vendor_aotriton.sh +0 -0
  1747. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/verify_c8_batch_kernels.py +0 -0
  1748. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/verify_c8_batch_runtime.py +0 -0
  1749. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vibevoice_asr_bench.py +0 -0
  1750. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vibevoice_asr_compare_logits.py +0 -0
  1751. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vibevoice_asr_e2e.py +0 -0
  1752. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vibevoice_asr_gguf_merge.py +0 -0
  1753. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vibevoice_asr_logits.py +0 -0
  1754. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vibevoice_asr_oracle_torch.py +0 -0
  1755. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vibevoice_asr_q4_decode_scratch_bench.py +0 -0
  1756. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vibevoice_asr_q4_prefill_bench.py +0 -0
  1757. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vibevoice_asr_standalone_check.py +0 -0
  1758. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vibevoice_asr_to_gguf.py +0 -0
  1759. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vibevoice_asr_transcribe.py +0 -0
  1760. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vibevoice_asr_wer.py +0 -0
  1761. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vibevoice_asr_wer_full.py +0 -0
  1762. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vibevoice_asr_wer_q4.py +0 -0
  1763. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vibevoice_frontend_scratch_ab.py +0 -0
  1764. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vibevoice_q4_decode_phase_split.py +0 -0
  1765. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vibevoice_q4_e2e_stage_breakdown.py +0 -0
  1766. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vibevoice_q4_prefill_launches.py +0 -0
  1767. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vibevoice_q4_prefill_scratch_ab.py +0 -0
  1768. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vibevoice_tts_cache_ab.py +0 -0
  1769. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vibevoice_tts_decoder_rocprof_smoke.py +0 -0
  1770. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vibevoice_tts_diffusion_linear_bench.py +0 -0
  1771. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vibevoice_tts_oracle_requirements.txt +0 -0
  1772. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vibevoice_tts_oracle_torch.py +0 -0
  1773. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vibevoice_tts_quality_suite.py +0 -0
  1774. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vibevoice_tts_session_bench.py +0 -0
  1775. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vibevoice_tts_torch_bench.py +0 -0
  1776. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vibevoice_tts_weight_inventory.py +0 -0
  1777. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vllm_openai_concurrency_sweep.py +0 -0
  1778. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/vllm_rocm_gfx1100_docker.sh +0 -0
  1779. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/w8a16_decode_probe.py +0 -0
  1780. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/worklog.py +0 -0
  1781. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/worklog_port_legacy.py +0 -0
  1782. {hipengine-0.6.0 → hipengine-0.7.0}/scripts/xtx_dms_capacity_point_check.py +0 -0
  1783. {hipengine-0.6.0 → 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.