0 / 0 / 0
Регистрация: 04.11.2017
Сообщений: 5
|
||||||
1 | ||||||
OpenMP: распараллеливание цикла05.05.2019, 08:18. Показов 3955. Ответов 4
Ниже представлена программа для численного интегрирования методом средних прямоугольников, распараллеленная с помощью OpenMP. Так вот вопрос, почему распараллелен внешний цикл, а не внутренний? С Си я знаком, а вот в OpenMP нуб.
0
|
05.05.2019, 08:18 | |
Ответы с готовыми решениями:
4
OpenMP распараллеливание цикла Распараллеливание цикла For с использованием OpenMP Работа с OpenMP. Распараллеливание цикла for Распараллеливание циклов в OpenMP |
85 / 61 / 29
Регистрация: 15.05.2013
Сообщений: 188
|
|
05.05.2019, 17:14 | 2 |
я не специалист в openmp
Встречный вопрос: каково ожидание распараллеливания внутреннего цикла? s -- изменяется последовательно во внешнем цикле
0
|
05.05.2019, 21:35 | 3 |
Сообщение было отмечено vlad_kostr как решение
Решение
На моей памяти, если ты хочешь распараллелить цикл, то перед ним (в твоём случае это внутренний цикл) надо воткнуть #pragma omp for
А сам по себе код, когда задан параллельный регион, а в нём неопознанный цикл - как-то смысла большого не имеет
1
|
0 / 0 / 0
Регистрация: 04.11.2017
Сообщений: 5
|
|
08.05.2019, 14:00 [ТС] | 4 |
Мой вопрос не корректен. Перед внешним циклом активируется только параллельный регион, а распараллеливается внутренний цикл.
Добавлено через 2 минуты shadowmaan, уменьшение времени работы программы
0
|
08.05.2019, 15:08 | 5 |
Внутренний цикл имеет зависимые итерации. Просто "#pragma omp for" тут скорее всего не будет дотаточно. Там требуется указание того, что результат накапливается в переменной "s" при помощи операции "+". Распараллеливание приведёт к изменившейся точности, т.е. результат будет отличаться от нераспараллеленного варианта. Поэтому, возможно, требуется какой-то отдельное указание, что афтор согласен на это
По мне так в этой программе "#pragma omp parallel" нужно применять только ко внутреннему циклу и больше ни к чему (т.е. все прочие "#pragma omp" на мой взгляд тут совершенно не к месту)
0
|
08.05.2019, 15:08 | |
08.05.2019, 15:08 | |
Помогаю со студенческими работами здесь
5
OpenMP распараллеливание вычислений Распараллеливание с помощью OpenMP Распараллеливание циклов с ипользованием OpenMP Распараллеливание циклов с использованием OpenMP C++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |