Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Параллельный алгоритм возведения в степень 
:(
    Опции темы
Revares
  Дата 14.12.2010, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 18.4.2008

Репутация: нет
Всего: нет



Всем привет!

Возможно ли  распараллелить операцию возведения целого числа  в дробную степень?
Есть ли алгоритм быстрого возведения целого числа в дробную степень? 

PM MAIL   Вверх
NumLock
Дата 21.12.2010, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 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 это будет выглядеть примерно так:
Код

#pragma omp parallel
{
    int result = 1;
    for (int i = 0; i < p; i++)
    #pragma omp task
        result *= a;
}
/** а потом вычисляем корень n-ой степени
 *  уже последовательно
 *  кажется это делается так
 */ 
double = exp(1/q*log(result));

PM MAIL ICQ Skype Jabber   Вверх
maxim1000
Дата 21.12.2010, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



а нужно ли?
неужто так много времени занимает?
просто чем меньше распараллеливаемый кусок, тем большую часть занимают накладные расходы на общение между потоками и т.п.

или числа длинные?


--------------------
qqq
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.1195 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.