私は、ローカルメモリがレジスタメモリよりも遅い、スレッドごとに2つのタイプであるという発言を発見しました。ローカルメモリはCUDAの共有メモリよりも遅いですか?
共有メモリは高速だと思われますが、スレッドのローカルメモリより高速ですか?
私がやりたいことは、メディアンフィルタのようなものですが、中央値ではなくパーセンタイルを使用しています。したがって、私はリストの塊を取って並べ替え、適切なものを選ぶ必要があります。しかし、共有メモリのリストをソートすることはできません。ローカルメモリにコピーするだけで多くのパフォーマンスが失われますか?
これは実際にプログラミング関連ではありませんか?私はMathematicaタグへの強力なリンクも見ません。 –
@Sjoerd C. de Vries:CUDAの文脈では、プログラミングに関連する質問です。アーキテクチャには一様でないメモリ空間があり、プログラマはどのコードでどのメモリの種類とアクセス方法を使用するかを明示的に選択する必要があります書きます。これはCUDAプログラミングの基本的な教訓です。 – talonmies
@talonmies私はそれを理解していますが、まだこの問題は、プログラム的にメモリを選択すること、APIの違いをプログラミングすること、レジスタをプログラミングすること、共有メモリをプログラミングすることなどに関することではありません。それはハードウェアの問題です。 OPは、例えばCUDAの共有メモリを使用してデータの特定のパーセンタイルを見つけるという問題の方向に質問を言い換えるべきだと感じています。 –