1

サーフェス メモリは、CUDA のテクスチャ キャッシュに相当する書き込み専用です。

グローバル メモリと共有メモリからの読み取りに関する学術文献で、 NVIDIA GPUのピーク帯域幅の数値を見つけました。ただし、 CUDA メモリ デバイスの書き込みスループットに関する情報はほとんどありません。

特に、Fermi GPU と Kepler GPU の CUDA サーフェス メモリの帯域幅 (既知の場合はレイテンシも) に関心があります。

  • これに関するベンチマークの数値はありますか?
  • そうでない場合、表面メモリへの書き込みの帯域幅を測定するためのベンチマークをどのように実装できますか?
4

2 に答える 2

2

Device Memory Accessesによると、

  • キャッシュ ミスの場合: テクスチャ フェッチまたはサーフェス読み取りには、デバイス メモリからの 1 つのグローバル メモリ読み取りが必要です。
  • キャッシュ ヒット時: グローバル メモリ帯域幅の需要は減少しますが、フェッチ レイテンシは減少しません。

テクスチャ/サーフェス/グローバル メモリのレイテンシはほぼ同じで、すべてオフチップ DRAM に配置されているため、サーフェス メモリのピーク帯域幅は、GPU 仕様で示されているグローバル メモリと同じであると思います。

レイテンシーのタイミングを計るために、参照した論文では 1 つのスレッドのみを使用している場合があります。したがって、レイテンシを計算するのは簡単です

グローバル メモリ読み取りレイテンシ = 合計読み取り時間 / 読み取り回数

同様の方法で、サーフェス書き込みのタイミングを実装できます。しかし、for ループのオーバーヘッドは共有メモリのレイテンシと比較して無視できない可能性があるため、この論文に示されている共有メモリのレイテンシ測定にこの方法を適用することは合理的ではないと思います。

于 2013-01-17T01:54:25.830 に答える
2

コンピューティング機能 2.x および 3.x デバイスでは、表面書き込みは L1 キャッシュを通過し、グローバル書き込みと同じスループットと待機時間になります。

于 2014-02-15T21:54:51.693 に答える