Новости
О Центре
Кластер
Обучение
Основной курс по параллельному программированию
Учебные курсы
Магистратура
Дополнительное образование
Работы студентов
Библиотека
Исследования
Конференции
Полезные ссылки
NVIDIA
Контакты
О сайте
Имя:
Пароль:
запомнить:
Забыли пароль? Регистрация

Параллельная реализация

Основная идея распараллелеваня одинакова для всех трёх алгоритмов. Она заключается в том, что мы разбиваем массив на несколько частей и каждый поток выполняет базову операцию над своей частью данных. когда все потоки закончат свою работу, главный поток соберёт все данные, редуцирует их, и будет получен конечный результат.

Рассмотрим подобгую схему на примере поиска минимального значения (n - количество потоков):

double *min;

min = new double[n];

for(int i=0;i<n;i++) min[i]=a[0];

#pragma omp parallel for

for(int i=0; i<n;i++)

{

min[i]=find_min(i*size/n,(i+1)*size/n);

}

double gmin=min[0];

for(int i=1;i<n;i++)

{

if(min[i]<gmin) gmin=min[i];

}

Новости

22.10.2012
04.09.2012
05.04.2012
06.03.2012
02.03.2012