CUDA总结:Occupancy
Occupancy的定义:活动的warp数量与最大数量的比值。
意义:GPU的硬件利用率,利用率越高不一定性能就越高,但如果利用率很小,性能肯定不会好。这很好理解,一条马路,利用率太高了,如拥堵,说明车流量太大马路容量(承载能力)不足够了;利用率太低了,则没有充分利用到交通资源,此时无法体现马路的承载能力。
同一时刻,GPU的每个SM运行着若干个block,sm会根据block的线程数为其分配寄存器:
每个block分配到的寄存数量=每个线程所需的寄存器数量*线程数。
但是每个SM的寄存器数目是有限的,如果每个block的线程数越多(所需的寄存器数量也多),block的数量就会越少。block的数量减少,会导致SM的占用率降低!
举例说明:cc=1.1,SM的最大寄存器数量为8192,假设128-thread block,12-reg thread,此时只能运行5个block(8192/12/128 = 5.333),Occupancy=5*128/768=83.33%
注意:768是cc 1.1的每个SM的最大线程数
假设256-thread block,12-reg thread,此时只能运行2个block(8192/12/256=2.67),
Occupancy=2*256/768=66.67%
CUDA的toolkit提供了一个CUDA Occupancy Calculator工具,用于计算不同cc和block分配下的Occupancy
这是一个excel表格,放在\NVIDIA GPU Computing Toolkit\CUDA\v8.0\tools目录下
Occupancy只能是评估性能的一个方面,并不是所有情况下都是越高越好
CUDA总结:Occupancy相关推荐
- CUDA中Occupancy相关知识
文章目录 occupancy初步理解 occupancy具体分析 occupany的推导流程 Occupancy实际运用 occupancy 有啥用 前言 本篇文章只适合稍微有一些cuda基础的朋友阅 ...
- CUDA的Occupancy和Achieved Occupancy概念
官方原文 Occupancy is defined as the ratio of active warps on an SM to the maximum number of active warp ...
- cuda图像处理_CUDA随笔之图像直方图(优化历程)
在忙忙碌碌许久之后,终于有时间写 "CUDA随笔" 系列的第二集了! 这次给大家带来了一个图像处理的应用例子:计算图片的直方图. 虽然使用CUDA可以很轻松地在性能上超越CPU,如 ...
- CUDA C 编程指南
说明 最近在学习CUDA,感觉看完就忘,于是这里写一个导读,整理一下重点 主要内容来源于NVIDIA的官方文档<CUDA C Programming Guide>,结合了另一本书<C ...
- CUDA: Occupancy(占用率)详解
#CUDA: Occupancy(占用率)详解 占用率是指每个多处理器(Streaming Multiprocessor,SM)的活动线程束(warps)数量与实际的活动warps数量的比率. 高的占 ...
- CUDA Samples目录
简介 Simple Reference 基础CUDA示例,适用于初学者, 反映了运用CUDA和CUDA runtime APIs的一些基本概念. Utilities Reference 演示如何查 ...
- CUDA占用率计算方法
通常认为:一个SM中所有的线程在同时工作,那么这个SM的效率或占用率就是100%,在这种情况下,处理程序的速度是最快的,效率是最高的.如果实际中由于资源的限制(如共享内存,寄存器),不是所有的线程都同 ...
- CUDA程序编写具体参数设置
介绍了GPU的结构以及资源的控制要素(GPU硬件结构和程序具体参数设置_yu132563的专栏-CSDN博客)以及编程过程中的一些需要注意的问题(CUDA程序性能调优_yu132563的专栏-CSDN ...
- 推荐CUDA程序优化的15个策略
推荐CUDA程序优化的15个策略 0条评论 2011-07-06 09:48 来源:潇湘学子岳麓生的博客 作者: 潇湘学子岳麓生 编辑: 王玉圆 [IT168 技术]在<CUDA程序优化策略 ...
最新文章
- xcode修改时间后就要重新编译_iOS 微信编译速度优化分享
- 从零开始入门 K8s | 调度器的调度流程和算法介绍
- Hadoop的改进实验(中文分词词频统计及英文词频统计)(1/4)
- android 添加广告用proguard混淆后不显示问题解决方法
- Spring MVC DispatcherServlet介绍(2)
- chrome remote desktop_无损音乐下载神器!洛雪音乐助手lx-music-desktop
- Judge Complex(判断-复杂)
- Xcode插件管理工具Alcatraz
- 软工专硕考研_2021考研人数将突破400万?录取率或成史低!
- Webpack4 学习笔记 - 02:loader 打包静态资源(图片)
- 利用抓包工具分析数据帧具体内容
- 淘宝/天猫api 添加收货地址 API接口
- 谷歌离开中国的三大原因四大后果
- 教程:如何使用Java以编程方式打印PDF文件?
- 实验一:Guass列选主元消去法之C语言代码
- 得物购买截图生成_iPhone12订单生成器网页版-iPhone12订单生成器网页版链接分享预约 v1.0...
- 基于python的文件加密传输_python 利用Crypto进行AES解密加密文件
- android系统是什么意思
- 非科班出身这么理解货币乘数
- 乘法运算中的有效数据位