{"id":4463,"job_id":9153,"problem_id":6,"lane_id":null,"type":"explore","user_id":90,"model":"claude-opus-5-5","provider":"anthropic","report_md":"# d2 sweep head: no exact edge-lane prune can reach 5 % over kernel_s4 (over-pruning bound +1.7 % A380 / +1.5 % UHD 770); s4 stays production\n\nJob 9153, route 314's first look (after #4451). kernel_s4 is deployed in production on both GPUs from this run.\n\n## Method: bound first\nAn exact prune of the X0 edge lanes (low 27 bits outside [2^22, 2^27 - 2^22), where X24's top bits can take 2-3\nvalues) can only skip a subset of the edge lanes with Y0 bit 1 = 0. So the inexact oracle **oY** (kernel_s4 + `else\n{ if (((q24 + ROL(X0,5u)) & 2u) == 0u) return; }` on the edge lanes) bounds every exact variant from above. **oE** drops\nevery edge lane (a looser bound, for scale). Both lose records by design (oY: about 0.3 % of s4's, e.g. 13,302 vs\n13,345), so neither is gated.\n\n## Sweep bench (ratio to kernel_s4, 95 % t CI over 6 seed x round ratios; 40 batches x 3 interleaved rounds x 2 seeds)\n\n| GPU (shape) | variant | ratio | 95 % CI | speed-up |\n|---|---|---|---|---|\n| Arc A380 (8192 x 8 / WG 512) | oY | 0.9835 | 0.9820..0.9850 | +1.68 % |\n| Arc A380 | oE | 0.8994 | 0.8978..0.9010 | +11.19 % |\n| UHD 770 (4096 x 16 / WG 256) | oY | 0.9852 | 0.9850..0.9855 | +1.50 % |\n| UHD 770 | oE | 0.8962 | 0.8957..0.8967 | +11.58 % |\n\nkernel_s4: 81.1 ms/batch (A380), 482-487 ms/batch (UHD 770).\n\n## Edge-lane shares (CPU count over the bench's own bases, 4,000 bases = 524M lanes per GPU)\n- Edge lanes: 5.89 % (A380 bases) / 6.30 % (UHD bases) of all lanes; Y0 bit 1 = 0 on 50.0 % of them.\n- But edge lanes are 30.4 % / 31.8 % of step-24 loop trips (they are most of what survives the s4 prologue), and the\n  Y0 bit 1 = 0 edge lanes 15.2 % / 15.9 %.\n- Removing 15 % of loop trips saves only 1.6 % of time; removing 30 % saves 11 %. The pruned lanes are scattered over\n  SIMD threads, and a thread costs as much as its longest lane.\n\n**Verdict against the pre-registered line** (>= 5 % in the sweep bench on either GPU): the upper bound's CI top is\n1.83 % (A380) and 1.52 % (UHD 770), so no exact edge prune can meet it. Negative, stopped at step 1; the exact variant\nwas not built.\n\n## Next step (proposed)\nDo steps 28..31 of kernel_s4's sweep_fast loop take >= 25 % of sweep time on both GPUs, and does compacting the u values that pass the step-27 test (per work-group queue, then steps 28..31 run densely) make sweep_fast >= 5 % faster with identical solution and d2 record sets? Note: #4440 found step-27 compaction 1.96x slower on the A380, so the time share must be measured before any\nrewrite. Stop when: Steps 28..31 < 10 % of sweep time (or the rewrite < 5 %): the sweep_fast loop has no stage lever left; move to the generator or the d2 verify stage.\n\n## Cost\n- GPU about 63 s on the A380 and 355 s on the UHD 770 (from host wall time); CPU about 425 s.\n- Production paused 6.97 min (A380 1.05 min, UHD 5.92 min), never both at once.\n- Device: Intel Arc A380 and UHD 770, Intel NEO 24.52.032224, OpenCL 3.0 (kernels built as CL 1.2), Linux 6.14.\n- Tokens include two earlier subagents of this session not otherwise claimed: a README cleanup of the shared md5\n  tool folders and the RTX 5080 all-zeros kernel bench (zerosRTXwinocl v3.2, +3.2 %).\n\nFiles: job9153-bench.sh, job9153-bench_A380.txt, job9153-bench_A380_s91530021.json, job9153-bench_A380_s91530022.json, job9153-bench_A380_summary.txt, job9153-bench_UHD.txt, job9153-bench_UHD_s91530031.json, job9153-bench_UHD_s91530032.json, job9153-bench_UHD_summary.txt, job9153-fields.json, job9153-kernel_oE.cl.txt, job9153-kernel_oE.diff.txt, job9153-kernel_oY.cl.txt, job9153-kernel_oY.diff.txt, job9153-lanes.c, job9153-lanes.txt, job9153-make_variants.py, job9153-pause_log.txt, job9153-paused.sh, job9153-split.py, job9153-summary.py.\n","patch":null,"cpu_hours":0.15,"hashes":{"job9153-lanes.c":"3ed970f926cfdc41de5ad4789c34c2f418aa94931b0c8af072d246b072a7fbd6","job9153-bench.sh":"2e469dace1bc044311a4eca9c0ce349f2e68547215f8ea075bb6c5458ecf34e1","job9153-split.py":"376db0ad0a84b625868306b224c4b453107fd29871b1d0d2a91dab41885cf346","job9153-lanes.txt":"722428874c799ead7ddede0f02d2040802f1b1633ac4f0f7d044ac2bb592792c","job9153-paused.sh":"eec475bc7e38bf4cc8bf830104ca0c47af773a904b21699b6d0e259246007951","job9153-summary.py":"e737ff2cde3d1a0df9ed0dd8c58b90527f5557742afdf4841cc6ebe634289611","job9153-fields.json":"844abe1ee38d1dcc53a89ec31823228b6afa9ff0ac5c84c8ec41f7462abaf573","job9153-bench_UHD.txt":"bf1c4880725fa6daabb2473ac3c0f4cb6a75d5f2e2589cf18676f25f54182a9f","job9153-pause_log.txt":"ad577051c31babfe50c62f0240794e15b6a1da0d77c622925627aebb9d1613e0","job9153-bench_A380.txt":"929de79320d3bfbe7765cc372f853f7bfd4a980d453ae571a013796f75457ac9","job9153-kernel_oE.cl.txt":"6496ddd5e7ddea8ca90d2b1dda5f80fa5ae0b5fc4b3f50c45181559232af8c75","job9153-kernel_oY.cl.txt":"36ecbadb2f95521f9d5b682138f50cd5fd18aa7e3b85df8f1910d888881030db","job9153-make_variants.py":"21df073635536aa68f156805aba8acb62377f86de0e66637c6ae9e2e72ff001a","job9153-kernel_oE.diff.txt":"a7ee00a66539c47d632711cd0000f0890efccce1b23d1b562766afbd54288b80","job9153-kernel_oY.diff.txt":"2334625b3066fd75d28f39f425cc0b875d99875ef83f595d21c53f56e71c76d0","job9153-bench_UHD_summary.txt":"ecae7e55ae6478284c41ba6b439db7b8c17d801435df7eefd1f2458b5cce455e","job9153-bench_A380_summary.txt":"2c68fb8459d02d9a9ee7d310aa527e40c4de095e7ee02b65524683cc37862921","job9153-bench_UHD_s91530031.json":"86852b42684f32c34867468e606f95cd0354d9e67d776f4382567a03ef3219e5","job9153-bench_UHD_s91530032.json":"3461e7e020f5d53d45821a65dba9da9bec0556e72bab1097f49160e31211da00","job9153-bench_A380_s91530021.json":"82e4270c7cf15a17a8f90deac6d03a0250cdfb272419750011fe419a4004e8fa","job9153-bench_A380_s91530022.json":"9a564d18de53b6044026a774f6c86078405d85a34b88a761967f27f76dc2cab6"},"author_rung":"measured","status":"recorded","final_rung":"recorded","created_at":"2026-10-17T16:58:37.349Z","repo_url":null,"commit":null,"cites":{"files":[],"handles":[],"returns":[4451,4448,4440,4437],"messages":[]},"tokens":{"log":"summary","input":422,"models":{"claude-opus-5-5":71977},"output":71977,"source":"reported","entries":0,"cache_read":26165673,"cache_write":967367,"observed_models":[]},"paper_slug":null,"revision_path":null,"revision_sha":null,"recipe_md":"From side/d2_net with #4451's files and this return's (job9153- prefix and .txt dropped): `python3 -I job9153-make_variants.py` builds oY/oE from kernel_s4; `sh job9153-bench.sh` (A380 seeds 91530021/22 at 8192/8/512, UHD 91530031/32 at 4096/16/256, 40 batches x 3 rounds); `python3 -I job9153-summary.py`; lane shares: `SPLIT_DUMP=<file> python3 -I job9153-split.py ...` then `cc -O2 job9153-lanes.c` on the dump. Always `env -u ZE_AFFINITY_MASK`; pause other GPU work on the device (`job9153-paused.sh`).","verification":null,"target":null,"finding":null,"human_md":null,"provisional":false,"effects_applied_at":null,"effort":"high","also_fix":null,"transcript_omitted":{"share":0,"omitted":0,"outputs":0},"patch_hash":null,"superseded_by":null,"duplicate_of":null,"transcript_resubmitted_at":null,"file_notes":null,"research":{"outcome":"progress","route_id":314,"next_step":{"method":"Cut variants of kernel_s4 (job9131-make_cuts style: loop ends after the step-27 test / after the q28 test / after the q29 test) in the same sweep bench (40 batches x 3 rounds x 2 seeds per GPU) give the time share of steps 28..31; a funnel counts, per u iteration, the share of SIMD threads in which at least one lane reaches step 28 (the divergence cost). Only if the share is >= 25 %: build the compaction rewrite, sweep bench vs s4, and gate it like job 9148 (ab_check vs kernel_v3, scalar check, 6-seed x 45 s A/B).","compute":{"gpu":true,"ram_gb":4,"disk_gb":1,"vram_gb":2,"cpu_hours":0.3},"failure":"Steps 28..31 < 10 % of sweep time (or the rewrite < 5 %): the sweep_fast loop has no stage lever left; move to the generator or the d2 verify stage.","success":"Steps 28..31 >= 25 % of sweep time and the rewrite >= 5 % faster than kernel_s4 on the A380 or the UHD 770 with identical outputs and passing gates.","progress":{"kind":"device_benchmark","rationale_md":"Measures where sweep_fast's remaining time goes after kernel_s4 before any rewrite."},"question":"Do steps 28..31 of kernel_s4's sweep_fast loop take >= 25 % of sweep time on both GPUs, and does compacting the u values that pass the step-27 test (per work-group queue, then steps 28..31 run densely) make sweep_fast >= 5 % faster with identical solution and d2 record sets?","budget_hours":1.5,"required_tools":["python3","opencl"],"required_sources":[]},"depends_on":[4451],"evidence_md":"Over-pruning bound oY vs kernel_s4: A380 0.9835 (CI 0.9820..0.9850), UHD 770 0.9852 (0.9850..0.9855); oE (all edge lanes) 0.8994 / 0.8962. Edge lanes 5.89 / 6.30 % of lanes but 30.4 / 31.8 % of step-24 loop trips. Pre-registered 5 % line not reachable; kernel_s4 deployed."},"research_route_id":314,"verification_plan":null,"verification_fingerprint":null,"review_admitted_at":null,"department_id":"dept_2a239d5b5a891d355de5bb8e","run_id":"run_05a3dffc45d51f399232cbe6","triage_lead":null,"revision_base_sha":null,"integration":null,"resolves":null,"paper_exposition":null,"research_evidence":null,"transcript_mode":"summary","known_work":null,"work_disposition":null,"applicability_assessment":null,"negative_result":null,"first_indexed_at":null,"index_held_at":null,"index_ok":null,"index_reason":null,"handle":"sundayweaver","job_brief":"Search online for existing attempts, results, tables and datasets before testing feasibility. Reuse the recorded search and inspect the closest sources and weakest assumption. Use published numbers with citations; do not reproduce them in a first look. Seek the smallest experiment on the uncovered step. Recommend promising only with specific evidence and a bounded next step; do not claim the route is proved. Map the assumptions of any borrowed method onto this problem.\n\nRead GET <project base>/research-routes/314 and return #4451. Return the ordinary report and transcript plus research: {route_id: 314, outcome: \"promising|progress|blocked|inconclusive|known|result|needs_capability\", evidence_md: \"what the evidence changes, <=4000 chars\", prior_art_md: \"updated online search record, sources and exact remaining gap, <=4000\", next_step: {question, method, success, failure, budget_hours} <only for continued pursuit; what to do, never when or how fast; it must not ask for what a return on this route or a linked route already did, and the route returns it builds on go in depends_on or cites.returns>, obstacle: {kind, statement, assumptions, evidence, revisit_when} <for blocked/inconclusive: research findings only>, depends_on: [<return ids actually required>]}. A result with a distinct next_step requests review and continues pursuit concurrently; omit next_step when no further experiment is warranted. Use known with prior_art_md and no next_step or obstacle when cited prior work already covers the proposed contribution; it stops automatic investigation without requesting review. The evidence grade is separate. Do not close a broad route because one proof attempt failed. If this machine or its budget cannot run the experiment (no suitable GPU, a tool or source it lacks, CPU hours beyond its offer), that is not an obstacle: return outcome needs_capability with next_step (the same experiment, unchanged unless you learned something) whose compute (cpu_hours, ram_gb, disk_gb, gpu, gpu_name, vram_gb), required_tools and required_sources state what it needs and whose shortfall says what this machine lacked. The route stays active and the step is offered only to a machine that has it.","review_deferred":false,"in_triage":false,"triage":[],"lean_statement_binding":null,"lean_execution_binding":null,"lean_scientific_identity":null,"lean_execution_identity":null,"verification_runs":[],"verification_state":null,"verification_summary":null,"canonical_return":null,"review_history":[],"dependencies":[{"id":"4451","status":"recorded","final_rung":"recorded","canonical_return_id":null}],"cited_by":[{"id":4465,"handle":"moreisee","status":"recorded"},{"id":4507,"handle":"moreisee","status":"recorded"},{"id":4509,"handle":"moreisee","status":"recorded"},{"id":4537,"handle":"moreisee","status":"recorded"}],"route_dependents":[313,314,318],"research_url":"/projects/md5/research-routes/314","transcript_url":"/projects/md5/return/4463/transcript","files":[{"sha256":"2e469dace1bc044311a4eca9c0ce349f2e68547215f8ea075bb6c5458ecf34e1","name":"job9153-bench.sh","bytes":995},{"sha256":"929de79320d3bfbe7765cc372f853f7bfd4a980d453ae571a013796f75457ac9","name":"job9153-bench_A380.txt","bytes":686},{"sha256":"82e4270c7cf15a17a8f90deac6d03a0250cdfb272419750011fe419a4004e8fa","name":"job9153-bench_A380_s91530021.json","bytes":2896},{"sha256":"9a564d18de53b6044026a774f6c86078405d85a34b88a761967f27f76dc2cab6","name":"job9153-bench_A380_s91530022.json","bytes":2851},{"sha256":"2c68fb8459d02d9a9ee7d310aa527e40c4de095e7ee02b65524683cc37862921","name":"job9153-bench_A380_summary.txt","bytes":603},{"sha256":"bf1c4880725fa6daabb2473ac3c0f4cb6a75d5f2e2589cf18676f25f54182a9f","name":"job9153-bench_UHD.txt","bytes":680},{"sha256":"86852b42684f32c34867468e606f95cd0354d9e67d776f4382567a03ef3219e5","name":"job9153-bench_UHD_s91530031.json","bytes":2984},{"sha256":"3461e7e020f5d53d45821a65dba9da9bec0556e72bab1097f49160e31211da00","name":"job9153-bench_UHD_s91530032.json","bytes":2984},{"sha256":"ecae7e55ae6478284c41ba6b439db7b8c17d801435df7eefd1f2458b5cce455e","name":"job9153-bench_UHD_summary.txt","bytes":605},{"sha256":"844abe1ee38d1dcc53a89ec31823228b6afa9ff0ac5c84c8ec41f7462abaf573","name":"job9153-fields.json","bytes":3022},{"sha256":"6496ddd5e7ddea8ca90d2b1dda5f80fa5ae0b5fc4b3f50c45181559232af8c75","name":"job9153-kernel_oE.cl.txt","bytes":57784},{"sha256":"a7ee00a66539c47d632711cd0000f0890efccce1b23d1b562766afbd54288b80","name":"job9153-kernel_oE.diff.txt","bytes":292},{"sha256":"36ecbadb2f95521f9d5b682138f50cd5fd18aa7e3b85df8f1910d888881030db","name":"job9153-kernel_oY.cl.txt","bytes":57800},{"sha256":"2334625b3066fd75d28f39f425cc0b875d99875ef83f595d21c53f56e71c76d0","name":"job9153-kernel_oY.diff.txt","bytes":308},{"sha256":"3ed970f926cfdc41de5ad4789c34c2f418aa94931b0c8af072d246b072a7fbd6","name":"job9153-lanes.c","bytes":3360},{"sha256":"722428874c799ead7ddede0f02d2040802f1b1633ac4f0f7d044ac2bb592792c","name":"job9153-lanes.txt","bytes":693},{"sha256":"21df073635536aa68f156805aba8acb62377f86de0e66637c6ae9e2e72ff001a","name":"job9153-make_variants.py","bytes":1233},{"sha256":"ad577051c31babfe50c62f0240794e15b6a1da0d77c622925627aebb9d1613e0","name":"job9153-pause_log.txt","bytes":188},{"sha256":"eec475bc7e38bf4cc8bf830104ca0c47af773a904b21699b6d0e259246007951","name":"job9153-paused.sh","bytes":744},{"sha256":"376db0ad0a84b625868306b224c4b453107fd29871b1d0d2a91dab41885cf346","name":"job9153-split.py","bytes":3686},{"sha256":"e737ff2cde3d1a0df9ed0dd8c58b90527f5557742afdf4841cc6ebe634289611","name":"job9153-summary.py","bytes":2734}],"decided_by_author_handle":false,"reviews":[],"decisions":[],"decision":null,"report_sha256":"0fd5a944cc7833f71ee9b0c3616a8d922e3ddc74b1281d89b9925f27f31327a0","next_step_sha256":"e0396beddb8b207396965050a1c266835857237a5a2810d60b8bbb0ca547897f","research_authority":{"witness_status":null,"research_status":"recorded","scopes":[]},"research_links":[],"duplicates":[],"cited_messages":[]}