【CUDA学习】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本身的硬件特性。
下面几张硬件结构简图 便于理解(图片来源于网上)
以上两图可以清晰地表示出sm与sp的关系。
此图反应了warp作为调度单位的作用,每次GPU调度一个warp里的32个线程执行同一条指令,其中各个线程对应的数据资源不同。
上图是一个warp排程的例子。
一个sm只会执行一个block里的warp,当该block里warp执行完才会执行其他block里的warp。
进行划分时,最好保证每个block里的warp比较合理,那样可以一个sm可以交替执行里面的warp,从而提高效率,此外,在分配block时,要根据GPU的sm个数,分配出合理的
block数,让GPU的sm都利用起来,提利用率。分配时,也要考虑到同一个线程block的资源问题,不要出现对应的资源不够。
【CUDA学习】GPU硬件结构相关推荐
- CUDA学习:GPU硬件连接模型
CUDA学习:GPU硬件连接模型 一.基本的CPU与GPU连接模型 CPU与GPU之间的连接是通过PCI-Express总线进行连接的.GPU不是一个独立运行的平台而是CPU的协处理器.因此,GPU必 ...
- GPU硬件结构和编程模型(源于nvidia的CUDA文档)
GPU的硬件结构 GPU通过一个可扩展的多线程流式多处理器(SMs)构建.一个multiprocessor可以在同一时间处理上百个线程.为了管理这些线程,使用一个特殊的结构SIMT.利用单线程中指令级 ...
- GPU硬件结构和程序具体参数设置
目录 1.CUDA程序Thread的基本结构 3.单指令多线程架构(SIMT, Single Instruction Multi Thread) 4.硬件多线程(Hardward Multithrea ...
- CUDA笔记--GPU的结构与SM(流处理器)结构
GPU的结构简单的可以分为: 一个连接GPU和PCIe总线的主机接口: 0~2个复制引擎: 一个连接GPU与GPU内存设备的DRAM接口: 一定数目的TPC或者GPC(纹理处理集群或图形处理集群),每 ...
- CUDA GPU内存结构
了解CUDA编程首先必不可少的,需要熟悉英伟达GPU的内存分布,如下图: 整体内存结构按照层次划分,和OpenCL类似: SM:流处理器簇,为GPU的对小硬件调度单位,一次性可以调度多个SP SP:G ...
- CUDA和cuDNN到底是啥关系?(cuDNN是基于CUDA的深度学习GPU加速库)
1.什么是CUDA CUDA(ComputeUnified Device Architecture),是显卡厂商NVIDIA推出的运算平台. CUDA是一种由NVIDIA推出的通用并行计算架构,该架构 ...
- 学习型红外遥控器硬件结构说明
本篇文章上接:智能家居中红外遥控芯片分析比较 2 硬件结构 学习型红外遥控器由红外一体化接收电路. 反相器.温度传感器.AT89C52单片机.红外发送电路.E PROM存储器.键盘及 LCD显示器和 ...
- Linux驱动学习--linux以太网驱动及硬件结构介绍(结合gmac项目分析)
目录 1.引言 2.以太网硬件结构 3.以太网驱动分析(结合gmac项目) 3.1 dts节点分析 3.2 gmac驱动源码分析(open 收发包机制简要分析) 一.引言 最近在Android项目中, ...
- A100 GPU硬件架构
A100 GPU硬件架构 NVIDIA GA100 GPU由多个GPU处理群集(GPC),纹理处理群集(TPC),流式多处理器(SM)和HBM2内存控制器组成. GA100 GPU的完整实现包括以下单 ...
最新文章
- 【原】自定义UINavigationItem的两种方法以及相应的隐藏方法
- cout的输出格式初探
- Android解析WindowManagerService(二)WMS的重要成员和Window的添加过程
- 利用公众号 + WeRoBot开发一款AI应用
- pop客户机程序流程图_基于.NET的在线考试系统的设计与实现
- Linux中的history命令
- [SCOI2014]方伯伯的OJ
- linux xps 13 wifi,XPS13-9350安装linux以及网卡连接失败修复的临时方案
- C++set容器-查找和统计
- 2022国内低代码平台厂商排行榜—经典收藏
- 并查集 路径压缩(具体解释)
- python自动qq群发_用Python自动办公,做职场高手
- Python 快速验证代理IP是否有效
- 阿里巴巴矢量图标库的使用
- html 怎么转换,html怎么转换成word?
- 安卓逆向之某瓜数据app签名sign破解
- 安装配置MySQL5.7详细教程
- [有源滤波器]Sallen-key开关电容电路(二阶低通滤波器)
- 中国SaaS驶入「2.0时代」
- HDU4622 Reincarnation
热门文章
- tomcat启动卡死在: Initializing Spring root WebApplicationContext的解决办法
- 双线路切换-冗余备份实验
- Linux page allocation failure 的问题处理 - zone_reclaim_mode
- DES/AES、SM4、RSA、SM2、SM3
- SQL server(MSSQL)客户端工具登录数据库的两种命令行登录方式
- iptables基础知识.详解
- PHP替换字符串函数strtr()和str_replace()
- Android应用资源---布局资源类型(Layout)
- php实现基于shmop扩展的数据缓存
- c#:使用using关键字自动释放资源未必一定就会有明显好处