候補は幾何変換・特徴・計測・周波数・分解系を優先し、scikit-image/OpenCV の包み (xsk_* / sk_* / cv_*)は本体が CPU ライブラリなので対象外とした。
各候補: torch 実装 → parity()(内部差 < 5e-3)→ loco(RTX 5090)で実寸 bench。
採否は 実寸の倍率で決める(小画像で負けても実寸で意味のある倍率なら採用。閾値 5.0x)。parity が 5e-3 を超えた候補と、実寸でも CPU に勝てない候補は登録しない。
| op | 族 | parity 内部差 | 512^2 x100 CPU/GPU s (倍率) | 2048^2 x50 CPU/GPU s (倍率) | 採否 | 理由 |
|---|---|---|---|---|---|---|
corner_response |
edges/feature | 1.10e-06 | 2.0/0.09 (22.9x) | 24.0/1.36 (17.6x) | 採用 | 実寸 2048^2 で 17.6x(小画像 512^2 は 22.9x) |
anisotropic_diffusion |
smoothing(iterative) | 3.48e-07 | 13.9/0.10 (145.3x) | 115.7/0.80 (144.1x) | 採用 | 実寸 2048^2 で 144.1x(小画像 512^2 は 145.3x) |
bandpass_image |
frequency | 1.85e-07 | 2.6/0.07 (39.1x) | 26.8/0.55 (48.9x) | 採用 | 実寸 2048^2 で 48.9x(小画像 512^2 は 39.1x) |
binomial_filter |
smoothing | 1.01e-07 | 0.3/0.06 (5.2x) | 4.1/0.52 (8.0x) | 採用 | 実寸 2048^2 で 8.0x(小画像 512^2 は 5.2x) |
dc_local_contrast_norm |
decomposition | 1.46e-06 | 1.5/0.06 (25.3x) | 16.8/0.80 (21.0x) | 採用 | 実寸 2048^2 で 21.0x(小画像 512^2 は 25.3x) |
abs_image |
arithmetic | 2.98e-08 | 0.2/0.06 (3.6x) | 1.6/0.50 (3.1x) | 不採用 | 実寸でも 3.1x 止まり(メモリ律速、登録しない) |
cos_image |
arithmetic | 2.60e-07 | 0.5/0.06 (9.2x) | 4.2/0.48 (8.8x) | 採用 | 実寸 2048^2 で 8.8x(小画像 512^2 は 9.2x) |
companding_mu_law |
gray | 1.42e-07 | 0.8/0.06 (14.1x) | 6.8/0.54 (12.6x) | 採用 | 実寸 2048^2 で 12.6x(小画像 512^2 は 14.1x) |
corner_response — 実寸 2048^2 で 17.6x(小画像 512^2 は 22.9x)anisotropic_diffusion — 実寸 2048^2 で 144.1x(小画像 512^2 は 145.3x)bandpass_image — 実寸 2048^2 で 48.9x(小画像 512^2 は 39.1x)binomial_filter — 実寸 2048^2 で 8.0x(小画像 512^2 は 5.2x)dc_local_contrast_norm — 実寸 2048^2 で 21.0x(小画像 512^2 は 25.3x)cos_image — 実寸 2048^2 で 8.8x(小画像 512^2 は 9.2x)companding_mu_law — 実寸 2048^2 で 12.6x(小画像 512^2 は 14.1x)abs_image — 実寸でも 3.1x 止まり(メモリ律速、登録しない)ops.RT[op] を画像 1 枚ずつ、float64)。前生成した同じ画像で測り、乱数生成は時間に含めない。accel.run_batch と同じ経路)。cos_image / companding_mu_law)の倍率はこの床と CPU の float64 逐次処理の比であり、計算の勝ちではない。常駐パイプライン(run_pipeline)の中では転送が償却され、pointwise op のコストはほぼ 0 になる。docs/perf/logs/d_bench.log。寸法ごとの CPU は 512² で 10 枚、2048² で 3 枚を実測し N に線形(同一寸法内の枚数方向のみ)。derivate_gauss(edges): scipy の order=1 ガウス微分核の重み計算を torch で逐語再現する必要があり、この便では parity 未確認のため計測しなかった(次便の候補)。affine_warp / affine_trans_image(geometry): 下記のとおり画素一致 5e-3 が原理的に満たせず対象外。cv_* / sk_* / xsk_*: 本体が OpenCV / scikit-image(CPU ライブラリ)の包みなので対象外。clahe(gray): タイル分割 + 双線形ブレンドの逐語再現が大きく、この便では着手しなかった。幾何ワープ系(affine_trans_image など)は ndimage の 3 次スプライン補間 vs grid_sample 双線形で画素一致 5e-3 を満たせない(既存 projective_trans_region と同じ理由)ため、この便では候補から外した(採否は IoU/count 指標が要る別枠)。