Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Пример работы Fox's алгоритма




Рассмотрим работу Fox's алгоритма на примере умножения матриц 6-го порядка на 9-ти процессорах, то есть n=6, а р=9. В этом случае каждому процессору назначается подматрица порядка n/(р1/2) = 2 от каждой из матриц А, В и С и Fox's алгоритм выполняет умножение матриц за р1/2 = 3 этапа:

Этап 0 (шаг 1 (слева), шаг 2 (по центру), шаг 3 (справа)):

 


На начальном этапе происходит рассылка подматриц, стоящих на главной диагонали, процессорам, работающим с подматрицами в той же строке. Далее на каждом процессоре происходит умножение полученной диагональной подматрицы на подматрицу , хранящуюся на данном процессоре. Результат умножения помещается в подматрицу процессора (i, j). Здесь i, j изменяются от 0 до 2. Перед переходом к следующему этапу происходит перемещение подматрицы от процессора (i, j) к процессору (i-1 j), то есть к непосредственно "верхнему" процессору. Процессоры нулевой строки посылают подматрицы процессорам последней (в данном случае второй) строки.

 

Этап 1 (слева) и этап 2 (справа):  

 

На первом этапе также происходит рассылка, но только уже подматриц, где q = р1/2 = 3, а i изменяется от 0 до 2. То есть процессоры нулевой, первой и второй строк получат подматрицы, и А2,0 соответственно. Далее на каждом процессоре происходит умножение полученной подматрицы на подматрицу полученную на предыдущем этапе от процессора непосредственно нижней строки. Результат умножения складывается с подматрицей и снова в нее записывается. Перед переходом к следующему этапу снова происходит восходящее перемещение подматриц , аналогичное их перемещению на этапе 0.

Второй(ив данном случае последний) этап работы Fox's алгоритма полностью аналогичен предыдущим этапам и может быть описан следующей последовательностью шагов:

§ рассылка подматрицы процессорам i-той строки (на рисунке эти подматрицы выделены)

§ умножение на процессоре (i, j) подматриц и (Понятно, что в общем случае, подматрицы на данном этапе и предыдущем не совпадают)

§ = +*

 

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

 

Варианты заданий

№ Варианта Алгоритм умножения Размер матрицы Число процессоров
  Ленточный 10х10  
  Фокс 16х16  
  Ленточный 20х20  
  Фокс 16х16  
  Ленточный 10х10  
  Фокс 16х16  
  Ленточный 20х20  
  Фокс 16х16  
  Ленточный 10х10  
  Фокс 16х16  
  Ленточный 20х20  
  Фокс 10х10  
  Ленточный 16х16  
  Фокс 20х20  

 

Содержание отчета

· Постановка задачи

· Подготовка 8 различных наборов исходных данных

· Текст параллельной программы на языке С.

· Результаты запуска программы на одном узле, время выполнения.

· Результаты запуска программы на нескольких узлах, время выполнения.

· Построение статистики по вычислениям на разных наборах данных.

· Рекомендации по улучшению быстродействия программы.

 

 

Список литературы

1. Дональд Э.Кнут. Искусство программирования, т.3. Сортировка и

поиск 2-е изд.: Пер. с английского – М.: Издательский дом «Вильямс»,

2001.

2. Параллельные алгоритмы сортировки больших объемов данных, М.В. Якобовский, 2004, Учебный курс Intel WinterSchool.

 

 




Поделиться с друзьями:


Дата добавления: 2014-12-26; Просмотров: 719; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.