# Attention Directory Audit (C1) ## dsv4/kernels/attention/ files | File | Refs from live code | Action | |---|---|---| | `fmha_6warp_tma_multirow_multitile.cuh` | fmha_multitile_capi.cu (include) | KEEP - production kernel | | `fmha_common.cuh` | fmha_6warp_tma_multirow_multitile.cuh (include) | KEEP - shared defs | | `fmha_tma.cuh` | fmha_6warp_tma_multirow_multitile.cuh (include) | KEEP - TMA helpers | | `fmha_umma_desc.cuh` | fmha_multitile_capi.cu (include) | KEEP - UMMA descriptors | | `fmha_multitile_capi.cu` | fmha_multitile_op.py (nvcc compile) | KEEP - C API wrapper | | `fmha_multitile_op.py` | production.py:312 (import) | KEEP - ctypes loader | | `production.py` | __init__.py, custom_ops.py, layers/attention.py, tests | KEEP - public API | | `__init__.py` | layers/attention.py | KEEP - public API | | `fmha.py` | production.py:53 (FmhaKernel import), ~48 test files | DELETE (C3 Option A) | | `fmha_sm100.cuh` | Only referenced by files being deleted | DELETE | | `fmha_sm100_tc.cuh` | Zero live refs | DELETE | | `fmha_sm100_launch.cu` | Zero live refs | DELETE | | `fmha_epilogue_sm100.cuh` | Only ref is fmha_sm100_launch.cu (deleting) | DELETE | | `fmha_qk_verify.cuh` | Only ref is tests/unit/test_qk_mma.cu | MOVE to tests/unit/ | | `archive/` (5 files) | Zero live refs | MOVE to archived_plans/code_archive/ | ## dsv4/ops/ dead files | File | Refs | Action | |---|---|---| | `decode_sparse.py` | Zero | DELETE | | `decode_swa.py` | Zero | DELETE | ## dsv4/kernels/decode/ (entire dir) | File | Refs | Action | |---|---|---| | `__init__.py` | Zero | DELETE dir | | `_NOTES_fp8_bf16.md` | Zero | DELETE dir | ## Root-level scratch | File | Action | |---|---| | `debug_linear.py` | DELETE | | `test_mapping.py` | DELETE | | `run_router_tests.py` | DELETE (hardcoded B200 path) | | `tests/working_softmax_maybe.py` | DELETE | ## test_d*.py count: 46 → target ≤5 All 46 reference FmhaKernel (being deleted) or are Stage D probes. All DELETE under C3 Option A. ## test_smem_acc.py — imports FmhaKernel from archive. DELETE. ## test_cotiled_diag.py, test_fmha_v3_stage_d1.py, test_tmem_roundtrip_minimal.py, test_smem_budget.py — import FmhaKernel. DELETE with C3. Live test files (KEEP): - test_p3_fast_decode.py (tests multitile op) - test_p6_tma_epilogue.py (tests multitile op) - test_p7_multi_row_softmax.py (tests multitile op) - test_production.py (tests production API) - test_fmha_sm100.py (tests standalone .cu compile) - All test_*.cu files (standalone CUDA, don't import FmhaKernel) - test_nvfp4_*.py (quantization tests) - test_cutedsl.py (CuTeDSL infra) Live .cuh count after cleanup: 4 (fmha_6warp_tma_multirow_multitile, fmha_common, fmha_tma, fmha_umma_desc) Live .cu count: 1 (fmha_multitile_capi.cu)