0 / 0 / 0
Регистрация: 26.01.2019
Сообщений: 3
|
||||||
1 | ||||||
OpenMP. Нетривиальный случай26.01.2019, 16:47. Показов 901. Ответов 4
Аналог реальной программы. Как переместить создание потоков (#pragma omp parallel) в main_, но оставить funcSerial однопоточным (последовательным)? funcSerial я распараллеливать пробовал - толку мало. В реальной программе там идет очень интенсивный обмен с памятью, и более чем в два раза она не ускоряется на любом количестве ядер.
А можно мне рыбу вместо удочек? Как то не получилось у меня с рыбалкой на этот раз. Пробовал я #pragma omp single, но кроме зависаний ничего не получил.
0
|
26.01.2019, 16:47 | |
Ответы с готовыми решениями:
4
OpenMP. Время выполнения программы больше чем без OpenMP Нетривиальный прямой перебор Нетривиальный тривиальный калькулятор Найти и вывести на экран наибольший нетривиальный делитель числа |
223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 972
|
||||||
27.01.2019, 11:44 | 2 | |||||
0
|
0 / 0 / 0
Регистрация: 26.01.2019
Сообщений: 3
|
|
27.01.2019, 14:37 [ТС] | 3 |
Это не верно. Такой вариант я делал. Он приводит к параллельной работе funcSerial, а поскольку в ней чтение и запись больших объемов данных, то шина памяти перегружается уже на трех потоках. Ускорение максимум в два раза. Можно сформулировать задачу так: нужно #pragma omp parallel перенести в main, но #pragma omp for оставить в funcPar, дописав в main и funcSerial некий код ( возможно основанный на использовании #pragma omp serial ) который оставит функции main и funcSerial однопоточными.
0
|
223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 972
|
||||||
27.01.2019, 16:28 | 4 | |||||
а зачем вам это?
ваша функция funcPar() эквивалентна следующему коду:
0
|
0 / 0 / 0
Регистрация: 26.01.2019
Сообщений: 3
|
|
27.01.2019, 16:41 [ТС] | 5 |
Вы вообще читаете, что я писал в описании? Написано же - АНАЛОГ реальной программы. А также "// real code is more complicated and works much longer"
0
|
27.01.2019, 16:41 | |
27.01.2019, 16:41 | |
Помогаю со студенческими работами здесь
5
OpenMP OpenMP OpenMP Цикл for и OpenMP Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |