|
Модераторы: Daevaorn |
|
shonny |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 14.11.2017 Репутация: нет Всего: нет |
Здравствуйте, вообщем пытаюсь использовать 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 |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Распараллеливание цикла на 32 привара не даст. Количество итераций должно быть больше порядков на 5-6
У вас накладные расходы на создание потоков больше, чем работа, которая в них проводится |
|||
|
||||
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |