2

私が知る限り、GPU は手順 (グローバル メモリ-l2-l1-レジスタ-共有メモリ) に従って、以前の NVIDIA GPU アーキテクチャの共有メモリにデータを格納します。

しかし、maxwell gpu(GTX980) はユニファイド キャッシュと共有メモリを物理的に分離しており、このアーキテクチャも同じ手順に従ってデータを共有メモリに格納することを知りたいですか? または、グローバルメモリと共有メモリ間の直接通信をサポートしていますか?

  • 統合キャッシュはオプション「-dlcm=ca」で有効になります
4

1 に答える 1

3

これにより、Maxwell アーキテクチャ内のメモリの種類と手順に関するほとんどの質問に答えることができます。

Kepler と同様に、Kepler で導入された LDG 読み取り専用データ キャッシュ メカニズムを使用しない限り、Maxwell のグローバル ロードは L2 にのみキャッシュされます。

Kepler GK110B と同様に、GM204 はデフォルトでこの動作を保持しますが、統合された L1/テクスチャ キャッシュでグローバル ロードのキャッシュを選択することもアプリケーションに許可します。オプトイン メカニズムは GK110B と同じです。コンパイル時に -Xptxas -dlcm=ca フラグを nvcc に渡します。

ローカル ロードも L2 のみにキャッシュされるため、Kepler で L1 ローカル ロードのヒット率が高い場合、レジスタ スピルのコストが増加する可能性があります。したがって、最高のパフォーマンスを確保するには、占有とこぼれのバランスを再評価する必要があります。特に算術レイテンシの改善を考慮すると、Maxwell 用にビルドされたコードは、スピルの減少と引き換えに (スレッドごとのレジスターの増加により) 占有率がいくらか低下するという恩恵を受ける可能性があります。

統合された L1/テクスチャ キャッシュは、メモリ アクセスの合体バッファーとして機能し、ワープのスレッドによって要求されたデータを収集してから、そのデータをワープに配信します。この機能は、以前は Fermi と Kepler の個別の L1 キャッシュによって提供されていました。

NvidiaのMaxwell チューニング ガイドのセクション「1.4.2. メモリ スループット」のサブセクション「1.4.2.1. Unified L1/Texture Cache」から。

これら 2 つに続く他のセクションとサブセクションでは、共有メモリのサイズ/帯域幅、キャッシュなどに関するその他の有用な詳細を説明および/または明示しています。試してみてください!

于 2016-04-20T13:11:12.560 に答える