Here表示prefetch
和prefetchu
ptx指令" 预取行包含指定级别的内存层次结构中的通用地址,在指定的状态空间"。还提到语法是
prefetch{.space}.level [a]; // prefetch to data cache
prefetchu.L1 [a]; // prefetch to uniform cache
.space = { .global, .local };
.level = { .L1, .L2 };
我想知道这里提到的是uniform cache
;而语法(在第二行)指定数据将被预取到L1中?在存在允许预取到L1的prefetchu
指令的情况下,prefetch
是多余的?例如,下面的代码行之间有什么区别?
prefetch.global.L1 [a]; // a maps to global memory.
prefetchu.L1 [a]; // a maps to global memory.
答案 0 :(得分:1)
统一缓存确实是常量缓存,如“CUDA应用程序设计和开发”一书中所述,如下所示:
...“SM还包含常量(标记的统一缓存”(原文如此)......
https://books.google.com.tr/books?id=Y-XmJO2uwvMC&pg=PA112&lpg=PA112#v=onepage&q&f=false