3
我从CUDA读取由实施例,章节9.4,即在GPU全局存储器使用的原子操作时不正确,程序的性能可能比当在CPU纯粹执行,因为存储器存取争用的,会更糟。CUDA,全局内存或主机内存哪个更快?
最糟糕的情况是,在GPU上执行的程序是高度序列化的,没有线程并行执行,这只是单线程程序在CPU上运行的方式。所以关键的问题是程序访问内存的速度有多快。
考虑到我提到的书中的例子,CPU似乎比GPU访问设备上的全局内存更快地访问主机内存。
是这样吗?还是在我刚刚描述的情况下还有其他因素影响了节目的表现?
我想你应该提供更多的信息,因为这个问题是开放的。你能提供书中的示例代码吗? FWIW,Kepler GPU上的原子操作比Fermi GPU更快,特别是在许多线程原子地更新相同地址的昂贵情况下。这本书已经在GPU年代已经很老了...... – harrism 2012-07-12 03:10:43
也许我不应该提到'原子操作'...我只是想知道GPU如何运行与CPU不同的单线程代码,以及性能的差异。所以我认为下面的答案很好地解释了我所要求的。 – 2012-07-12 14:46:26