Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
nill
10 / 10 / 0
Регистрация: 16.08.2009
Сообщений: 417
#1

Как завершить цикл в OpenMP - C++

28.11.2011, 15:47. Просмотров 893. Ответов 3
Метки нет (Все метки)

Использую OpenMP для параллельных расчетов

очень нужно при определенном условии экстренно завершить цикл

break; с OpenMP не работает

можно ли как то завершить цикл не дожидаясь его окончания ??
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2011, 15:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как завершить цикл в OpenMP (C++):

OpenMP цикл for - C++
Здравствуйте. Хочу что бы каждый поток вывел по 2 случайных числа, используя цикл for. Вот программа: #include <iostream> using...

Цикл for и OpenMP - C++
Недавно распаралелил свой цикл for, а теперь решил посмотреть на сколько я выигрываю от этого. Но вот неожиданность, все многопоточные...

Распараллелить цикл со сложной индексацией используя OpenMP - C++
Пусть есть такой цикл, преобразующий массив: #define N 6 #define RADIUS 1 int arr; int flag; int x,y; do { flag = 0;

c++ завершить цикл клавишей <Enter> - C++
здраствуйте нужно завершать вложенный цикл клавишей &lt;enter&gt;, весь день просидел так и не осилил, при объекктов getch(), cin.get()...

Завершить игровой цикл при вводе нуля - C++
Задание. Создать программу со структурой player. Структура должна содержать поля level - для сохранения уровня игрока (начальное...

Завершить цикл при вводе значения первой переменной - C++
Сама задача: Водителям небезразличен пробег их автомобилей. Один водитель записал данные о нескольких заправках своей машины, записывая...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1287 / 1221 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
28.11.2011, 16:30 #2
И правильно делает, что не работает. Ведь реально у тебя несколько циклов, а одним бряком несколько циклов не прервать. Скорее всего у тебя не корректно спроектирован код, т.е обработка должна выполняться над всеми элементами массива.
Не уверен, что как-то можно прервать omp-цикл.
0
nill
10 / 10 / 0
Регистрация: 16.08.2009
Сообщений: 417
28.11.2011, 17:13  [ТС] #3
Deviaphan,
в главном цикле который распаралеливаю я считаю количество ошибок и когда оно достигает опред числа нет смысла продолжать цикл и его надо прервать, переменная в которую пишу количество ошибок общая (shared) в omp цикле
0
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1287 / 1221 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
28.11.2011, 17:26 #4
omp-циклы прервать нельзя. Можешь исключение сгенерировать попробовать, но я бы не советовал. Или делай без распараллеливания или считай все ошибки без прерывания.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2011, 17:26
Привет! Вот еще темы с ответами:

OpenMP. Время выполнения программы больше чем без OpenMP - C++
Сегодня первый раз сел за OpenMP. Читаю на сайте майкрософта как работает этот API. Так вот там сказано:&quot;Директива #pragma omp for...

Как вшить openMP в .exe ? - C++
Программа использует OpenMp, следовательно вынужден с ней носить vcomp140.dll для Visual C++ 2017 Redistributable. Но сильно бы хотелось...

Как добиться ускорения OpenMP C++ - C++
Доброго времени суток. Я новичок в параллельном программировании. Передо мной поставили задачу расспараллелить с помощью OpenMP решение...

Как выполнить распараллеливание с помощью OpenMP - C++
Доброго дня. У меня есть две функции. void A(const vector &lt;double&gt; &amp;a){ //что-то считаем c ним } void B(const...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
28.11.2011, 17:26
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru