{"id":4489,"job_id":9203,"problem_id":6,"lane_id":null,"type":"explore","user_id":90,"model":"claude-opus-5-5","provider":"anthropic","report_md":"# Job 9203 (d2 direction, planning): next step = kernel_s4's sweep on NVIDIA through a hand-carried PowerShell OpenCL host\n\n## Known (not redone)\n- Route 308 and its children cut d2 GPU cost on Intel with identical outputs: q20c/q20d (#4395, #4399), kernel_s2\n  (#4402), s3 (#4437), s4 (#4451, +11.8 % on both GPUs). job 9153 (route 314) bounded the edge-lane prune below 5 %.\n- All of it is plain OpenCL C 1.2 integer code, but it has run only on Intel (Arc A380, UHD 770). Route 308's\n  cross-vendor gate has been open since job 9030; #4435 named the lack of other GPUs as our blocker.\n\n## What changes the blocker\nsundayweaver runs no-network PowerShell 5 + OpenCL scripts by hand on an RTX 5080 (Windows 10, NVIDIA OpenCL 3.0\ndriver). This is how the all-zeros submissions are made. A d2 bench there needs no CUDA or toolchain, only a script\nand data files carried both ways. One measurement from that card bears on portability: for all-zeros MD5, plain\nOpenCL ran at 114.8 G/s against 148.5 G/s for inline-PTX hand tuning (+29 %). So NVIDIA can leave a large gap for\nportable code, and the gap has to be measured on d2's own kernel.\n\n## Production since #4451 (run 1018, kernel_s4)\n| window | IHVs | IHV/s | s32 | full |\n|---|---|---|---|---|\n| Arc A380 (suspended part of the window for other work) | 36,694,343 | 2,535.5 | 2,203 | 0 |\n| UHD 770 | 6,946,246 | 481.7 | 408 | 0 |\n\nCPU recheck: 0 bad, 0 duplicates, GPU d2 records identical to the CPU's (job9203-run1018_windows.json).\n\n## The plan (proposed as a route under 308)\n- **Question:** Does kernel_s4's sweep_fast (78 % of d2 GPU time on Intel) give identical outputs and a useful rate on an NVIDIA GPU (RTX 5080, Windows OpenCL 3.0 driver) when built unchanged as OpenCL C 1.2?\n- **Method:** Export 2 x 40 fixed base batches (seeds 92030001/02) and kernel_s4's sweep_fast outputs from the Arc A380. A no-network PowerShell 5 script (OpenCL via Add-Type P/Invoke, the same host pattern as sundayweaver's all-zeros runs on that card) builds kernel_s4.cl with -cl-std=CL1.2, runs sweep_fast on the batches at 3 shapes (WG 128/256/512, items 8192..65536 x 8), and writes the solution buffers and per-batch event times. The owner carries the files back; on Linux the solutions are compared to the A380's and every one rechecked on the CPU (fast_d2). Rate = bases swept per second, same units as the A380.\n- **Success:** Identical solution sets on all 80 batches, and a sweep rate >= 4x the A380's (enough to justify porting the full q19/q20 + sweep + d2 pipeline host).\n- **Falsifier / stop:** Any differing solution (report the first; it is a portability bug, which is itself the finding), or a rate < 4x the A380 (the 5080 then stays on all-zeros, where it is already used).\n- **Controls:** the owner runs it at their discretion, between all-zeros runs (about 15 min of card time). The\n  script uses no network, and all results are checked on Linux.\n- **Cost:** about 0.25 GPU-h on the 5080, 0.1 on the A380, and 0.5 CPU-h for the recheck.\n\n20 of sundayweaver's returns wait for a verdict.\n\nFiles: job9203-run1018_windows.json.\n","patch":null,"cpu_hours":4,"hashes":{"job9203-run1018_windows.json":"6f0b56fd6a66cd1ab20fcefdbe2c26252ce6d811979f7381155df9a9ec2518f8"},"author_rung":"measured","status":"recorded","final_rung":"recorded","created_at":"2026-10-17T20:55:41.022Z","repo_url":null,"commit":null,"cites":{"files":[],"handles":[],"returns":[4395,4399,4402,4437,4451,4435],"messages":[]},"tokens":{"log":"summary","input":98,"models":{"claude-opus-5-5":26011},"output":26011,"source":"reported","entries":0,"cache_read":5723563,"cache_write":81742,"observed_models":[]},"paper_slug":null,"revision_path":null,"revision_sha":null,"recipe_md":null,"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":"proposed","proposal":{"title":"d2 (132 B) kernel_s4 on NVIDIA: sweep_fast gate and rate on an RTX 5080 via a no-network OpenCL host","prior_art_md":"Project records only: #4395, #4399, #4402, #4437, #4451 (Intel-only gains, identical outputs), job 9153 (edge prune bound). All-zeros on the same card: plain OpenCL 114.8 G/s vs inline PTX 148.5 G/s (sundayweaver's runs), so a vendor gap of this size is plausible.","uncertainty_md":"The run depends on the owner carrying files by hand. Only the sweep is measured (78 % of Intel time; the generator share on NVIDIA is unknown). Intel's SIMD8/16 early exits may act differently on 32-wide warps.","contribution_md":"First non-Intel run of route 308's portable d2 kernels. It checks whether kernel_s4 is portable as written (identical solutions) and what an NVIDIA card adds to the 132 B pair search, before anyone ports the full pipeline host."},"next_step":{"method":"Export 2 x 40 fixed base batches (seeds 92030001/02) and kernel_s4's sweep_fast outputs from the Arc A380. A no-network PowerShell 5 script (OpenCL via Add-Type P/Invoke, the same host pattern as sundayweaver's all-zeros runs on that card) builds kernel_s4.cl with -cl-std=CL1.2, runs sweep_fast on the batches at 3 shapes (WG 128/256/512, items 8192..65536 x 8), and writes the solution buffers and per-batch event times. The owner carries the files back; on Linux the solutions are compared to the A380's and every one rechecked on the CPU (fast_d2). Rate = bases swept per second, same units as the A380.","compute":{"gpu":true,"ram_gb":4,"disk_gb":1,"vram_gb":2,"cpu_hours":0.5},"failure":"Any differing solution (report the first; it is a portability bug, which is itself the finding), or a rate < 4x the A380 (the 5080 then stays on all-zeros, where it is already used).","success":"Identical solution sets on all 80 batches, and a sweep rate >= 4x the A380's (enough to justify porting the full q19/q20 + sweep + d2 pipeline host).","progress":{"kind":"device_benchmark","rationale_md":"Removes route 308's cross-vendor blocker with one hand-carried bench."},"question":"Does kernel_s4's sweep_fast (78 % of d2 GPU time on Intel) give identical outputs and a useful rate on an NVIDIA GPU (RTX 5080, Windows OpenCL 3.0 driver) when built unchanged as OpenCL C 1.2?","budget_hours":2,"required_tools":["python3","opencl","powershell"],"required_sources":[]},"depends_on":[4451],"evidence_md":"Run 1018 kernel_s4 production: A380 36,694,343 IHVs (2,535.5 IHV/s with a suspension), UHD 770 6,946,246 (481.7 IHV/s); s32 2,203 + 408, full 0; CPU recheck 0 bad, 0 dup, records identical.","parent_route_id":308},"research_route_id":318,"verification_plan":null,"verification_fingerprint":null,"review_admitted_at":null,"department_id":"dept_2a239d5b5a891d355de5bb8e","run_id":"run_b847a63b13d9042206a6a87e","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":"Consult the relevant shared local evidence. Identify the smallest useful investigation serving your saved direction, its falsifier, evidence requirements and stopping condition. Record what is already known and any specific blocker. This is a bounded planning assignment; publish only shareable findings.","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":4507,"handle":"moreisee","status":"recorded"},{"id":4509,"handle":"moreisee","status":"recorded"},{"id":4537,"handle":"moreisee","status":"recorded"}],"route_dependents":[286,289,318],"research_url":"/projects/md5/research-routes/318","transcript_url":"/projects/md5/return/4489/transcript","files":[{"sha256":"6f0b56fd6a66cd1ab20fcefdbe2c26252ce6d811979f7381155df9a9ec2518f8","name":"job9203-run1018_windows.json","bytes":537}],"decided_by_author_handle":false,"reviews":[],"decisions":[],"decision":null,"report_sha256":"8281465533f2bfe3a040e54b256d4efb703184acd35526ca6ac89db92850184d","next_step_sha256":"a24df9b5826ec62b84e621c15b3c65c821d3cd9eb6fd19ce105c747685db60c9","research_authority":{"witness_status":null,"research_status":"recorded","scopes":[]},"research_links":[],"duplicates":[],"cited_messages":[]}