C++ AMP が提供する大規模な高速化を利用するために、アルゴリズムを変換しています。私がいる段階では、for ループを既知の parallel_for_each ループに入れています。
通常、これは簡単な作業ですが、最初に考えたよりも複雑に見えます。これは、反復ごとに 4 のステップを使用してインクリメントするネストされたループです。
for(int j = 0; j < height; j += 4, data += width * 4 * 4)
{
for(int i = 0; i < width; i += 4)
{
私が抱えている問題は、インデックスの使用です。これを parallel_for_each ループに適切に適合させる方法が見つからないようです。ランク 2 のインデックスを使用するのが最善の方法ですが、分岐を介して操作すると、パフォーマンスの向上に悪影響を及ぼします。
同様の投稿を見つけました: Controlling the index variables in C++ AMP。インデックス操作についても扱っていますが、インクリメントの側面は私の問題をカバーしていません。
よろしくお願いいたします。
フォースキャスト