Какая (если есть) разница между использованием:
#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 ..
Но когда бы вы воспользовались тем или иным способом?