【发布时间】:2018-11-09 01:47:50
【问题描述】:
使用之间有什么(如果有的话)区别:
#pragma omp parallel
{
#pragma omp for simd
for (int i = 0; i < 100; ++i)
{
c[i] = a[i] ^ b[i];
}
}
和:
#pragma omp parallel for simd
for (int i = 0; i < 100; ++i)
{
c[i] = a[i] ^ b[i];
}
或者编译器(ICC)在乎吗?
我知道第一个定义了一个并行部分,而不是一个要划分的 for 循环,您可以在循环之后执行多个操作。如果我错了,请纠正我,还在学习openmp的方式..
但是你什么时候会使用其中一种方式呢?
【问题讨论】: