Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
f6b4726
m28-v2: establish single-MI50 prefill architecture and workspace
GionaGranchelli Sep 24, 2026
12c0e32
m28-v2: implement chunkwise recurrent layer vertical slice
GionaGranchelli Sep 24, 2026
d113c34
bench: add V2 recurrent-layer bakeoff benchmark
GionaGranchelli Sep 24, 2026
e7234d5
V2-0001: qualify recurrent layer vertical slice
GionaGranchelli Sep 24, 2026
a1a2d53
docs: set Prefill V2 as active M28 frontier
GionaGranchelli Sep 24, 2026
3200b00
feat(prefill_v2): transplant Mx compact MMQ backend and qualify recur…
GionaGranchelli Sep 24, 2026
084f410
prefill-v2: qualify slice 2 (4-layer topology block 3xGDN + 1xGQA) on…
GionaGranchelli Sep 24, 2026
666e5f5
prefill_v2: qualify register-resident GDN scan and full 64-layer pipe…
GionaGranchelli Sep 25, 2026
0f8dc02
prefill_v2: implement native P512 macro-tiling, LM head, and qualify …
GionaGranchelli Sep 25, 2026
4573f60
prefill_v2: attention optimization bakeoff (V2-0006) and candidate re…
GionaGranchelli Sep 25, 2026
637ff33
prefill_v2: unify 64-layer prefill with static decode pipeline (V2-0007)
GionaGranchelli Sep 25, 2026
eb1ef9b
feat(prefill_v2): transplant dedicated decode execution and reusable …
GionaGranchelli Sep 25, 2026
48d4b35
prefill_v2: recover decode fast paths (V2-0009) (44.7 ms/token)
GionaGranchelli Sep 25, 2026
6b1b310
prefill_v2: integrate wave64 transposed row waves GDN step and beat m…
GionaGranchelli Sep 25, 2026
a95ff18
v2-0011: recover historical ~32ms decode frontier via fused recurrent…
GionaGranchelli Sep 25, 2026
b6923f0
feat(v2): reclaim 4.86 GiB resident VRAM via selective Wave layout pr…
GionaGranchelli Sep 25, 2026
3cbfd8a
feat(v2): add context envelope bench and live qualify 64K/128K on MI5…
GionaGranchelli Sep 25, 2026
dd02c3d
bench: qualify long-context scaling up to 128K on 1x MI50 (EXP-V2-0013)
GionaGranchelli Sep 25, 2026
735ee7d
docs(experiments): reconcile memory accounting and clarify prefill sc…
GionaGranchelli Sep 25, 2026
227320e
feat(prefill_v2): implement prefix and state reuse with suffix-only p…
GionaGranchelli Sep 25, 2026
abbee08
docs(experiments): record EXP-V2-0014 prefix and state reuse qualific…
GionaGranchelli Sep 25, 2026
c4947e6
feat(bench): implement Suffix TTFT diagnostic attribution and complet…
GionaGranchelli Sep 25, 2026
1015ade
feat(v2-0016): specialized wave64 split-k suffix attention
GionaGranchelli Sep 26, 2026
02982d7
feat(v2-0017): hierarchical gqa bakeoff and dual-issue pipelined stre…
GionaGranchelli Sep 26, 2026
899c3c9
prefill: implement v2-0018 reusable suffix hip graph replay
GionaGranchelli Sep 26, 2026
52750f4
feat(kv-cache): implement direct-consumption Q8 KV cache and qualific…
GionaGranchelli Sep 26, 2026
bc638a7
bench: qualify and reject FP16 suffix attention software pipelining (…
GionaGranchelli Sep 26, 2026
4e03ce2
cli: wire miinfer serve to use PrefillV2Model for fast macro-tiled pr…
GionaGranchelli Sep 26, 2026
41992e8
fix(serve): terminate autoregressive decode on EOS/stop tokens and su…
GionaGranchelli Sep 26, 2026
4eaa016
feat(serve): enable session prefix reuse by default for low-latency m…
GionaGranchelli Sep 26, 2026
3f412d9
fix(sampling): add temperature, top-p, top-k, repetition penalty and …
GionaGranchelli Sep 26, 2026
1770948
fix(decode): connect decode_state to kv store kernel in graph capture…
GionaGranchelli Sep 26, 2026
5bf8b36
prefill_v2: qualify production suffix hip graph replay and record EXP…
GionaGranchelli Sep 26, 2026
3bd53b5
prefill_v2: complete V2-0022 MMQ critical path qualification and reco…
GionaGranchelli Sep 27, 2026
95dd6ac
bench: record EXP-V2-0023 cross-query attention rejection on gfx906
GionaGranchelli Sep 27, 2026
c0abb6e
bench: record EXP-V2-0024 quantized prefix KV qualification and laten…
GionaGranchelli Sep 27, 2026
4a92766
bench: record EXP-V2-0025 LDS-staged GQA attention and roofline equil…
GionaGranchelli Sep 27, 2026
15f02bc
bench: record EXP-V2-0026 production suffix prefill and decode pipeli…
GionaGranchelli Sep 27, 2026
65e9497
server: add live reasoning token streaming and openai reasoning_conte…
GionaGranchelli Sep 27, 2026
8dfa9bc
server: support multi-variant think tags and instant content streamin…
GionaGranchelli Sep 27, 2026
fcb5524
server: preempt thinking stream upon encountering tool call tags
GionaGranchelli Sep 27, 2026
ada16a8
docs(experiments): record EXP-V2-0027 cold prefill MMQ DP4A roofline …
GionaGranchelli Sep 27, 2026
9d032ee
docs(experiments): update EXP-V2-0027R with reconciled cold-prefill a…
GionaGranchelli Sep 27, 2026
4346d94
chore(graphify): update knowledge graph with EXP-V2-0027R
GionaGranchelli Sep 27, 2026
1634579
feat(v2-0028): qualify persistent prefix cache & durable session restore
GionaGranchelli Sep 27, 2026
5919ca7
feat(v2-0029): optimize MMQ useful compute efficiency & dequantizatio…
GionaGranchelli Sep 27, 2026
3e508cc
feat(v2-0030): direct global-to-vgpr mmq streaming investigation & re…
GionaGranchelli Sep 27, 2026
e7e3658
docs: attribute P8192 traces and sampling decode A/B
GionaGranchelli Sep 28, 2026
284c767
docs: qualify P8192 attention trace geometry
GionaGranchelli Sep 28, 2026
295d5cd
docs: audit pinned P8192 attention paths
GionaGranchelli Sep 28, 2026
a26b5b0
docs: record decode requalification results
GionaGranchelli Sep 28, 2026
905bcd0
docs: reconcile P8192 attention dispatch traces
GionaGranchelli Sep 28, 2026
8a12a47
docs: correct P8192 MIInfer launch count
GionaGranchelli Sep 28, 2026
5af725d
docs: reconcile upstream P8192 attention trace
GionaGranchelli Sep 28, 2026
70828b2
gfx906: prototype reference-shaped P8192 attention reuse
GionaGranchelli Sep 28, 2026
d3468ef
gfx906: correct P8192 attention candidate evidence
GionaGranchelli Sep 28, 2026
e19bb7a
bench: reject accurate P8192 attention variant
GionaGranchelli Sep 28, 2026
8718944
bench: record P8192 attention repeat failure
GionaGranchelli Sep 29, 2026
0ddb6e8
bench: isolate attention candidate repeat fault
GionaGranchelli Sep 29, 2026
e892b84
debug: localize V2-0043 repeat fault
GionaGranchelli Sep 29, 2026
1bcbbb9
chore: refresh code graph after attention diagnostics
GionaGranchelli Sep 29, 2026
5fc97a9
docs: correct repeat diagnostic timing
GionaGranchelli Sep 29, 2026
5ce5c55
docs: record pre-dispatch sync diagnostic
GionaGranchelli Sep 29, 2026
ef80cda
bench: classify V2-0043 repeat fault as unreproduced
GionaGranchelli Sep 29, 2026
d4579de
chore: refresh graph after V2-0043 diagnosis
GionaGranchelli Sep 29, 2026
8856b43
gfx906: qualify V2-0043 candidate routing
GionaGranchelli Sep 29, 2026
ed15e75
chore: refresh graph after V2-0043 route gate
GionaGranchelli Sep 29, 2026
9fd5931
bench: attribute V2-0043 split traffic
GionaGranchelli Sep 29, 2026
3a175a2
gfx906: mirror reference fp16 attention state
GionaGranchelli Sep 29, 2026
f960357
chore: refresh graph after V2-0043 iteration 22
GionaGranchelli Sep 29, 2026
7e1b680
bench: record V2-0043 greedy parity
GionaGranchelli Sep 29, 2026
bf3c5d3
bench: record V2-0043 P8192 recheck
GionaGranchelli Sep 29, 2026
5cd93e2
bench: refresh V2-0043 candidate attribution
GionaGranchelli Sep 29, 2026
fe5764f
bench: reject unroll-only V2-0043 variant
GionaGranchelli Sep 29, 2026
e68c0f2
gfx906: keep swizzled GQA attention candidate
GionaGranchelli Sep 29, 2026
665f996
bench: close V2-0043 on iteration 26
GionaGranchelli Sep 29, 2026
aa4a59c
docs: record post-M28 qualification baseline
GionaGranchelli Sep 29, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
156 changes: 156 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,15 @@ if(MIINFER_ENABLE_HIP)
src/qwen3_gpu_layer.cpp
src/fp16_gemv_reference.cpp
src/q4_q8_gemv_reference.cpp
src/prefill_v2/state.cpp
src/prefill_v2/workspace.cpp
src/prefill_v2/recurrent_layer.cpp
src/prefill_v2/kv_cache.cpp
src/prefill_v2/attention_layer.cpp
src/prefill_v2/topology_block.cpp
src/prefill_v2/reusable_context.cpp
src/prefill_v2/persistent_session.cpp
src/prefill_v2/model.cpp
gfx906/kernels/vector_add.hip
gfx906/kernels/fp16_gemv.hip
gfx906/kernels/q4_q8_gemv.hip
Expand All @@ -143,6 +152,130 @@ if(MIINFER_ENABLE_HIP)
$<$<COMPILE_LANGUAGE:CXX>:-Wall;-Wextra;-Wpedantic>
$<$<COMPILE_LANGUAGE:HIP>:-Wall;-Wextra;-fgpu-default-stream=per-thread>
)

