我正在努力理解指令级分析上的所有post并行。特别是减少内存依赖的节中的下列行将暂停
NVIDIA GPU没有索引寄存器文件,因此如果使用动态索引访问堆栈数组,编译器必须在本地内存中分配数组。在Maxwell体系结构中,本地内存存储不缓存在L1中,因此存储后本地内存负载的延迟很大。
我理解注册文件是什么,但是它们不是索引的意味着什么?为什么它阻止编译器存储使用动态索引访问的堆栈数组?
引用中说,数组将存储在本地内存中。在下面的体系结构中,这个本地内存对应于什么块?
发布于 2017-04-13 13:03:57
..。没有索引是什么意思?
这意味着不支持对登记册的间接寻址。因此,不可能从一个寄存器(理论上是保存数组第一个元素的寄存器)索引到另一个任意寄存器。因此,编译器无法生成存储在寄存器中的数组的非静态索引代码。
在下面的体系结构中,这个本地内存对应什么块?
这和他们中的任何一个都不相符。本地内存存储在DRAM中,而不是在GPU本身上。
https://stackoverflow.com/questions/43392370
复制相似问题