ここのドキュメントでは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
ここで言及されていることを知りたいです。構文 (2 行目) では、データが L1 にプリフェッチされることを指定していますか? L1にもプリフェッチできる命令があるのにprefetchu
冗長じゃない?prefetch
たとえば、以下のコード行の違いは何ですか?
prefetch.global.L1 [a]; // a maps to global memory.
prefetchu.L1 [a]; // a maps to global memory.