GPU 初理解

GPU = 显存 + 计算单元

1、显存(Global Memory):显存是在GPU板卡上的DRAM,类似于CPU的内存,就是那堆DDR啊,GDDR5啊之类的。特点是容量大(可达16GB),速度慢,CPU和GPU都可以访问。
2、计算单元(Streaming Multiprocessor, SM):执行计算的。每一个SM都有自己的控制单元(Control Unit),寄存器(Register),缓存(Cache),指令流水线(execution pipelines)。

image-20190505194400541.png

CUDA core也叫Streaming Processor(SP),SM和SP一个意思

DP Unit:双精度核心

GP100里,每一个SM有两个SM Processing Block(SMP),里边的绿色的就是CUDA Core,CUDA core也叫Streaming Processor(SP),这俩是一个意思。每一个SM有自己的指令缓存,L1缓存,共享内存。而每一个SMP有自己的Warp Scheduler、Register File等。要注意的是CUDA Core是Single Precision的,也就是计算float单精度的。双精度Double Precision是那个黄色的模块。所以一个SM里边由32个DP Unit,由64个CUDA Core,所以单精度双精度单元数量比是2:1。LD/ST 是load store unit,用来内存操作的。SFU是Special function unit,用来做cuda的intrinsic function的,类似于__cos()这种。

CUDA Core

image-20190505194927593.png

包括控制单元Dispatch Port、Operand Collector,以及浮点计算单元FP Unit、整数计算单元Int Unit,另外还包括计算结果队列。当然还有Compare、Logic、Branch等。相当于微型CPU。

GPU内存架构

GPU架构

越靠近SM的内存就越快。

  1. L1 Cache:Pascal架构上,L1 Cache和Texture已经合为一体(Unified L1/Texture Cache),作为一个连续缓存供给warp使用。
  2. L2 Cache:用来做Global Memory的缓存,容量大,给整个GPU使用。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. CPU vs. GPU 1.1 四种计算机模型 GPU设计的初衷就是为了减轻CPU计算的负载,将一部分图形计...
    王侦阅读 21,054评论 3 20
  • 原文链接 最近在 iOS 开发中做了较多动画相关的编程工作。因此想借此机会深入了解了一下 iOS 动画及渲染相关原...
    baochuquan阅读 11,952评论 2 15
  • 前言 (这篇文章是我本人很早之前发在百度贴吧的,所以完全不存在侵权问题。最近感觉需要存档一下,万一哪天贴吧倒掉了呢...
    LittleMagic阅读 3,807评论 1 5
  • 深夜,窗外能见度还是很低,气息和雾霾稀释在一起,分不清。多想让呼吸把温暖传递给在远方的朋友,不知道你是否还是一如既...
    安xi帅的冢阅读 211评论 0 0
  • 蝶水月秋千阅读 165评论 0 0