| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Распараллеливание с помощью openmp |
| Автор: shonny 14.11.2017, 20:03 | ||
Здравствуйте, вообщем пытаюсь использовать Openmp, чтобы распараллелить задачу вычисления экспоненты с помощью ряда Тейлора. Программа работает, но при сравнении времени выполнения последовательного кода и с Openmp, нет прироста скорости, а даже наоборот выполняется дольше с Openmp. В чем может быть причина, не могли бы вы помочь?
./taylor 1 32 e^x = 2.718282 Time: 0.000126 - время выполнения с openmp /staylor 1 32 e^x = 2.718282 Time: 0.000020 - время выполнения последовательного кода |
| Автор: xvr 14.11.2017, 20:51 |
| Распараллеливание цикла на 32 привара не даст. Количество итераций должно быть больше порядков на 5-6 У вас накладные расходы на создание потоков больше, чем работа, которая в них проводится |