Нижегородский государственный университет им. Н.И.Лобачевского
Опубликован: 02.10.2012 | Доступ: свободный | Студентов: 1754 / 201 | Длительность: 17:47:00
Специальности: Программист
Лекция 1:

Математические основы параллельных вычислений

Лекция 1: 1234 || Лекция 2 >

Ярусно-параллельная форма графа алгоритма


Как определить и сделать понятным ресурс параллелизма в графе алгоритма (в программе, в алгоритме) ?



- начальная вершина каждой дуги расположена на ярусе с номером меньшим, чем номер яруса конечной вершины,

- между вершинами, расположенными на одном ярусе, не может быть дуг.


Высота ЯПФ – это число ярусов,

Ширина яруса – число вершин, расположенных на ярусе,

Ширина ЯПФ – это максимальная ширина ярусов в ЯПФ.

Высота ЯПФ = сложность параллельной реализации алгоритма/программы.



Высота канонической ЯПФ = длине критического пути + 1.

for( i = 0; i < n; ++i)
   for( j = 0; j < m; ++j)
      A[i][j] = A[i][j–1] + C[i][j]∗x;

Чему, согласно закону Амдала, равно максимальное ускорение, которое можно получить при исполнении данного фрагмента на параллельной вычислительной системе?

Закон Амдала:

S \le \frac 1{\alpha+ \frac {(1-\alpha)}{\rho}}}

где:

\alpha- доля последовательных операций,

\rho– число процессоров в системе.

S \approx \frac 1{\alpha}
\alpha = \frac {Число\ последовательных\ операций}{Общее\ число\
операций} = \frac {m} {n * m}= \frac 1{m}
S \approx n

Виды параллелизма в алгоритмах и программах


Конечный параллелизм определяется информационной независимостью некоторых фрагментов в тексте программы.

Массовый параллелизм определяется информационной независимостью итераций циклов программы.

Конечный параллелизм.

Массовый параллелизм.



Координатный параллелизм.

#pragma omp parallel for
for( i = 0; i < n; ++i)
   for( = 0; j < m; ++j)
      A[i][j] = A[i][j–1] + C[i][j]∗x;

Утверждение: для того чтобы цикл был параллельным необходимо и достаточно, чтобы для любой тройки графа алгоритма данного цикла включение

\Delta_i \subset G_i
было верным, где

\Delta_i— это многогранник из тройки,

G_i= {f1 = i1,

i1 — это параметр анализируемого цикла,

f1 — это первая компонента векторной функции Fi из тройки.

#pragma omp parallel for
for( i = 0; i < n; ++i)
   for( = 0; j < m; ++j)
      A[i][j] = A[i][j–1] + C[i][j]∗x;

Лекция 1: 1234 || Лекция 2 >
Дмитрий Остапенко
Дмитрий Остапенко

поддерживаю выше заданые вопросы

 

Павел Каширин
Павел Каширин

Скачал архив и незнаю как ничать изучать материал. Видео не воспроизводится (скачено очень много кодеков, различных плееров -- никакого эффекта. Максимум видно часть изображения без звука). При старте ReplayMeeting и Start в браузерах google chrome, ie возникает script error с невнятным описанием. В firefox ситуация еще интереснее. Выводится: 

Meet Now: Кукаева Светлана Александровна. 

Meeting Start Time: 09.10.2012, 16:58:04
Meeting Stop Time: 09.10.2012, 18:45:18
Recording Duration:01:47:14

Downloading...

Your Web browser is not configured to play Windows Media audio/video files.

Make sure the features are enabled and available.