Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Судаков / Лекции / lec17_chmet.ppt
Скачиваний:
30
Добавлен:
20.03.2015
Размер:
653.82 Кб
Скачать

Распараллеливание некоторых численных методов

Судаков А.А.

“Параллельные и распределенные вычисления” Лекция 17

План

Нахождение суммы значений

Умножение матриц

Решение систем линейных уравнений

Сумма последовательности значений

Нахождение суммы большого количества слагаемых

Численное интегрирование

Суммирование рядов

Умножение векторов

Последовательный вариант

// f() – підпрограма обчислення fi sum=0;

for(i=0; i<n; i++){ sum+=f(i);

}

Походы к распараллеливанию суммирования

Конвейеризация последовательности операций

Векторизация

Разбиение цикла на блоки

Разбиение цикла на блоки

Суммирование

ассоциативно

Цикл разбивается на блоки

Каждый процессор выполняет свой блок цикла параллельно с остальными

Результаты работы всех процессоров складываются

//p – кількість процесорів

//k – номер поточного процессора від 0 до p-1

//f() – підпрограма обчислення fi

sum=0;

for(i=k; i<n; i+=p){ sum+=f(i);

}

reduce(0,sum);

Оценка количества операций

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

Nf – количество операций вычисления функции

Время выполнения параллельного суммирования

Время передачи данных

Коэффициент ускорения

n N f 1 t

n N f 1 t / p

(tc to ) log2 p

n N f 1 t

n N f 1 t / p (tc to ) log2 p

Эффективность

распараллеливания

суммированияКоэффициент эффективности

Ускорение при распараллеливании будет когда

При большом количестве процессоров

При увеличении количества процессоров эффективность падает

При увеличении количества процессорных операций эффективность растет

Конвейер

Количество пересылок равно p-1

Эффективность ниже, чем при число параллельной обработке

Существует возможность выполнения асинхронных операций

Процессор, который закончил работу может сразу же приступить к выполнению дальнейшей работы

Процессор 1

Начал выполнять Дальнейшую работу

Процессор 2

 

Процессор 3

Получил результат

 

Получил результат

Процессора 1,

 

Процессора 2,

выполнил суммирование

 

выполнил суммирование

Передал дальше

 

Передал дальше

 

 

 

Графическая иллюстрация

Конвейер дает худшие результаты по ускорению, но не требует синхронизации между всеми процессорами и можно уменьшит время простоя даже для гетерогенной системы

Умножение матриц

Блочное представление дает возможность вычислять блок результата параллельно с остальными блоками результата

Рассмотрим пример для квадратной сетки размерности k, блоков размерности m и матрицы размерности n, количество процессоров p

Соседние файлы в папке Лекции