私は OpenCL でアルゴリズムを作成しています。このアルゴリズムでは、すべてのワーク ユニットがデータのかなりの部分を記憶する必要があります。たとえば、カーネルごとに along[70]
と a の間の何かを言います。long[200]
最近の AMD デバイスには 32 KiB の__local
メモリがあり、これは (カーネルあたりの所定の量のデータに対して) 20 ~ 58 作業単位の情報を保存するのに十分です。ただし、アーキテクチャ (特にこの図)から私が理解していることから、各シェーダー コアには専用の量のプライベート メモリもあります。しかし、私はそのサイズを見つけることができません。
各カーネルのプライベート メモリの量を調べる方法を誰か教えてもらえますか?
HD7970 については、近いうちに購入する予定があるため、特に興味があります。
編集: 問題は解決しました。答えは付録 D にあります。