3

OpenCLメモリアーキテクチャ間に直接的な関係はありますか?

ローカル/グローバル/コンスタント/プライベートメモリ

そして、物理GPUのメモリとキャッシュ。たとえば、1GBのメモリ/L1キャッシュ/L2キャッシュを備えたGPUカード。これらはローカル/グローバル..メモリに関連していますか?

または、ローカル/コンスタント/プライベートメモリがグローバルメモリから割り当てられていますか?-ありがとう

4

1 に答える 1

5

OpenCLは、メモリのキャッシュについては実際には説明していません。最近のほとんどのグラフィックカードには、グローバルメモリ用のある種のキャッシュプロトコルがありますが、これらは古いカードでは保証されていません。ただし、ここにさまざまな思い出の概要があります。

プライベートメモリ-このメモリは、作業項目ごとにレジスタとして保持されます。GPUには、計算ユニットごとに非常に大きなレジスタファイルがあります。ただし、このメモリは必要に応じてローカルメモリに流出する可能性があります。変数を作成すると、デフォルトでプライベートメモリが割り当てられます。

ローカルメモリ-ワークグループにローカルで共有されるメモリ。このメモリシステムは通常、コンピューティングユニット自体にあり、他のワークグループによる読み取りまたは書き込みはできません。このメモリは通常、GPUアーキテクチャではレイテンシが非常に低くなります(CPUアーキテクチャでは、このメモリは単にシステムメモリの一部です)。このメモリは通常、グローバルメモリの手動キャッシュとして使用されます。ローカルメモリは__local属性で指定されます。

コンスタントメモリ-グローバルメモリの一部ですが、読み取り専用であるため、積極的にキャッシュできます。 __constantこのタイプのメモリを定義するために使用されます。

グローバルメモリ-これはGPUのメインメモリです。 __globalグローバルメモリ空間にメモリを配置するために使用されます。

于 2012-04-15T07:42:02.740 に答える