|
|
|
Revares |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 18.4.2008 Репутация: нет Всего: нет |
Всем привет!
Возможно ли распараллелить операцию возведения целого числа в дробную степень? Есть ли алгоритм быстрого возведения целого числа в дробную степень? |
|||
|
||||
NumLock |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 66 Регистрация: 30.7.2006 Где: Иркутск Репутация: нет Всего: нет |
a^(p/q) —суть извлечение корня q-той степени из a^p. Возведение числа в p-тую степень можно распараллелить, хотя и не очень эффективно (равномерность загрузки процессоров будет уменьшаться с каждой итерацией). a^p = a*a*a*...*a (p раз). Можно задействовать floor(n/2) процессоров, вот так: a^p=(a*a)*(a*a)*...*(a*a). Все что в скобках вычисляется параллельно.
На OpenMP это будет выглядеть примерно так:
|
|||
|
||||
maxim1000 |
|
|||
Эксперт Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
а нужно ли?
неужто так много времени занимает? просто чем меньше распараллеливаемый кусок, тем большую часть занимают накладные расходы на общение между потоками и т.п. или числа длинные? -------------------- qqq |
|||
|
||||
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |