fullseye

op の GPU 化ロードマップ(E2E の本丸)

方針(ユーザー、2026-08-26)「op の GPU 化は E2E の本丸。他プロジェクトの土台としても効く」。 計画的・セッション横断で進めるための正本。GPU 実行 = loco venv(torch cu128 / RTX 5090)。 詳細所見 = docs/HIGHSPEED_VISION.md「op の GPU 化 = E2E の本丸」/ docs/GPU_OPTIMIZATION_PATTERNS.md。

到達点(2026-08-26)

★データ駆動の wave 優先度(2026-08-26、accel_bridge.report_champions 実測)

現状 champion 実 op のうち GPU 稼働は 4/38 段のみ(threshold×2 / median / percentile)。 残りは全て CPU。ランダムに op を足すのでなく、進化が実際に選ぶ op を頻度順で GPU 化する:

未対応 op(群) 登場 champion GPU 化の効き 難度
volume 群 vol_median/vol_gaussian/vol_erode/vol_dilate/vol_threshold 完了 2026-08-26 vol_count 5/5・vol_denoise 4/4(100% GPU、~64x) 済(accel_vol.py)
illuminate 完了 edge, locate, locate_rot 済(bit-exact) 済(accel.py symmetric conv)
ncc_locate 完了 locate, locate_rot(100% GPU、4-6x) 済(位置 Δ=0) 済(accel_match.py)
領域モルフォロジ reg_dilate/erosion_golay/opening_circle 完了 binarize/count 5/6 GPU(3-5x、Δ=0) 済(bit-exact) 済(accel.py conv2d 二値)
backend 固有 sk_tv/cv_sharpen/simulate_defocus/xsitk_/xcv_/sk_scharr/gdilate 各 1
projective_trans_region(幾何) binarize, count 5/6→6/6 の最後の 1 wave2(order3 spline でブロック中)
decode_barcode / xcv2_lap_var / xsitk_closing_by_recon 各 1(barcode/classify) 低(feature 終端) 中〜高

教訓(honest): 「champion 頻度」≠「E2E レバレッジ」。pipeline を丸ごと GPU にできる塊(volume / locate / binarize-count 一族)が高レバレッジ。illuminate は edge では CPU op 島で低レバレッジだった。高レバレッジな塊はほぼ回収済。残りは (a) projective_trans_region(幾何=wave2 の order3 spline を解けば binarize/count が 6/6)、(b) backend 固有 op(各 1 champion=低レバレッジ・高難度)、(c) fullseye API device 引数(公開層で GPU 経路を通す=横展開)。次の実質前進は (c) or (a)。

2026-08-31 更新(Batch 0〜3)

2026-08-31 敵対レビュー第 2 波(P1〜P7)と修正

同日の敵対的検証(3 視点並列)が Batch 0〜3 に残る欠陥を発見 → 全て修正済み:

設計原則(honest parity gate)

波(waves)—— 各 op = 実装(LLM)→ parity 検証 → bench → 登録

E2E 統合(本丸の仕上げ)

Afterman トラック(集団評価を GPU バッチで)

検証ゲート(各 wave 完了の定義)

  1. py -3.11 accel.py(CPU parity)+ loco accel.py --device cuda(GPU parity)で faithful 数を確認。
  2. bench.py --device cuda で新 op のスループットを記録(honest: CPU 比、負ける op も明記)。
  3. 影響テスト green(tests/test_accel_pipeline.py ほか)。
  4. この doc の該当波にチェック + HIGHSPEED_VISION.md に実測追記。

進め方(計画的・セッション横断)