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

Описание алгоритма

На первом шаге алгоритма исходные матрицы A и B разбиваются на N частей (N - число процессов). Матрица A разбивается на строки, матрица B - на столбцы. Разбиение происходит так, чтобы разность количеств строк на любых двух процессах не превышала 1, проще говоря, матрицы разделяются почти поровну.
На каждом процессе происходит перемножение полученных подматриц (по последовательному алгоритму) и результат записывается в локальную для каждого процесса матрицу C', количество строк в которой равно количеству строк, полученных после рзбиения от матрицы А, а количество столбцов совпадает с количеством столбцов в В. На этом шаге получается только часть матрицы C'. После выполнения умножения подматриц, процессы обмениваются столбцами из матрицы В. Обмен происходит в соответствии с кольцевой топологией, то есть процесс p передает данные процессу p+1, при этом последний передает данные первому. Обмен происходит N раз, после чего матрицы C' на каждом процессе оказываются вычисленными полностью и могут быть объединены в результирующую матрицу C.

Новости

22.10.2012
04.09.2012
05.04.2012
06.03.2012
02.03.2012