我想知道是否有一种方法可以使用 OpenMP 并行化具有数据依赖性问题的 “for 循环”。
这是我喜欢并行化的for循环
int k = 0;
int A[100][100];
for(i = 0; i < 100; i++) {
for(j = 0; j < 100; j++) {
A[i][j] = k;
k++;
}
}
有没有人有解决办法...
最佳答案
你真的没有数据依赖问题,因为k
可以从 i
计算得出和 j
:
int A[100][100];
for(i = 0; i < 100; i++) {
for(j = 0; j < 100; j++) {
A[i][j] = i * 100 + j;
}
}
如果您能举一个更真实的例子来说明您正在尝试做什么,我们也许能为您提供更多帮助。
关于c - openMp:需要并行化具有数据依赖性问题的循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4274682/