Переход к C++ внутри параллельного цикла OMPC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Переход к C++ внутри параллельного цикла OMP

Сообщение Anonymous »

Правильно ли использовать goto внутри параллельного цикла omp для перемещения только внутри его тела? (Я знаю, что goto — не лучший стиль написания кода)
int read_arr[N]; // example array
int write_arr[N]; // example array
std::recursive_mutex m;

#pragma omp parallel for
for (int i = 0; i < N; ++i) {
LBL1:
for (size_t k = 0; k < 10; k++)
{
bool flag = do_smth(k+i + read_arr[k]);
if (flag)
{
m.lock();
write_arr = i + k;
m.unlock();
}
else
{
m.lock();
write_arr = -1;
m.unlock();
goto LBL1;
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/783 ... allel-loop
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»