【发布时间】:2020-07-22 00:59:19
【问题描述】:
[branch] attribute can mark an if statement in HLSL to make it execute only one branch 代替所有分支并丢弃结果,就像使用 [flatten] 时一样。
我的问题是,当分支与经线/波前发散时,这实际上如何工作?据我所知,在这种情况下,所有线程都必须执行 warp 中的任何线程所采用的所有分支(例如使用 [flatten] 时),这是事实的结果,它们都在同一个 SIMD 块中并且必须执行相同的指令。
【问题讨论】:
标签: multithreading if-statement gpu directx hlsl