2026-08-26 13:39:20 +07:00
|
|
|
{
|
|
|
|
|
"schema": "vortex-exact-attention-architecture-model",
|
|
|
|
|
"version": 1,
|
|
|
|
|
"status": "projected_not_measured",
|
|
|
|
|
"baseline": {
|
|
|
|
|
"device": "NVIDIA GB10", "architecture": "sm_121a", "tokens": 37810,
|
|
|
|
|
"heads": 56, "head_dimension": 128, "mainloop_p50_ms": 237.089,
|
|
|
|
|
"grid": [296, 56, 1], "block": [32, 4, 1], "kv_iterations": 591,
|
|
|
|
|
"stages": 2, "registers_per_thread": 255, "dynamic_shared_kib": 32,
|
|
|
|
|
"occupancy_percent": [16.65, 16.83], "no_eligible_cycles_percent": 63.53,
|
|
|
|
|
"l2_hit_percent": 98.85, "memory_throughput_percent": 31.74
|
|
|
|
|
},
|
|
|
|
|
"hard_gates": {
|
|
|
|
|
"mainloop_model_must_beat_ms": 220, "preferred_model_below_ms": 190,
|
|
|
|
|
"byte_exact": true, "material_score_tensor": false,
|
|
|
|
|
"material_local_spills": false,
|
|
|
|
|
"kv_tile_order": "strictly_increasing_0_through_590",
|
|
|
|
|
"pv_accumulation": "two_ordered_k32_fp16_mma_then_ordered_fp32_ro_add"
|
|
|
|
|
},
|
|
|
|
|
"model_basis": {
|
|
|
|
|
"kind": "heuristic_rejection_screen",
|
|
|
|
|
"formula": "baseline minus assumed recovered fraction of no-eligible region plus handoff budget",
|
|
|
|
|
"exact_preparation_components_ms": {"p1_entry": 12.33, "k_mean": 2.37, "k_quant": 3.83, "p2_v": 6.39},
|
|
|
|
|
"exact_preparation_ms": [25, 28],
|
2026-08-26 14:44:28 +07:00
|
|
|
"unresolved": ["full attention kernel resources and latency", "DSM placement and latency"]
|
|
|
|
|
},
|
|
|
|
|
"phase2a_capability_measurements": {
|
|
|
|
|
"status": "passed_for_isolated_aligned_prototype",
|
|
|
|
|
"date": "2026-08-26",
|
|
|
|
|
"candidate": "VEA-B",
|
|
|
|
|
"geometry": {"threads": 320, "warps": 10, "epochs": 591, "dynamic_shared_bytes": 51200},
|
|
|
|
|
"selected_handoff": "cuda_block_scope_mbarrier",
|
|
|
|
|
"registers_per_thread": {"handoff": 96, "qk_role": 54, "pv_role": 138, "combined_ownership": 139},
|
|
|
|
|
"local_bytes_per_thread": 0,
|
|
|
|
|
"ptxas_spill_loads": 0,
|
|
|
|
|
"ptxas_spill_stores": 0,
|
|
|
|
|
"resident_ctas_per_sm": 1,
|
|
|
|
|
"timing_ms": {
|
|
|
|
|
"mbarrier_only_p50": 0.07680000364780426,
|
|
|
|
|
"mbarrier_only_p95": 0.07887999713420868,
|
|
|
|
|
"payload_p50": 1.8749439716339111,
|
|
|
|
|
"payload_p95": 1.8794736385345459,
|
|
|
|
|
"budget": 11.85445
|
|
|
|
|
},
|
|
|
|
|
"handoff_validation": {"checksum": 4671090, "publication_errors": 0, "deterministic_repeat": true},
|
|
|
|
|
"tensor_issue": {"positive_overlap_blocks": 48, "total_blocks": 48, "p50_overlap_ratio": 0.999992875970649, "combined_p50_ms": 0.12707199901342392},
|
|
|
|
|
"sanitizer": {"mbarrier_memcheck_errors": 0, "mbarrier_racecheck_hazards": 0, "tensor_memcheck_errors": 0, "tensor_racecheck_hazards": 0},
|
|
|
|
|
"rejected_primitive": {"name": "inline_ptx_named_barrier", "racecheck_hazards": 5},
|
|
|
|
|
"canonical_fixture": {"shape": [1, 37810, 56, 128], "dtype": "bfloat16", "output_sha256": "4c666c20f5f8f651158a2ced33ccff08f3bada07665c595b99008d171db30574", "reload_verified": true},
|
|
|
|
|
"attention_kernel_implemented": false,
|
|
|
|
|
"attention_latency_measured": false
|
2026-08-26 13:39:20 +07:00
|
|
|
},
|
|
|
|
|
"candidates": [
|
|
|
|
|
{
|
|
|
|
|
"id": "VEA-A", "name": "Q64 split-D intra-CTA pipeline", "recommended_order": 3,
|
|
|
|
|
"geometry": {"q": 64, "k": 64, "d": 128, "threads": 256, "warps": 8},
|
|
|
|
|
"ownership": {"qk_fragments": "warps_1_2", "m_d": "warps_1_2", "output_accumulation": "warps_3_6_split_d64", "load_control": "warps_0_7"},
|
|
|
|
|
"handoff": {"mechanism": "two_slot_shared_ring_named_barriers", "payload": "fp8_probability_bytes_plus_fp32_ro_rescale", "bounded_tile_local": true, "consumer_order": "strict_epoch_order", "qk_and_pv_fragments_simultaneously_live": true, "same_warp": false},
|
|
|
|
|
"registers_per_thread": {"load": [32, 48], "qk_softmax": [96, 128], "pv_output": [88, 120], "control": [32, 64]},
|
|
|
|
|
"shared_kib": {"q": 8, "k_double": 16, "v_double": 16, "score_double": 8, "metadata": [3, 4], "total": [51, 52]},
|
|
|
|
|
"registers_per_cta_uniform_projection": 32768,
|
|
|
|
|
"resident_ctas_per_sm_projected": 1, "synchronization_ms_projected": [8, 18],
|
|
|
|
|
"recovered_no_eligible_fraction": [0.22, 0.35],
|
|
|
|
|
"mainloop_ms_projected": [192, 222], "complete_attention_ms_projected": [217, 250],
|
|
|
|
|
"capability_dependencies": ["named_barrier_cost", "INT8_FP8_overlap"],
|
|
|
|
|
"structural_difference": "RO is removed from QK warps and split by D; m/d and scores are removed from PV warps"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "VEA-B", "name": "Q128 paired QK/PV owner pipeline", "recommended_order": 1,
|
|
|
|
|
"geometry": {"q": 128, "k": 64, "d": 128, "threads": 320, "warps": 10},
|
|
|
|
|
"ownership": {"qk_fragments": "warps_2_5", "m_d": "warps_2_5", "output_accumulation": "warps_6_9", "load_control": "warps_0_1"},
|
2026-08-26 14:44:28 +07:00
|
|
|
"handoff": {"mechanism": "two_slot_role_asymmetric_cuda_block_scope_mbarriers", "payload": "fp8_probability_bytes_plus_fp32_ro_rescale_and_final_reciprocal", "bounded_tile_local": true, "consumer_order": "strict_epoch_order", "qk_and_pv_fragments_simultaneously_live": true, "same_warp": false},
|
2026-08-26 13:39:20 +07:00
|
|
|
"registers_per_thread": {"k_producer": [32, 48], "v_producer": [40, 56], "qk_softmax": [96, 128], "pv_output": [144, 176]},
|
|
|
|
|
"logical_role_weighted_registers": 39000, "registers_per_cta_uniform_projection": 56320, "compiled_register_limit_per_thread": 200,
|
|
|
|
|
"shared_kib": {"unaliased": [66, 68], "alias_saving": 16, "total": [50, 52]},
|
|
|
|
|
"resident_ctas_per_sm_projected": 1, "synchronization_ms_projected": [6, 15],
|
|
|
|
|
"recovered_no_eligible_fraction": [0.30, 0.42],
|
|
|
|
|
"mainloop_ms_projected": [180, 207], "complete_attention_ms_projected": [205, 235],
|
2026-08-26 14:44:28 +07:00
|
|
|
"capability_dependencies": ["full_kernel_exactness", "full_kernel_compiled_resources", "full_kernel_latency"],
|
2026-08-26 13:39:20 +07:00
|
|
|
"structural_difference": "QK/softmax and RO/PV have permanent disjoint owners; P1/P2 may feed slots but are not standalone boundaries"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "VEA-C", "name": "two-CTA DSM ownership split", "recommended_order": 2,
|
|
|
|
|
"geometry": {"q": 128, "k": 64, "d": 128, "ctas": 2, "threads_total": 384, "warps_total": 12},
|
|
|
|
|
"ownership": {"qk_fragments": "producer_cta_warps_1_4", "m_d": "producer_cta_warps_1_4", "output_accumulation": "consumer_cta_warps_1_4", "load_control": "producer_and_consumer_warps_0_5"},
|
|
|
|
|
"handoff": {"mechanism": "two_slot_dsm_ring_cluster_barriers", "payload": "fp8_probability_bytes_plus_fp32_ro_rescale_and_final_reciprocal", "bounded_tile_local": true, "consumer_order": "strict_epoch_order", "qk_and_pv_fragments_simultaneously_live": true, "same_warp": false, "same_cta": false},
|
|
|
|
|
"registers_per_thread": {"producer_load_publish": [32, 48], "qk_softmax": [96, 128], "consumer_v": [40, 56], "pv_output": [144, 176], "consumer_store": [40, 64]},
|
|
|
|
|
"registers_per_cluster_projected": [50000, 60000], "shared_kib": {"producer": 50, "consumer": 18, "cluster_total": 68},
|
|
|
|
|
"resident_cluster_projection": "unverified", "synchronization_ms_projected": [12, 30],
|
|
|
|
|
"recovered_no_eligible_fraction": [0.38, 0.50],
|
|
|
|
|
"mainloop_ms_projected": [174, 210], "complete_attention_ms_projected": [199, 238],
|
|
|
|
|
"capability_dependencies": ["DSM_support", "cluster_simultaneous_residency", "DSM_round_trip_latency", "INT8_FP8_overlap"],
|
|
|
|
|
"structural_difference": "QK/softmax state and RO/PV state reside in separate CTAs and cross an explicit DSM byte handoff"
|
|
|
|
|
}
|
|
|
|
|
],
|
2026-08-26 14:44:28 +07:00
|
|
|
"decision": {"recommended_prototype": "VEA-B", "selected_handoff": "cuda_block_scope_mbarrier", "phase2a_capability_passed": true, "isolated_aligned_prototype_authorized": true, "fallback": "VEA-A", "conditional_second": "VEA-C", "kernel_implementation_started": false, "production_dispatch_changed": false}
|
2026-08-26 13:39:20 +07:00
|
|
|
}
|