Feat: add initial HIP PSF backend
This commit is contained in:
1 parent
e48c490337
commit
7a80086f63
10 files changed
+512
-30
No files matched your search
@@ -138,8 +138,8 @@ GPU 后端必须先在小、固定 catalog snapshot 上同 CPU 的 `--psf-direct
|
||||
2. 记录每通道绝对/相对误差、最大像素误差、总 RGB/Y 通量差和事件统计。
|
||||
3. 单星(不同 phase、亮/暗、边缘和大 support)、稀疏场、密集重叠场各有测试。
|
||||
4. 验证 `--psf-relative-tail`、`--psf-min-y`、cache/direct fallback 的统计及图像语义一致。
|
||||
5. GPU 不可用、feature 不足、初始化失败或运行错误时,明确报告并回退 CPU;不得默默输出
|
||||
部分帧。
|
||||
5. 当用户显式选择 GPU 后端时,GPU 不可用、feature 不足、初始化失败或运行错误必须明确报错
|
||||
并终止该次渲染;不得回退 CPU 或默默输出部分帧。未选择 GPU 时,CPU 路径仍是独立基线。
|
||||
6. 以端到端 wall time 为准,同时记录 CPU 线程数、GPU、driver/runtime、块大小、分辨率、
|
||||
catalog snapshot、Git hash 和参数。
|
||||
|
||||
@@ -160,15 +160,21 @@ GPU 后端必须先在小、固定 catalog snapshot 上同 CPU 的 `--psf-direct
|
||||
可执行;它没有 cache 权重、双精度 HDR 或 production integration。其 `test-hip` target 和测试
|
||||
已移除,不能作为 renderer GPU backend 的验证或运行入口。
|
||||
|
||||
下一步是仅将现有 `PsfCachedEvent` 块与 `PsfKernelCache::weights` 接入 HIP:
|
||||
HIP direct-atomic 的当前实现状态:
|
||||
|
||||
1. 定义 production HIP sink 的 C ABI,上传 double event 与 immutable cache 权重,并复用
|
||||
device event/HDR buffer。
|
||||
2. 保持 CPU 对 direct fallback 的处理和提交顺序;每个 cache 事件仅在 HIP 端按现有 bilinear
|
||||
phase cache、圆形支持和 wing clip 规则累积到 double HDR。
|
||||
3. 用固定 catalog reference 比较 HDR RGB/Y、最大像素误差、总通量与统计;GPU atomic 的
|
||||
非确定加法顺序使用事先记录的容差,而非 bytewise 比较。
|
||||
4. 记录端到端基准的完整命令和原始输出:Git hash、CPU threads、GPU/runtime、块大小、上传、
|
||||
1. 已定义 production HIP sink 的 C ABI,上传 double event 与 immutable cache 权重,并复用
|
||||
device/HDR buffer。正式构建选项为 `PSF_BACKEND=cpu|hip`;HIP 选择会把该层链接到 renderer,
|
||||
而 CPU 选择不要求 HIP 工具链或 runtime。
|
||||
在 RX 9070(gfx1201)上,`make -B PSF_BACKEND=hip SPACETIME=minkowski hip-psf-test`
|
||||
的三事件重叠 cache 对照给出 `max_abs=3.4694469519536142e-18`、
|
||||
`max_rel=2.7555746842446215e-16`。
|
||||
2. 已接入 `frame` 的流式 sink。`PSF_BACKEND=hip` 使用单一 GPU double HDR framebuffer;
|
||||
cache 事件按 16,384 项块提交,仍使用既有 bilinear phase cache、圆形支持和 wing clip 规则。
|
||||
direct fallback 会完成前序 GPU 工作、在 CPU 计算、再上传 HDR 后继续,因而保持提交顺序。
|
||||
3. RX 9070 上的 640×360 固定 Minkowski catalog HDR 对照逐样本一致;含 2 个 cache 事件与
|
||||
1 个 direct fallback 的 `tests/data/hip_psf_mixed_catalog.csv` 场同样逐样本一致。GPU failure
|
||||
会打印阶段与 HIP 错误并令该帧返回失败,不会切换到 CPU backend。
|
||||
4. 待记录端到端基准的完整命令和原始输出:Git hash、CPU threads、GPU/runtime、块大小、上传、
|
||||
kernel、download、分辨率、catalog、PSF 及所有 fallback 统计。
|
||||
5. 只在 direct atomic profile 显示热点竞争是主要瓶颈时,比较 tile-local reduction;ATRI 的
|
||||
整帧收集/重排同样必须以端到端收益证明。
|
||||
|
||||
Reference in new issue
Block a user