Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Задание 1. Практический курс MPI. Текущие задания.

Практический курс MPI. Текущие задания.

По всем заданиям нужно представить программный код и результаты. Результаты представить в виде графиков, желательно построенных в gnuplot, необходимых оценок, формул и кратких выводов.

Параметры для задач подбираете для наиболее наглядного результата.

Задание №1

1) Определение latency для двух процессоров на одном узле и на разных узлах.

2) Определение зависимости пропускной способности от размера сообщения. Определение максимальной пропускной способности.

Задание №2

Программа для расчёта числа ПИ

Все результаты представить в виде графиков, желательно построенных в gnuplot, и кратких выводов. Параметры подбираете для наиболее наглядного результата.

1) Зависимость времени вычисления от числа процессоров и зависимость ошибки от числа разбиений.

Сделать два варианта разбиения отрезка интегрирования: как в примере и самое простое разбиение по 1/n части отрезка на каждый из n выделенных процессоров.

2) Для этих вариантов разбиений построить распределение времён расчёта на каждом процессоре для расчёта числа пи

3) Для этих вариантов разбиений построить распределение времён расчёта на каждом процессоре для расчёта числа x^2 и e^x на отрезках [0; 10^N], где N> 3 выбираете самостоятельно

Задание №3

1) Рассчитать ускорение и эффективность для задачи с расчётом числа пи. Сравнить с теоретическими формулами с помощью аппроксимации в gnuplot.

2) Провести сравнительный анализ функций (выбор адекватного способа сравнения за Вами)

a. Sendrecv и ISend, IRecv

b. Коллективной операции и операции «точка-точка»

3) Провести распараллеливание программы поиска максимального элемента матрицы. Расписать все этапы распараллеливания. Оценить ускорение и эффективность распараллеливания, сравнить эти оценки с полученными при запуске задачи на кластере.


Итоговое задание

Нужно выполнить два задания из перечисленных ниже. Одно задание определяете как 1+ (остаток от деления Вашего номера в списке на 4). Второе задание выбираете самостоятельно.

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

Задание 1.

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

1. Составить программу решения систем линейных алгебраических уравнений с квадратной невырожденной матрицей порядка методом Гаусса (любой вариант метода) с использованием языков Си и MPI.

2. Провести испытание программы на системе , где

Решение .

3. Найти эксперементально зависимость времени решения системы как функции параметров и вычислить коэффициенты потерь

 


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

4. Добиться того, чтобы при заданном программа решала систему максимально возможного (по главному члену) порядка.

Задание 2. Перемножение квадратных матриц порядка любым способом

Тест: любой

Задание 3. Обращение матриц методом Жордана

Тест: матрица из системы уравнений

матрица :


Задание 4. Написать параллельную программу поиска всех решений задачи размещения N ферзей на шахматной доске K*K. Решением считается такое размещение, при котором ферзи не бьют друг друга.

Входные параметры программы:

· P - число параллельных процессов;

· N - количество ферзей;

· K - размер доски.

Замечание. Хорошая параллельная программа подразумевает, что, по возможности, выполняются следующие условия:

1. Работа в параллельных процессах не дублируется.

2. Вычислительная нагрузка на каждый процесс примерно одинакова.

3. При увеличении числа процессоров в n раз (и соответствующем увеличении числа процессов), время решении задачи уменьшается, в идеальном случае, в n раз.

 

 

<== предыдущая лекция | следующая лекция ==>
Самостоятельная работа по подготовке к занятию | З а д а н и е
Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.009 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал