浅谈cuda5.0新功能——warpshuffle
来源:互联网 发布:软件复杂度度量方法 编辑:程序博客网 时间:2024/06/05 11:50
warpshuffle 的具体定义可以在cuda C programming guide中被找到。
但是这一功能只能被sm30或者更高的显卡支持,具体原因涉及到了kepler和fermi之间的差别。 kepler在一个时钟周期内可以执行32个线程,也就是说在一个时钟周期内可以执行一个完整的warp, 但是fermi的每时钟周期执行能力只有kepler的一半,这就导致fermi不能同时对一个warp内的全部32个线程进行“洗牌”。
warpshuffle的最大意义在于,其可以帮助我们摆脱shared memory。 也就是说,在固定的register中,我们可以分配更多空间给cache 而不是shared memroy,从而可以显著地提高运算效率。
不过warpshuffle也存在弊端,那就是它只允许同一warp内的线程相互交换数据,不同warp间的数据传输仍需用到shared memory。
经个人实验证实,对于一个2048K的数据,运用warpshuffle可以将运算效率提高15%——25%。 这个结果非常惊人,也可以更直接的看出kepler的一些特质。那就是让更多的数据运算及传输在GPU上完成,从而大幅度提高效率。
- 浅谈cuda5.0新功能——warpshuffle
- CUDA5.0+MFC
- VS2010配置CUDA5.0
- VS2010中配置CUDA5.0
- CUDA5.0 + VS2010环境配置
- Ubuntu13.04安装CUDA5.0
- VS2010中配置CUDA5.0
- VS2010中配置CUDA5.0
- VS2010中配置CUDA5.0
- vs2010+cuda5.0+qt4.8
- CUDA5.0+VS2008+VisualAssist安装
- WPF SP1新功能—StringFormat
- CUDA5.0的安装过程linux
- CUDA5.0+VS2008+VisualAssist安装以及配置
- CUDA之VS2010中配置CUDA5.0
- win7+vs2008+cuda5.0环境配置
- iOS5.0新功能之——NSJSONSerialization解析JSON数据
- 学习笔记——XSLT2.0实用的新功能
- 关于Sequence中的Order选项 【基础】
- 用python和numpy读写将字符串或文件中的数据
- [转]php与memcached服务器交互的分布式实现源码分析[memcache版]
- 如何解决cuda 5.0 编译dynamic parallelism 功能代码时的 fatal error
- SAP ABAP OLE 操作EXCEL小结
- 浅谈cuda5.0新功能——warpshuffle
- 仅自己可见rman异机数据库恢复实例一则
- 应用还原的控制文件进行不完全恢复
- Java学习笔记(1):基本程序设计结构
- chmod 777 wiringpi.ini to control LED on Linux
- Shell(Bash) - PHP与Shell交互
- Spring global exception handling with standalone app
- Linux 通过cron定期执行 php文件
- Linux file permissions - 1.0