CUDA并行计算——1.Introduction

这个系列是对CUDA并行计算课程的复习回顾,主要用作个人复习之用,难免有很多疏漏之处,错误的地方请在评论区指出,谢谢。

教材:Programming Massively Parallel Processors A Hands-On Approach 第3版

课程参照:伊利诺伊大学ECE408

下方是胡文美教授讲授ECE408的配套资源网页:Home Pagehttp://gputeachingkit.hwu.crhc.illinois.edu/

1.CPU与GPU区别

 主要区别在于:

  • CPU(latency-oriented design):面向延迟的设计
  • GPU(throughput-oriented design):面向吞吐量的设计

 总结:串行->CPU,并行->GPU

所以在后文将会提到一个概念:异构并行计算

对于具有一个或很少线程的程序,具有较低操作延迟的CPU可以实现比GPU高得多的性能。当程序有大量线程时,具有更高执行吞吐量的GPU可以实现比CPU高得多的性能。

举例

下图中将一个桃子视为一个应用程序,“桃子的核”指的是这个应用程序中sequential的代码,假如想要将并行计算应用于这些部分,就会像咬到桃子的核一样感觉不太好。这些部分往往很难并行化,但CPU非常擅长处理这些部分。好消息是,这些部分虽然占据了很大一部分代码,但往往只占应用程序执行时间的一小部分。

剩下的就是我们所说的“桃肉”部分,这些部分很容易并行化。CUDA编程模型旨在覆盖更大的桃子肉部分。在实际工程中,其实也是如此,我们的目标是找到能够并行的部分,再对能够并行的代码进行并行计算,而不是关注“桃子的核”部分能否并行实现。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值