本文介绍了长记分板和短记分板(&r.t)分别是什么?(&x;Long&q;;和&q;Short&q;记分板W.r.t)MIO/L1TEX?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在最新的NVIDIA微体系结构中,出现了一个新的(?)taxonomyWARP停滞原因/WARP调度器状态。
此分类中的两个项目是:
- 短记分板-MIO队列操作的记分板依赖项。
- 长记分板-L1TEX操作的记分板依赖项。
我认为,其中使用";记分板";表示无序执行数据依赖关系跟踪(例如,请参阅here)。
我的问题:
- 形容词"短"或"长"描述什么?是一块记分牌的长度吗?两种不同操作的两个不同记分板?
- MIO-Some(但不是全部)和L1TEX(都是内存操作)之间的这种有点不直观的二分法是什么意思?这是一种两分法吗?只是停滞原因还是与实际硬件有关?
推荐答案
NVIDIA GPU有两类指令:
- 修复了延迟-数学、按位、寄存器移动
- 可变延迟-共享、本地、全局和纹理的ld/st以及较慢的数学运算
根据可变延迟指令返回的数据报告短记分板和长记分板。对于不会离开SM的可变延迟指令(例如,倒数SQRT或共享内存等较慢的数学运算)的依赖项,会报告较短的记分板。报告可能离开SM的依赖项(如全局/本地内存访问和纹理获取)的较长记分板。
来自Nsight Cmpute v2020.3.1 Kernel Profiling Guide
的详细说明长记分板
Warp已停止,等待L1TEX(本地、全局、表面、TeX)操作上的记分板依赖项。要减少等待L1TEX数据访问的周期数,请验证内存访问模式是否最适合目标体系结构,尝试通过增加数据局部性或更改缓存配置来提高缓存命中率,并考虑将频繁使用的数据移动到共享内存。短记分板
等待MIO(内存输入/输出)操作的记分板依赖项(不是L1TEX)时,Warp已停止。由于记分板不足而导致大量停顿的主要原因通常是对共享内存的内存操作。其他原因包括频繁执行特殊数学指令(例如MUFU)或动态分支(例如BRX、JMX)。验证是否存在共享内存操作并减少存储体冲突(如果适用)。MIO与L1TEX
MIO和L1TEX是NVIDIA SM中的分区。MIO单元负责共享执行单元(由1个或多个SM子分区共享),包括较低速率的数学单元(例如,GeForce芯片上的双精度)和存储器输入/输出。存储子系统包含L1、TeX单元、共享存储单元和到SM的其他域特定(例如图形)接口。MIO子系统(包括L1、TeX和共享内存)的实现在开普勒、Maxwell-Pascal和Volta-Ampere之间差别很大。SM子分区(WARP调度器)通过指令队列与直接分派向共享执行单元发布指令。对于SM 7.0+,如果这些单元的指令队列已满,则会出现停顿原因(mio_throttle、lg_throttle和tex_throttle)。MIO定义中包含的内容因体系结构而异。从技术上讲,L1TEX位于MIO分区中。L1TEX HAS比较复杂,因为它有两个输入接口:- LSU接口用于共享内存、本地/全局内存(已标记)以及特殊操作,如混洗和特殊用途寄存器。
- Tex接口用于纹理提取,在7.0-8.x上是较慢的数学运算的子集(例如,GeForce卡上的FP64)。后者有点令人困惑。存在速度较慢的数学单元是为了实现二进制兼容性,并且不希望与纹理提取同时使用。
术语MIO可能会令人困惑。在给定两个不同接口的情况下,术语L1TEX也可能会混淆。虽然有两个接口LOCAL/GLOBAL和Texture/Surface共享相同的高速缓存查找阶段、相同的高速缓存RAM和相同的SM到L2接口,因此对于许多指标,术语L1TEX用于指代单位。
这篇关于长记分板和短记分板(&r.t)分别是什么?(&x;Long&q;;和&q;Short&q;记分板W.r.t)MIO/L1TEX?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!