Loading...
最近在做 NeuralViz 项目,遇到了一些 WebGPU Compute Shader 的��题想讨论一下。
具体是在处理大型张量时,workgroup size 的选择对性能影响很大,不知道大家有没有经验分享?
3 条回复
workgroup size 建议从 64 开始测试,然后根据你的数据维度调整。如果是一维数组操作,64-256 通常比较高效。GPU occupancy 是关键指标。
同意 Sam 的建议!另外记得用 GPU timestamp queries 测量每个 dispatch 的实际时间,比猜测靠谱多了。Chrome DevTools 的 WebGPU 面板也很好用。
感谢回复!已经试了 128,确实有提升。另外发现 bindgroup 频繁切换也是一个开销,尽量合并 uniform buffer。
登录后参与讨论
立即登录