共有メモリにアクセスしている間、KeplerはFermiの2倍または4倍の帯域幅を持っていますか?
プログラミングガイドには、「各バンクの帯域幅は2クロックサイクルあたり32ビット」(2.Xの場合)、「各バンクの帯域幅は1クロックサイクルあたり64ビット」(3.X)と記載されているため、4xを意味しますか?
Fermiでは、各SMに32のバンクがあり、2クロックサイクルごとに32ビットを配信します。
ケプラーでは、各SMXに32のバンクがあり、クロックサイクルごとに64ビットを提供します。ただし、KeplerのSMXはエネルギー効率が高くなるように根本的に再設計されており、高速クロックの実行には多くの電力が消費されるため、Keplerははるかに低速のコアクロックで動作します。詳細については、GTCからのInsideKeplerトークを約8分でチェックしてください。
したがって、質問に対する答えは、Keplerには4倍ではなく約2倍あるということです。
ドキュメントの次のバージョン(CUDA 5.0)は、これをよりよく説明するはずです。
で与えられるように
プログラミングガイド4.2:共有メモリには16個のバンクがあり、連続する32ビットワードが連続するバンクにマップされるように編成されています。各バンクの帯域幅は、2クロックサイクルあたり32ビットです。
Keplerホワイトペーパー: 64b以上のロード操作の共有メモリ帯域幅もFermi SMと比較して2倍になり、コアクロックあたり256Bになります。
小さな負荷操作の場合、4倍です。