Parallel processing 现代GPU(如Fermi/Evergreen)是否支持无序执行?
我正在写一个OpenCL内核,它在一个循环中包含了一些障碍。我在CPU(8核FX8150)上测试了内核,结果显示这些障碍将运行速度降低了50~100倍(我通过使用多线程+CyclicBarrier在Java上重新实现内核进一步验证了这一点)。我怀疑原因是屏障基本上阻止了CPU利用无序执行的优势,所以我有点担心如果我在GPU上观察到同样大小的速度下降。我查阅了一些官方文件,在谷歌上搜索了一下,但是关于这个话题的信息很少 英伟达的下一代Parallel processing 现代GPU(如Fermi/Evergreen)是否支持无序执行?,parallel-processing,cpu,gpu,Parallel Processing,Cpu,Gpu,我正在写一个OpenCL内核,它在一个循环中包含了一些障碍。我在CPU(8核FX8150)上测试了内核,结果显示这些障碍将运行速度降低了50~100倍(我通过使用多线程+CyclicBarrier在Java上重新实现内核进一步验证了这一点)。我怀疑原因是屏障基本上阻止了CPU利用无序执行的优势,所以我有点担心如果我在GPU上观察到同样大小的速度下降。我查阅了一些官方文件,在谷歌上搜索了一下,但是关于这个话题的信息很少 英伟达的下一代 CUDA计算与图形体系结构,代号为“Fermi”: 具有以下功
CUDA计算与图形体系结构,代号为“Fermi”: 具有以下功能(第5页)
- 应用程序上下文切换速度提高10倍
- 并发内核执行
- 无序线程块执行:)
- 双重叠内存传输引擎
目前最先进的GPU是有序的流水线处理器。GPU通过交错来自不同扭曲(波前)的指令有效地填充管道。相比之下,CPU使用无序推测执行来填充管道。有不同的功能单元,如ALU和SFU,它们具有分离的管道。但请注意,指令依赖性会阻碍扭曲。有关在GPU上解析指令依赖关系的更多信息,请参阅 当然有。您应该通过代码将fpu计算所花费的时间进行非均匀分割,这样它可以在同时进行浮点运算的同时进行整数计算time@tuğrulbüyükıkık谢谢。你能给我指一份证实这一点的官方文件(供参考)吗?