Cuda 什么是「;“长”;及;简称;记分牌w.r.t.MIO/L1TEX?
在最近的NVIDIA微体系结构中,出现了新的(?)翘曲暂停原因/翘曲调度程序状态 此分类法中的两个项目是:Cuda 什么是「;“长”;及;简称;记分牌w.r.t.MIO/L1TEX?,cuda,gpu,gpgpu,micro-architecture,nsight-compute,Cuda,Gpu,Gpgpu,Micro Architecture,Nsight Compute,在最近的NVIDIA微体系结构中,出现了新的(?)翘曲暂停原因/翘曲调度程序状态 此分类法中的两个项目是: 短记分板-记分板对MIO队列操作的依赖性 长记分板-记分板对L1TEX操作的依赖性 其中,我认为,“记分板”用于无序执行数据依赖性跟踪(参见示例) 我的问题是: 形容词“短”或“长”描述什么?它是一个记分板的长度吗?两种不同的操作有两个不同的记分牌 MIO之间的这种非直觉的二分法是什么意思?一些,但不是所有的都是记忆操作;和L1TEX操作,它们都是内存操作?这是一种二分法,仅仅是因为
- 短记分板-记分板对MIO队列操作的依赖性
- 长记分板-记分板对L1TEX操作的依赖性
- 形容词“短”或“长”描述什么?它是一个记分板的长度吗?两种不同的操作有两个不同的记分牌
- MIO之间的这种非直觉的二分法是什么意思?一些,但不是所有的都是记忆操作;和L1TEX操作,它们都是内存操作?这是一种二分法,仅仅是因为w.r.t.失速的原因,还是关于实际的硬件
MIO和L1TEX是英伟达SM中的分区。MIO单元负责共享执行单元(由一个或多个SM子分区共享),包括低速率数学单元(例如GeForce芯片上的双精度)和内存输入/输出。内存子系统包含L1、TEX单元、共享内存单元以及SM的其他特定于域(例如图形)的接口。MIO子系统包括L1、TEX和共享内存的实现在开普勒、麦克斯韦-帕斯卡和伏特-安培之间差异很大。SM子分区(warp Scheduler)通过指令队列与直接调度向共享执行单元发出指令。对于SM 7.0+而言,如果这些单元的指令队列已满,则会出现失速原因(mio_油门、lg_油门和tex_油门)
MIO定义中包含的内容因体系结构而异。L1TEX技术上属于MIO分区。L1TEX有两个输入接口,因此比较复杂:如果有两个不同的接口,术语L1TEX也可能会混淆。虽然有两个接口本地/全局和纹理/曲面共享相同的缓存查找阶段、相同的缓存RAM和相同的SM到L2接口,因此对于许多度量,术语L1TEX用于表示单元。编译器是否已经展开循环以隐藏慢指令的延迟(或者该体系结构已经通过从不同线程运行指令隐式地做到了这一点)?或者,它可以通过不立即使用结果来尝试进行软件管道化来隐藏缓慢操作的延迟吗?(这将有助于以CPU顺序进行管道化。)answe的第一部分很有帮助:“引用我刚刚链接到的评测指南-没有帮助,特别是因为它没有添加问题和/或您的答案已经说过的以外的信息。@PeterCordes编译器通常会积极尝试展开循环,其主要目的是独立的instru操作重新排序以允许首先发出长延迟指令。请参阅。这很容易通过二进制分析工具和适当的代码进行实验观察。即使没有循环展开,编译器也会尝试尽早重新排序独立的加载。