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

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

Ленточный алгоритм

Алгоритм представляет собой итерационную процедуру, количество итераций которой совпадает с числом подзадач.
  • На каждой итерации алгоритма каждая подзадача содержит по одинаковому количеству строк матрицы А и матрицы В
  • При выполнении итерации проводится скалярное умножение содержащихся в подзадачах строк, что приводит к получению соответствующих элементов результирующей матрицы С
  • По завершении вычислений в конце каждой итерации столбцы матрицы В должны быть переданы между подзадачами с тем, чтобы в каждой подзадаче оказались новые столбцы матрицы В и могли быть вычислены новые элементы матрицы C
  • По завершении итераций строки собираются в единую матрицу C
При этом данная передача столбцов между подзадачами должна быть организована таким образом, чтобы после завершения итераций алгоритма в каждой подзадаче последовательно оказались все столбцы матрицы В

Алгоритм Фокса

Пусть перемножаемые матрицы A и B имеют порядок n. Количество процессов является полноым квадратом, квадратный корень которого кратен n. В алгоритме Фокса матрицы разделяются среди процессов в виде клеток шахматной доски. При этом процессы рассматриваются как виртуальная двухмерная сетка, и каждому процессу назначена подматрица каждого множителя.
В конце работы полученные блоки собираются в единую матрицу.

Алгоритм состоит в следующем:

for(step = 0; step < q; step++)
{
  • Выбрать подматрицу A в каждой строке
    для всех процессов
  • В каждой строке для всех процессов разослать
    сетку подматриц, выбранную в этой строке для
    других процессов в этой строки
  • В каждом процессе, перемножить полученную подматрицу
    A на подматрицу B, находящуюся в процессе
  • В каждом процессе, отослать подматрицу B процессу,
    расположенному выше. (Для процессов первой строки
    отослать подматрицу в последнюю строку.)
}

Новости

22.10.2012
04.09.2012
05.04.2012
06.03.2012
02.03.2012