CUDA 4.0比3.2更快吗?
我对添加CUDA 4.0不感兴趣,而是知道如果我使用CUDA 4.0,内存分配和传输速度会更快。
感谢CUDA 4.0 vs 3.2
回答
内存分配和转移更多的依赖(如果不是全部)的硬件功能(更高效的流水线,高速缓存的大小),而不是CUDA的版本。
是的,我已经跑〜10%的速度曾经是相当可观的应用程序切换我从3.2到4.0。这是没有任何代码更改以利用新功能。
我也有一个GTX480,如果有任何问题。
注意,性能提升可能是由于这样的事实,我使用的开发驱动程序的新版本(升级时自动安装)。我认为nVidia很可能会像CUDA这样的重磅游戏一样对CUDA性能进行调整。
即使在对CUDA 3.2,您可以安装CUDA 4.0驱动程序(270.x) - 驱动程序是向后兼容的。所以除了重新编译应用程序之外,您可以测试它。确实存在影响运行时性能的驱动程序级优化。
虽然通常已经在Linux上工作得很好,我已经注意到MacOSX上一些麻烦。
答案是肯定的,因为CUDA 4.0降低系统内存占用和CPU的memcpy()开销
也许愚蠢的问题,但独立于设备的计算能力?也就是说,对于所有的硬件产品? – Bart 2011-05-07 19:42:02
内存分配的性能主要取决于主机平台(因为驱动程序的型号而异)和驱动程序的实现。对于大量的设备内存,分配性能不可能因CUDA版本而异;对于较小的金额(比如小于128K),驱动程序子分配器中的策略更改可能会影响性能。
对于固定的内存,CUDA 4.0是一个特例,因为它引入了UVA能力的系统中的一些重大的政策变化。首先,在初始化时,驱动程序会进行一些巨大的虚拟地址预留。其次,所有固定内存都是可移植的,因此必须映射到系统中的每个GPU。
性能的PCI Express转移的主要是平台的神器,而且通常没有太多的开发者能够做到控制它。 (对于小型CUDA memcpy,驱动程序开销可能因CUDA版本而异。)一个问题是,在具有多个I/O集线器的系统上,非本地DMA访问遍及HT/QPI链接,因此速度要慢得多。如果您的目标是这样的系统,则使用NUMA API将内存分配(和线程)引导到GPU所插入的同一CPU上。
- 1. CUDA 4.0运行时问题
- 2. Upgrade Rails 3.2 to 4.0
- 3. CUDA 4.0 - cudaHostUnregister很慢
- 4. 将Cuda 4.0项目更新到Cuda 4.2
- 5. CUDA 5.0希望来自CUDA 4.0的libcudart?
- 6. OpenGL Shader vs CUDA
- 7. 迁移的Rails 3.2→4.0
- 8. CUDA 4.0 SDK丢失文件?
- 9. cutil.h CUDA 4.0中的CUT_SAFE_CALL
- 10. Adobe Flex 4.0 vs Silverlight 4.0
- 11. easy_install-3.2.exe vs easy_install.exe?
- 12. Namedpipe:C++ vs .NET 4.0
- 13. SQL CE 4.0 VS
- 14. float vs int in cuda
- 15. x64 vs x86 for CUDA
- 16. CUDA运行时错误4 - 显示了更新后的CUDA 3.2 CUDA4
- 17. 3.2 OpenCV的支持CUDA蟒蛇
- 18. XCode GCC-4.0 vs 4.2
- 19. ASP.NET 4.0 vs ASP.NET MVC
- 20. KO 3.2 - 库vs帮手
- 21. iOS 3.2/4.0上的多个MPMoviePlayerControllers
- 22. Webview与Android 4.0和3.2的问题
- 23. iphone sdk 3.2到4.0笔尖编辑
- 24. JavaConfiguration对Spring 4.0 +安全3.2 + j_spring_security_check
- 25. 升级弹簧从3.2到4.0
- 26. YDL.net的Eclipse CUDA插件已准备好用于CUDA 4.0
- 27. CUDA vs OpenCL性能对比
- 28. CUDA中float(0.0)vs 0.0f
- 29. cuda 4.0中的多个内核
- 30. 如何cuda 4.0支持递归
本声明(7票和全部)相当具有误导性。存储器分配的速度对平台有很大的依赖性;在具有多个GPU的64位具有UVA功能的系统上,CUDA 4.0上的固定分配将花费更长的时间,因为它们可自动移植(即映射到所有GPU)。 – ArchaeaSoftware 2011-09-24 17:53:08
@ArchaeaSoftware您是否认为CUDA 4.0在上述设置*下生成的代码效率低于CUDA 3.2 *?如果是这样,我会更新;如果没有,那么这就是我的答案已经在说... – 2011-09-25 09:22:06
我的评论涉及内存分配而不是传输性能。内存分配性能更多地取决于主机平台和CUDA实现的“硬件功能(更高效的管道,缓存大小)”。由于CUDA 4.0将可移植固定内存设置为支持UVA的系统的默认设置,因此在多GPU系统上分配固定内存绝对速度较慢。 – ArchaeaSoftware 2011-09-26 13:19:46