add_executable(miinfer-prefill-v2-recurrent-layer-bakeoff bench/prefill_v2_recurrent_layer_bakeoff.cpp)
target_link_libraries(miinfer-prefill-v2-recurrent-layer-bakeoff PRIVATE miinfer_hip)
target_compile_options(miinfer-prefill-v2-recurrent-layer-bakeoff PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-prefill-v2-topology-block-bakeoff bench/prefill_v2_topology_block_bakeoff.cpp)
target_link_libraries(miinfer-prefill-v2-topology-block-bakeoff PRIVATE miinfer_hip)
target_compile_options(miinfer-prefill-v2-topology-block-bakeoff PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-prefill-v2-model-bench bench/prefill_v2_model_bench.cpp)
target_link_libraries(miinfer-prefill-v2-model-bench PRIVATE miinfer_hip)
target_compile_options(miinfer-prefill-v2-model-bench PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-prefill-v2-attention-bakeoff bench/prefill_v2_attention_bakeoff.cpp)
target_link_libraries(miinfer-prefill-v2-attention-bakeoff PRIVATE miinfer_hip)
target_compile_options(miinfer-prefill-v2-attention-bakeoff PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-candidate-b-layout-pruning-bench bench/candidate_b_layout_pruning_bench.cpp)
target_link_libraries(miinfer-candidate-b-layout-pruning-bench PRIVATE miinfer_hip)
target_compile_options(miinfer-candidate-b-layout-pruning-bench PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-candidate-a-ffn-shared-bench bench/candidate_a_ffn_shared_bench.cpp)
target_link_libraries(miinfer-candidate-a-ffn-shared-bench PRIVATE miinfer_hip)
target_compile_options(miinfer-candidate-a-ffn-shared-bench PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-prefill-v2-e2e-bench bench/prefill_v2_e2e_bench.cpp)
target_link_libraries(miinfer-prefill-v2-e2e-bench PRIVATE miinfer_hip)
target_compile_options(miinfer-prefill-v2-e2e-bench PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-decode-fast-path-bakeoff bench/decode_fast_path_bakeoff.cpp)
target_link_libraries(miinfer-decode-fast-path-bakeoff PRIVATE miinfer_hip)
target_compile_options(miinfer-decode-fast-path-bakeoff PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-decode-stage-profile bench/decode_stage_profile.cpp)
target_link_libraries(miinfer-decode-stage-profile PRIVATE miinfer_hip)
target_compile_options(miinfer-decode-stage-profile PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-decode-gdn-breakdown bench/decode_gdn_breakdown.cpp)
target_link_libraries(miinfer-decode-gdn-breakdown PRIVATE miinfer_hip)
target_compile_options(miinfer-decode-gdn-breakdown PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-gdn-kernel-bakeoff bench/gdn_kernel_bakeoff.cpp)
target_link_libraries(miinfer-gdn-kernel-bakeoff PRIVATE miinfer_hip)
target_compile_options(miinfer-gdn-kernel-bakeoff PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-prefix-state-reuse-bench bench/prefix_state_reuse_bench.cpp)
target_link_libraries(miinfer-prefix-state-reuse-bench PRIVATE miinfer_hip)
target_compile_options(miinfer-prefix-state-reuse-bench PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-suffix-ttft-attribution-bench bench/suffix_ttft_attribution_bench.cpp)
target_link_libraries(miinfer-suffix-ttft-attribution-bench PRIVATE miinfer_hip)
target_compile_options(miinfer-suffix-ttft-attribution-bench PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-suffix-attention-bakeoff bench/suffix_attention_bakeoff.cpp)
set_source_files_properties(bench/suffix_attention_bakeoff.cpp PROPERTIES LANGUAGE HIP)
target_link_libraries(miinfer-suffix-attention-bakeoff PRIVATE miinfer_hip)
target_compile_options(miinfer-suffix-attention-bakeoff PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-suffix-attention-halfwave-multitoken bench/suffix_attention_halfwave_multitoken.cpp)
set_source_files_properties(bench/suffix_attention_halfwave_multitoken.cpp PROPERTIES LANGUAGE HIP)
target_link_libraries(miinfer-suffix-attention-halfwave-multitoken PRIVATE miinfer_hip)
target_compile_options(miinfer-suffix-attention-halfwave-multitoken PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-v2-0017-hierarchical-gqa-bakeoff bench/v2_0017_hierarchical_gqa_bakeoff.cpp)
set_source_files_properties(bench/v2_0017_hierarchical_gqa_bakeoff.cpp PROPERTIES LANGUAGE HIP)
target_link_libraries(miinfer-v2-0017-hierarchical-gqa-bakeoff PRIVATE miinfer_hip)
target_compile_options(miinfer-v2-0017-hierarchical-gqa-bakeoff PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-v2-0017-quad-head-subwave-bakeoff bench/v2_0017_quad_head_subwave_bakeoff.cpp)
set_source_files_properties(bench/v2_0017_quad_head_subwave_bakeoff.cpp PROPERTIES LANGUAGE HIP)
target_link_libraries(miinfer-v2-0017-quad-head-subwave-bakeoff PRIVATE miinfer_hip)
target_compile_options(miinfer-v2-0017-quad-head-subwave-bakeoff PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-v2-0017-pipelined-stream-bakeoff bench/v2_0017_pipelined_stream_bakeoff.cpp)
set_source_files_properties(bench/v2_0017_pipelined_stream_bakeoff.cpp PROPERTIES LANGUAGE HIP)
target_link_libraries(miinfer-v2-0017-pipelined-stream-bakeoff PRIVATE miinfer_hip)
target_compile_options(miinfer-v2-0017-pipelined-stream-bakeoff PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-v2-0018-suffix-hip-graph-bench bench/v2_0018_suffix_hip_graph_bench.cpp)
target_link_libraries(miinfer-v2-0018-suffix-hip-graph-bench PRIVATE miinfer_hip)
target_compile_options(miinfer-v2-0018-suffix-hip-graph-bench PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-v2-0021-production-suffix-hip-graph-bench bench/v2_0021_production_suffix_hip_graph_bench.cpp)
target_link_libraries(miinfer-v2-0021-production-suffix-hip-graph-bench PRIVATE miinfer_hip)
target_compile_options(miinfer-v2-0021-production-suffix-hip-graph-bench PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-v2-0022-suffix-mmq-critical-path-bench bench/v2_0022_suffix_mmq_critical_path_bench.cpp)
target_link_libraries(miinfer-v2-0022-suffix-mmq-critical-path-bench PRIVATE miinfer_hip)
target_compile_options(miinfer-v2-0022-suffix-mmq-critical-path-bench PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-v2-0023-cross-query-attention-bench bench/v2_0023_cross_query_attention_bench.cpp)
set_source_files_properties(bench/v2_0023_cross_query_attention_bench.cpp PROPERTIES LANGUAGE HIP)
target_link_libraries(miinfer-v2-0023-cross-query-attention-bench PRIVATE miinfer_hip)
target_compile_options(miinfer-v2-0023-cross-query-attention-bench PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-v2-0024-quantized-prefix-kv-bench bench/v2_0024_quantized_prefix_kv_bench.cpp)
set_source_files_properties(bench/v2_0024_quantized_prefix_kv_bench.cpp PROPERTIES LANGUAGE HIP)
target_link_libraries(miinfer-v2-0024-quantized-prefix-kv-bench PRIVATE miinfer_hip)
target_compile_options(miinfer-v2-0024-quantized-prefix-kv-bench PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-v2-0025-lds-staged-gqa-attention-bench bench/v2_0025_lds_staged_gqa_attention_bench.cpp)
set_source_files_properties(bench/v2_0025_lds_staged_gqa_attention_bench.cpp PROPERTIES LANGUAGE HIP)
target_link_libraries(miinfer-v2-0025-lds-staged-gqa-attention-bench PRIVATE miinfer_hip)
target_compile_options(miinfer-v2-0025-lds-staged-gqa-attention-bench PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-v2-0026-production-hardening-bench bench/v2_0026_production_hardening_bench.cpp)
set_source_files_properties(bench/v2_0026_production_hardening_bench.cpp PROPERTIES LANGUAGE HIP)
target_link_libraries(miinfer-v2-0026-production-hardening-bench PRIVATE miinfer_hip miinfer_model)
target_compile_options(miinfer-v2-0026-production-hardening-bench PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-v2-0028-persistent-session-bench bench/v2_0028_persistent_session_bench.cpp)
set_source_files_properties(bench/v2_0028_persistent_session_bench.cpp PROPERTIES LANGUAGE HIP)
target_link_libraries(miinfer-v2-0028-persistent-session-bench PRIVATE miinfer_hip miinfer_model)
target_compile_options(miinfer-v2-0028-persistent-session-bench PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-v2-0029-mmq-efficiency-bench bench/v2_0029_mmq_efficiency_bench.cpp)
set_source_files_properties(bench/v2_0029_mmq_efficiency_bench.cpp PROPERTIES LANGUAGE HIP)
target_link_libraries(miinfer-v2-0029-mmq-efficiency-bench PRIVATE miinfer_hip miinfer_model)
target_compile_options(miinfer-v2-0029-mmq-efficiency-bench PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-v2-0030-direct-vgpr-streaming-bench bench/v2_0030_direct_vgpr_streaming_bench.cpp)
set_source_files_properties(bench/v2_0030_direct_vgpr_streaming_bench.cpp PROPERTIES LANGUAGE HIP)
target_link_libraries(miinfer-v2-0030-direct-vgpr-streaming-bench PRIVATE miinfer_hip miinfer_model)
target_compile_options(miinfer-v2-0030-direct-vgpr-streaming-bench PRIVATE -Wall -Wextra -Wpedantic)
endif()

