2011-07-06 21 views
1

"グローバル"メモリアクセスの場合、スレッドによって必要とされるメモリアドレスを合体(隣接)することが最適なトランザクションの鍵ですが、 "共有"メモリでは、スレッドによって、キーがあります。私はよく分かったのですか? NVIDIA CUDAプログラミングガイドから共有メモリおよびグローバルメモリアクセス

+0

はい。効率的な共有メモリアクセスのためには、統合されたメモリアクセスが効率的なグローバルメモリアクセスの鍵であり、バンクの競合を回避することが重要です。 –

答えて

1

:グローバルメモリスループットを最大化するために

、で合体 を最大にすることが重要である:セクションに基づいて最適なアクセスパターンに続き

  • G.3.2およびG.4.2、
  • セクション5.3.2.1.1で詳述されているサイズと配置の要件を満たすデータ型の使用
  • 5.3.2.1.2項で説明した2次元の 配列にアクセスする場合など、場合によってはデータを埋め込みます。

これはメモリに関連しては、1つ以上のトランザクションに「充填」合体された経糸のスレッドにアクセスします。この問題は、コンピューティング機能2.xのデバイスで緩和されています。

一方、共有メモリアクセスの場合、このメモリの実装方法を理解する必要があります。

共有メモリは、同じサイズのメモリ(バンクと呼ばれ、同時にアクセス可能)に分割されています。

2つ以上のスレッドが同じバンクにアクセスする場合、転送はシリアル化されます。つまり、バンク競合が発生します。

付録G.計算機能にはアーキテクチャに関する詳細があります。

よろしくお願いいたします。

+0

@BehzadXところで、あなたはよく理解しました;) – pQB

+0

ありがとうございました。 – BehzadX

+2

それを受け入れられた答えとしてマークすることを忘れないでください! – jmsu

関連する問題