Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

LEC01.Введение

.pdf
Скачиваний:
14
Добавлен:
14.04.2015
Размер:
871.61 Кб
Скачать

Пример распараллеливания алгоритма(1)

Последовательное и каскадное суммирование

По материалам проф. Гергеля

11

Пример распараллеливания алгоритма(2)

Поиск максимального элемента массива

а)

б)

По материалам проф. Гергеля

12

Показатели эффективности параллельных программ

p – количество вычислителей (ядер, процессоров) Tp – время выполнения программыпри

использованиии p вычислителей

По материалам проф. Бухановского

13

Закон Амдала

где – доля нераспараллеливаемых операций, р – количество вычислителей, T = T1.

14

Что способствует развитию параллельных вычислений

Ограниченностьроста производительности непараллельных компьютеров

Снижениестоимости многопроцессорных вычислительныхсистем

CrayT90:1.8 GFlops ($2,5 млн.,1995 год),

8 х IBM SP2:2.1 GFlops($0.5 млн., ???? год)

Появлениепарадигмы многоядерногопостроения процессоров.

15

Что замедляет развитие параллельных вычислений (1)

ГипотезаМинского(Minsky): ускорение,

параллельнойсистемы пропорциональнодвоичному логарифмуот числа процессоров.

ЗаконМура (Moore): мощность последовательных процессоров удваивается каждые 18 месяцев.

ЗаконГроша(Grosch): производительность компьютера возрастает пропорциональноквадрату его стоимости.

Сложностьосвоенияпринципов параллельного программирования.

16

Что замедляет развитие параллельных вычислений (2)

• Закон Амдала (невозможно избавиться от )

17

Домашнее задание №1

Задачи

Повторение/изучение языка Cи.

Исследование эффективности средств автоматического распараллеливания.

Окружение

Компилятор: gcc версии не ниже 4.7.2 ОС: любая разновидность Linux.

18

Виды автоматического распараллеливания

Полностью автоматический.

Полуавтоматический (указание на блокировки и измерение вычислительной сложности).

Управляемый (флаги компилятора, директивы линковщику)

19

Слабые стороны автоматического распараллеливания

Возможноошибочноеизменение логики программы.

Возможнопонижениескорости вместо повышения.

Отсутствие гибкости ручного распараллеливания.

Эффективнораспараллеливаются только циклы.

Невозможностьраспараллелить программы со сложнымалгоритмом работы.

20