add_executable(miinfer-host-test tests/host_test.cpp)
Expand Down Expand Up @@ -436,6 +569,27 @@ if(MIINFER_ENABLE_HIP)
target_link_libraries(miinfer-qwen3-layer35-external-test PRIVATE miinfer_hip)
target_compile_options(miinfer-qwen3-layer35-external-test PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-context-envelope-bench bench/context_envelope_bench.cpp)
target_link_libraries(miinfer-context-envelope-bench PRIVATE miinfer_hip miinfer_model)
target_compile_options(miinfer-context-envelope-bench PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-long-context-qualification-bench bench/long_context_qualification_bench.cpp)
target_link_libraries(miinfer-long-context-qualification-bench PRIVATE miinfer_hip miinfer_model)
target_compile_options(miinfer-long-context-qualification-bench PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-qwen3-quant-kv-attention-test tests/qwen3_quant_kv_attention_test.cpp)
target_link_libraries(miinfer-qwen3-quant-kv-attention-test PRIVATE miinfer_hip)
target_compile_options(miinfer-qwen3-quant-kv-attention-test PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-v2-0019-quantized-kv-bench bench/v2_0019_quantized_kv_bench.cpp)
target_link_libraries(miinfer-v2-0019-quantized-kv-bench PRIVATE miinfer_hip miinfer_model)
target_compile_options(miinfer-v2-0019-quantized-kv-bench PRIVATE -Wall -Wextra -Wpedantic)

