- Индексы циклов взаимозависимы
- Массивы a, b и c инициализированы
- Я использую Visual Studio 2022 (очевидно, с ограниченными возможностями omp из-за старой версии)
есть ли способ выполнить эту задачу без использования предложения расписания.
Код: Выделить всё
#pragma omp parallel
{
int temp = 0;
#pragma omp for
for(int i = 0 ; i < 10; i++)
for(int j = i + 1; j < 10; j++)
{
if(a[i] > a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
temp = b[i];
b[i] = b[j];
b[j] = temp;
temp = c[i];
c[i] = c[j];
c[j] = temp;
}
}
}
Более того, если бы кто-нибудь мог дать рекомендации, которым следует следовать при работе с массивами, особенно когда они зависят от предыдущих/следующих значений (например, A = A[i+1] - дельта;).
Результаты оказались правильными при использовании предложения расписания, но я хочу чтобы избежать этого и получить результаты с меньшими затратами на выполнение.
Подробнее здесь: https://stackoverflow.com/questions/791 ... ssignments
Мобильная версия