GPU介绍

G P U 体 系 结 构 GPU体系结构 GPU

GPU的硬件结构,也不是具体的硬件结构,就是与CUDA相关的几个概念:thread,block,grid,warp,sp,sm。

sp: 最基本的处理单元,streaming processor 最后具体的指令和任务都是在sp上处理的。GPU进行并行计算,也就是很多个sp同时做处理

sm:多个sp加上其他的一些资源组成一个sm, streaming multiprocessor. 其他资源也就是存储资源,共享内存,寄储器等。

warp:GPU执行程序时的调度单位,目前cuda的warp的大小为32,同在一个warp的线程,以不同数据资源执行相同的指令。

grid、block、thread:在利用cuda进行编程时,一个grid分为多个block,而一个block分为多个thread.其中任务划分到是否影响最后的执行效果。划分的依据是任务特性和


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

什么是GPU计算

  • NVIDIA公司发布了CUDA,C它是建立在NVIDIA的CPUs上的一个通用并行计算平台和编程模型,基于cUDA编程可以利用GPUs的并行计算引擎来更加高效地解决比较复杂的计算难题。
  • GPU并不是一个独立运行的计算平台,而需要与CPU协同工作,可以看成是CPU的协处理器,因此当我们在说GPU并行计算时,其实是指的基于CPU+GPU的异构计算架构。
  • 在异构计算架构中,GPU与CPU通过PCle总线连接在一起来协同工作
  • CPU所在位置称为为主机端(host),而GPU所在位置称为设备端(device)

为什么使用GPU计算

  • GPUs的并行计算引擎强大,可以大幅度加快计算速度,例如15倍左右
  • 超级计算机使用加速器,例如天河, Summit
  • 机器学习以及人工智能需要训练模型,需要大量的计算,特别是稠密矩阵向量计算, GPU可以快十倍以上
  • GPU最成功的一个应用就是谍度学习领域,基于GPu的并行计算已经成为训练深度学习模型的标配。

CPU与 GPU分工与协作

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

在这里插入图片描述

在这里插入图片描述


语言选取

  • CUDA是NVIDIA公司所开发的GPU编程模型,它提供了GPU编程的简易接口,基于CUDA编程可以构建基于GPU计算的应用程序。
  • CUDA提供了对其它编程语言的支持,如C/C++,Python,Fortran等语言,这里我们选择CUDA
    C/C++接口对CUDA编程进行讲解。

编译器

在这里插入图片描述


CUDA工具

在这里插入图片描述

示例程序

在这里插入图片描述

GPU硬件架构综述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值