15

ローカル メモリは、スレッドごとに 2 つのタイプであるレジスタ メモリよりも遅いというコメントしか見つかりませんでした。

共有メモリは高速であるはずですが、[スレッドの] ローカル メモリよりも高速ですか?

私がやりたいのは、メディアン フィルターのようなものですが、メディアンの代わりに特定のパーセンタイルを使用します。したがって、リストのチャンクを取得してソートし、適切なものを選択する必要があります。しかし、共有メモリ リストの並べ替えを開始できないか、問題が発生します。ローカル メモリにコピーするだけでパフォーマンスが大幅に低下しますか?

4

1 に答える 1

25

ローカルメモリは単なるスレッドローカルグローバルメモリです。レジスタまたは共有メモリよりもはるかに低速です(帯域幅と遅延の両方の点で)。また、グローバルメモリトランザクションで使用できるメモリコントローラの帯域幅も消費します。ローカルメモリをこぼしたり、意図的に使用したりすることによるパフォーマンスへの影響は、使用しているハードウェアとローカルメモリの使用方法に応じて、軽微なものから深刻なものまでさまざまです。

Vasily Volkovの調査によると(低占有率でのパフォーマンスの向上(pdf)を参照)、共有メモリとFermi GPUのレジスタの有効帯域幅には約8倍の違いがあります(共有メモリの場合は約1000 Gb / s、共有メモリの場合は8000 Gb / s)。レジスタ用)。これは、共有メモリの速度がレジスタに匹敵することを意味するCUDAドキュメントと多少矛盾します。

于 2011-08-30T09:33:12.793 に答える