2016-11-21 4 views
2

私は、マークハリスによるCUDAの並列リダクションの最適化に関するプレゼンテーションを読んでいました。ここで私は問題を持っているスライドです:インターリーブドアドレッシング法を使用したバンクリダクションの並列化

enter image description here

は、それは、この方法では、バンク競合の問題があると言います。しかし、なぜ?すべてのスレッドは、異なるバンクにある2つの連続するメモリセルにアクセスしています。どちらも特定のメモリセルに同時にアクセスしません。

答えて

4

このプレゼンテーションはCUDAの非常に初期のものであり、第1世代のハードウェアに適用されます。

そのハードウェアには、8つの32ビットバンクに配置された共有メモリがありました。共有配列の8番目のエントリはすべて同じバン​​クに存在するため、そのリダクションツリーのいくつかのレベルでバンク競合が発生します。

この問題は、新しいハードウェアで解決されました。ここでは、バンクの数が32に拡張されました。つまり、この種のバンク競合は発生しません。

関連する問題