cuda编程学习(一)

基于cuda编程可以利用GPUs的并行计算引擎来更高效地解决比较复杂的计算问题。
GPU需要与CPU协同计算。可以看作是CPU的协处理器,因此,在说GPU并行计算时,其实指的是基于CPU+GPU的异构计算架构。
异构计算架构中,GPU与CPU通过PCle总线连接在一起协同工作。
CPU所在位置被称为主机端(host),GPU所在位置称为设备端(device)。

为什么使用GPU计算?
GPUs的并行计算引擎强大,大幅加快计算速度。
机器学习以及人工智能需要训练模型,需要大量的计算,特别是稠密矩阵向量计算,GPU可以快10倍以上。
基于GPU的并行计算已经成为训练深度学习模型的标配。

GPU与CPU的分工
GPU包括更多的运算核心,其特别适合数据并行的计算密集型任务。
CPU的运算核心较少,但是可以实现复杂的逻辑运算,因此适合控制密集型任务。
CPU上的线程时重量级的,上下文切换开销大。
GPU存在很多核心,线程是轻量级的。
基于GPU+CPU 的异构计算平台可以优势互补,CPU负责逻辑复杂的串行程序,而GPU重点处理数据密集型的并行计算程序。

GPU计算架构:
在这里插入图片描述
CUDA程序架构
在这里插入图片描述
专业术语:
SPA:Streaming Processor Array 流处理器阵列
TPC/GPC:Texture(Graphics) Processor Cluster 多个流处理器成为一个小组
SM:Streaming Multiprocessor(32SP)流多处理器
SP:Streaming processor或CUDA Core 流处理器


在这里插入图片描述
GPU的程序在执行的时候,网格的块映射到流多处理器时,最小单位按照block去做的,就是同一个block要映射到同一个流多处理器。
一个warp里面所有的线程要执行相同的指令,否则会有指令的分散,导致效率的降低。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值