我正在转换一种算法以利用 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。它还涉及索引操作,但增量方面并未涵盖我的问题。
亲切的问候,
强制施法