8

どちらもオフチップ DRAM 上にあり、キャッシュされていることはわかっています。

では、アクセス速度はどちらが速いのでしょうか? または、どのような状況で一方が他方よりも速いのでしょうか?

4

3 に答える 3

10

定数メモリは、ブロードキャスト用に最適化されています。つまり、ワープ内のスレッドがすべて同じメモリ位置を読み取る場合です。それらが異なる場所を読み取っている場合は機能しますが、ワープによって参照されるそれぞれの異なる場所にはより多くの時間がかかります. 読み取りがスレッドにブロードキャストされている場合、コンスタント メモリはテクスチャ メモリよりもはるかに高速です。

キャッシュ ヒットの場合でも、テクスチャ メモリのレイテンシは高くなります。これは帯域幅アグリゲーターと考えることができます。テクスチャ キャッシュから提供できる再利用がある場合、GPU はそれらの読み取りのために外部メモリにアクセスする必要はありません。2D および 3D テクスチャの場合、アドレス指定には 2D および 3D の局所性があるため、キャッシュ ライン フィルは、行ではなく 2D および 3D のメモリ ブロックを取り込みます。

最後に、テクスチャ パイプラインは「ボーナス」計算を実行できます。境界条件の処理 (「テクスチャ アドレッシング」) や、8 ビット値と 16 ビット値のユニット化された浮動小数点数への変換は、「無料で」実行できる操作の例です。(テクスチャ読み取りのレイテンシが高い理由の一部です)

于 2012-07-14T16:53:46.110 に答える
10

テクスチャ メモリは、2D の空間的局所性 (名前の由来) に合わせて最適化されています。一定の記憶は、一時的な局所性を利用していると考えることができます。

定数メモリに対するテクスチャ メモリの利点は、次のように要約できます。

  • 空間的局所性
  • アドレス計算は、ハードウェア内のカーネルの外部で計算できます
  • 1 回の操作でさまざまな変数からデータにアクセスできます
  • 8ビットと16ビットのデータを0~1.0の浮動小数点数に自動変換可能

詳細については、ドキュメントを参照してください。

于 2012-07-14T02:53:25.923 に答える
0

私の経験から、テクスチャ メモリへのアクセスは、定数メモリへのアクセスと同じくらい高速です。ただし、テクスチャ メモリはコンスタント メモリよりもはるかにサイズが大きいため、大量のデータを格納する必要がある場合は、「memcpy」をコンスタント メモリに何度も格納する代わりに、テクスチャ メモリを使用することをお勧めします。また、補間を行う必要がある場合は、テクスチャ メモリが最適です。

一方、コンスタント メモリは、ワープのすべてのスレッドが同じ場所を読み取る場合に最適化されたハードウェアです。スレッドが複数の場所から読み取る場合、アクセスはシリアル化されます。

于 2012-07-14T02:56:11.713 に答える