add_executable(miinfer-v2-0020-pipeline-bench bench/v2_0020_pipeline_bench.cpp)
set_source_files_properties(bench/v2_0020_pipeline_bench.cpp PROPERTIES LANGUAGE HIP)
target_link_libraries(miinfer-v2-0020-pipeline-bench PRIVATE miinfer_hip)
target_compile_options(miinfer-v2-0020-pipeline-bench PRIVATE -Wall -Wextra -Wpedantic)

endif()

include(CTest)
Expand Down Expand Up @@ -482,6 +636,8 @@ if(BUILD_TESTING)
set_tests_properties(qwen3-layer0-gpu PROPERTIES LABELS "gpu-required")
add_test(NAME qwen3-kv-cache-gpu COMMAND miinfer-qwen3-kv-cache-gpu-test)
set_tests_properties(qwen3-kv-cache-gpu PROPERTIES LABELS "gpu-required")
add_test(NAME qwen3-quant-kv-attention-gpu COMMAND miinfer-qwen3-quant-kv-attention-test)
set_tests_properties(qwen3-quant-kv-attention-gpu PROPERTIES LABELS "gpu-required")
add_test(NAME qwen3-cached-attention-determinism-gpu
COMMAND miinfer-qwen3-cached-attention-determinism-gpu-test)
set_tests_properties(qwen3-cached-attention-determinism-gpu PROPERTIES LABELS "gpu-required")
Expand Down
Loading
Loading