第一范文网 - 专业文章范例文档资料分享平台

CUDA显卡编程的架构及研究 - GPU与CPU的协同工作

来源:用户分享 时间:2025/9/30 23:50:25 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

CUDA显卡编程的架构及研究

因为这个程序只使用一个 thread,所以 block 数目、thread 数目都是 1。我们也没有使用到任何 shared memory,所以设为 0。编译后执行,应该可以看到执行的结果。

为了确定执行的结果正确,我们可以加上一段以 CPU 执行的程序代码,来验证结果:

sum = 0;

for(int i = 0; i < DATA_SIZE; i++) { sum += data[i] * data[i]; }

printf(\

- 24 -

CUDA显卡编程的架构及研究

总结:

使用显示芯片来进行运算工作,和使用 CPU 相比,主要有几个好处:显示芯片通常具有更大的内存带宽。例如,NVIDIA 的 GeForce 8800GTX 具有超过 50GB/s 的内存带宽,而目前高阶 CPU 的内存带宽则在 10GB/s 左右。 显示芯片具有更大量的执行单元。例如 GeForce 8800GTX 具有 128 个 \processors\,频率为 1.35GHz。CPU 频率通常较高,但是执行单元的数目则要少得多。和高阶 CPU 相比,显卡的价格较为低廉。例如目前一张 GeForce 8800GT 包括 512MB 内存的价格,和一颗 2.4GHz 四核心 CPU 的价格相若。 显示芯片的运算单元数量很多,因此对于不能高度并行化的工作,所能带来的帮助就不大。显示芯片目前通常只支持 32 bits 浮点数,且多半不能完全支持 IEEE 754 规格,有些运算的精确度可能较低。目前许多显示芯片并没有分开的整数运算单元,因此整数运算的效率较差。显示芯片通常不具有分支预测等复杂的流程控制单元,因此对于具有高度分支的程序,效率会比较差。目前 GPGPU 的程序模型仍不成熟,也还没有公认的标准。例如 NVIDIA 和 AMD/ATI 就有各自不同的程序模型。

整体来说,显示芯片的性质类似 stream processor,适合一次进行大量相同的工作。CPU 则比较有弹性,能同时进行变化较多的工作。

- 25 -

CUDA显卡编程的架构及研究 - GPU与CPU的协同工作.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c46pb81n8p15gf8w599g5_7.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top