М. Н. Геворкян, А. В. Королькова, Д. С. Кулябов Параллельное программирование



Pdf көрінісі
бет7/7
Дата21.11.2019
өлшемі0,58 Mb.
#52198
1   2   3   4   5   6   7
Байланысты:
параллель

Тема интерактивного

занятия

Вид занятия

Труд.

(час.)

1

1



Написание программ на

языке Fortran

Лаб. раб., выполня-

емая малой группой

(2–3 чел.)

15


Геворкян М. Н., Королькова А. В., Кулябов Д. С. Параллельное программирование

75

2



2

Решение задач линейной

алгебры с помощью биб-

лиотеки LAPACK

Лаб. раб., выполня-

емая малой группой

(2–3 чел.)

12

3



3

Написание

парал-

лельных


программ

с

помощью



технологии

OpenMP


Лаб. раб., выполня-

емая малой группой

(2–3 чел.)

12

4



4

Написание

парал-

лельных


программ

с

помощью



технологии

MPI


Лаб. раб., выполня-

емая малой группой

(2-3 чел.)

12

Лабораторный практикум





п/п



р/д

Наименование лабораторных работ

Труд.

(час.)

1.

2



Написание программ на языке Fortran

15

2.



2

Решение задач линейной алгебры с помощью

библиотеки LAPACK

12

3.



3

Написание параллельных программ с помощью

технологии OpenMP

12

4.



4

Написание параллельных программ с помощью

технологии MPI

12

Итого:



51

Практические занятия (семинары)

Практические занятия (семинары) не предусмотрены.



Примерная тематика курсовых проектов (работ)

Курсовые работы не предусмотрены.



76

УМК дисциплины



Учебно-методическое и информационное обеспечение

дисциплины

а) Основная литература

1. Гергель В.П., Стронгин Р.Г. Основы параллельных вычислений для

многопроцессорных вычислительных систем. — Н. Новгород: ННГУ,

2001.

2. Богачев К.Ю. Основы параллельного программирования. — М.: БИ-



НОМ. Лаборатория знаний, 2003.

3. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. — СПб.:

БХВ-Петербург, 2002.

4. Немнюгин С., Стесик О. Параллельное программирование для мно-

гопроцессорных вычислительных систем. — СПб.: БХВ-Петербург,

2002.


б) Дополнительная литература

1. Березин И.С., Жидков И.П. Методы вычислений. — М.: Наука, 1966.

2. Дейтел Г. Введение в операционные системы. Т. 1. — М.: Мир, 1987.

3. Кнут Д. Искусство программирования для ЭВМ. Т. 3: Сортировка и

поиск. — М.: Мир, 1981.

4. Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ.

— М.: МЦНТО, 1999.

5. Корнеев В.В. Параллельные вычислительные системы. — М.: Нолидж,

1999.

6. Корнеев В.В. Параллельное программирование в MPI. — Москва-Ижевск:



Институт компьютерных исследований, 2003.

7. Тихонов А.Н., Самарский А.А. Уравнения математической физики. —

М.: Наука, 1977.

в) Программное обеспечение:

1. ОС Linux,

2. Компилятор gcc (gfortran),

3. Библиотека LAPACK,

4. Библиотеки MPI, OpenMP.

г) Базы данных, информационно-справочные и поисковые системы:

не требуются.



Материально-техническое обеспечение дисциплины

Москва, ул. Орджоникидзе, д. 3, корп. 1, 5, лаборатория «Управление

инфокоммуникациями»: ауд. 110: комплект жидкокристаллический дисплей

Sharp PNL702B, Монитор 24”Acer V243HAOBD, системный блок (процес-

сор Intel Core i7-2600 OEM <3.40GHz, 8Mb, 95W, LGA1155(Sandy Bridge)>,

16GB ОП, HDD 2 TB), ноутбук Toshiba Satellite 17/300GB Intel Core2 2.4

GHz (9 шт.); ауд. 116: проектор DMS800 с интерактивной доской Board


Геворкян М. Н., Королькова А. В., Кулябов Д. С. Параллельное программирование

77

1077, HP xw7800, Intel Core2 2.4 GHz (8 шт.); дисплейные классы ДК3, ДК4,



ДК5, ДК6, ДК7, Intel Core i3-550 3.2 GHz – 60 шт.

Методические рекомендации по организации изучения

дисциплины

Учебным планом на изучение дисциплины отводится один семестр. Про-

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

работы в середине семестра, подготовку и сдачу лабораторных работ в те-

чение семестра.

Первый модуль составляют:



– Основные сведения о языке Фортран. История развития. Его преиму-

щества в области научных вычислений по сравнению с другими язы-

ками высокого уровня. Структура программы. Типы данных. Встроен-

ные операции и функции. Операторы управления и ветвления. Массивы

и работа с ними: описание массивов, задание массивов, динамические

массивы, основные функции работы с массивами как матрицами. Ввод

и вывод.

– Основные сведения. Матричные разложения и их использование для чис-

ленных расчётов. Система наименований подпрограмм LAPACK. Мат-

ричные разложения. Процедуры SGESV, SGETRF, SGEEV, SGESVD.

Второй модуль составляют:



– Основные сведения. OpenMP и Fortran. Нити и процессы. Параллельные

и последовательные области. Параллельные циклы и параллельные об-

ласти. Автоматическое распараллеливание циклов.

– Основные сведения. Способы распараллеливания численных методов.

Основные процедуры MPI. Типы данных MPI. Способы передачи сооб-

щений. Прием и передача сообщений процессами.


78

Фонды оценочных средств

Примерные тестовые задания

1. Какая из этих архитектур процессора относится к CISC?

(a)


x86

(b)


ARM

(c)


PowerPC

(d)


SPARC

2. Какие компьютеры можно отнести к классу MIMD классификации Фли-

на?


(a)

Однопроцессорные последовательные системы.

(b)

Векторно-конвейерные системы.



(c)

Многопроцессорные системы.

(d)

Многоядерные системы.



3. Какие компьютеры можно отнести к классу NISD классификации Фли-

на?


(a)

Однопроцессорные последовательные системы.

(b)

Векторно-конвейерные системы.



(c)

Многопроцессорные системы.

(d)

Ни один — класс пуст.



4. Какие компьютеры можно отнести к классу SIMD классификации Фли-

на?


(a)

Однопроцессорные последовательные системы.

(b)

Векторно-конвейерные системы.



(c)

Многопроцессорные системы.

(d)

Многоядерные системы.



5. Какие компьютеры можно отнести к классу SISD классификации Фли-

на?


(a)

Однопроцессорные последовательные системы.

(b)

Векторно-конвейерные системы.



(c)

Многопроцессорные системы.

(d)

Многоядерные системы.



Геворкян М. Н., Королькова А. В., Кулябов Д. С. Параллельное программирование

79

6. Какие параметры оптимизирует процессорная архитектура RISC?

(a)

Число циклов на одну инструкцию



(b)

Время на один цикл

(c)

Число инструкций на задачу



7. Какой класс классификации Флина не был дополнительно разбит на под-

классы Вангом и Бриггсом?

(a)

SISD


(b)

SIMD


(c)

MIMD


(d)

MISD


8. Какой параметр оптимизирует процессорная архитектура CISC?

(a)


Число циклов на одну инструкцию

(b)


Время на один цикл

(c)


Число инструкций на задачу

9. К какому классу из классификации Флина применяется классификация

Джонсона?

(a)

SISD


(b)

SIMD


(c)

MIMD


(d)

MISD


10. К какому классу из классификации Флина применяется классификация

Хокни?


(a)

SISD


(b)

SIMD


(c)

MIMD


(d)

MISD


11. К какому классу по классификации Фенга относится большинство со-

временных компьютеров?

(a)

Разрядно-последовательные/пословно-последовательные



(b)

Разрядно-параллельные/пословно-последовательные

(c)

Разрядно-последовательные/пословно-параллельные



(d)

Разрядно-параллельные/пословно-параллельные



12. Конвейерная обработка характеризуется

(a)


Загрузкой операндов в векторные регистры

(b)


Операциями с векторами

(c)


Операциями с матрицами

(d)


Выделением отдельных этапов выполнения общей операции

80

УМК дисциплины



13. Сколько типов вычислительных машин выделяется в классификации

Шора?


(a)

3

(b)



4

(c)


5

(d)


6

14. Возможна ли передача параметров программе, написанной на Фортране

через командную строку (например, ./prog -e 10 -p 60)? Укажите все подхо-

дящие варианты.

(a)


Да, с использованием сторонней библиотеки

(b)


Да, в стандарте F2003

(c)


Нет

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

(a)


Использование специального оператора

(b)


Использование указателя на начало массива

(c)


Память всегда выделяется динамически

(d)


Динамические массивы в F90 не реализованы

16. Какие из вариантов определения массива сработают в gfortran?

(a)


real, dim(1:10) :: A[]

(b)


real,dimension[1:10] :: A(:)

(c)


real, dimension(1:10) :: A

(d)


real, dimension(10) :: A

17. Какие из приведённых ниже типов данных не поддерживает Фортран?

(a)


Целый (integer)

(b)


Вещественный (real)

(c)


Текст (text)

(d)


Строка (string)

18. Какие из приведённых ниже типов данных не поддерживает Фортран?

(a)


Целый (integer)

(b)


Вещественный (real)

(c)


Текст (text)

(d)


Строка (string)

19. Какие из приведённых ниже типов данных не поддерживает Фортран?

(a)


Комплексные числа

(b)


Вещественный двойной точности

(c)


Символьный (character)

(d)


Кватернионы

Геворкян М. Н., Королькова А. В., Кулябов Д. С. Параллельное программирование

81

20. Какие из приведённых ниже типов данных поддерживает Фортран?

(a)

boolean


(b)

bool


(c)

logical


(d)

int


21. Какие из приведённых ниже типов данных поддерживает Фортран?

(a)


list

(b)


tuple

(c)


logical

(d)


int

22. Какой вызов процедуры под названием proc верен?

(a)


call proc(1,x)

(b)


callproc proc(1,x)

(c)


subprogram proc(1,x)

(d)


exec proc(1,x)

23. Какой из вариантов определения массива не сработает в gfortran?

(a)


real, dimension(1:n) :: x

(b)


real :: x(1:n)

(c)


real, dimension(n) :: x

(d)


real, dimension :: x[1:n]

24. Как расшифровывается название языка «Fortran»?

(a)


Formula Translator

(b)


Formula Transcoder

(c)


Расшифровки не имеет

(d)


Назван в честь прозвища Джона Бэкуса

25. Может ли процедура менять значения переменных, переданных ей в

качестве аргументов?

(a)

Да, если это подпрограмма



(b)

Да, если это функция

(c)

Нет


26. Может ли функция менять значения переменных, переданных ей в ка-

честве аргументов?

(a)

Нет


(b)

Да

(c)



Устанавливается при определении функции

(d)


Зависит от реализации компилятора

82

УМК дисциплины



27. Типизация, используемая в современном Фортране (при указании ди-

рективы ‘implicit none‘)

(a)

строгая статическая типизация



(b)

строгая динамическая типизация

(c)

нестрогая статическая типизация



(d)

нестрогая динамическая типизация



28. Фортран это язык...

(a)


Основанный на объектно-ориентированном подходе

(b)


Не основанный на объектно-ориентированном подходе

(c)


Компилируемый в байт-код

(d)


Машинного уровня

29. Фортран — это язык...

(a)


Компилируемый

(b)


Интерпретируемый

(c)


Функциональный

(d)


Императивный

Перечень тем для контроля знаний

1. Цели и задачи введения параллельной обработки данных.

2. Различие многозадачных, параллельных и распределённых вычислений.

3. Способы построения многопроцессорных вычислительных систем.

4. Виды параллельных вычислительных систем.

5. Классификация параллельных вычислительных систем.

6. Модели параллельных вычислительных систем.

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

8. Уровни распараллеливания вычислений.

9. Расширение существующих языков программирования.

10. Общие способы распараллеливания алгоритмов.

11. Параллельные численные алгоритмы линейной алгебры.

12. Параллельные численные алгоритмы решения дифференциальных урав-

нений в частных производных.



83

Календарный план

Неделя

Самостоятельная ра-

бота студента

Число

часов

Лабораторные

заня-

тия

Число

часов

1

Цели и задачи введе-

ния параллельной об-

работки данных



3

Основные


сведения

о

языке



Фортран.

Его


преимущества

в

области



научных

вычислений по срав-

нению

с

другими



языками

высокого


уровня

3

2

История введения па-

раллелизма

3

Работа с массивами.

Написание

подпро-


грамм и функций. Ра-

бота с вводом/выводом



3

3

Различия многозадач-

ных,

параллельных



и

распределённых

вычислений

3

Примеры


программ.

Лабораторная

работа

№ 1


3

4

Проблема использова-

ния параллелизма

3

Лабораторная

работа

№ 1. Консультации



3

5

Принципы построения

параллельных

вычис-


лительных систем

3

Библиотека LAPACK.

Основные

сведения.

Матричные

разложе-


ния и их использова-

ние


для

численных

расчётов

3

6

Классификация МВС



3

Система


наимено-

ваний


подпрограмм

LAPACK.


Пример

использования.

Ла-

бораторная



работа

№ 2


3

7

Моделирование и ана-

лиз параллельных вы-

числений


3

Лабораторная

работа

№ 2. Консультации



3

8

Принципы разработки

параллельных алгорит-

мов и программ



3

Технология

OpenMP.

Основные


сведения.

Нити и процессы. Спо-

собы замера времени

исполнения. Примеры



3

84

УМК дисциплины



9

Оценка


эффектив-

ности


параллельных

вычислений.

Оценка

коммуникационной



трудности параллель-

ных алгоритмов



3

Параллельные секции.

Автоматическое распа-

раллеливание циклов



3

10

Характеристики топо-

логий сети передачи

данных.


Алгорит-

мы

маршрутизации.



Методы

передачи


данных.

3

Лабораторная

работа

№3. Консультации



3

11

Уровни


распаралле-

ливания


вычислений.

Этапы


построения

параллельных алгорит-

мов и программ

3

Лабораторная

работа

№ 3. Консультации



3

12

Технологические

аспекты

распарал-



леливания.

Системы


разработки параллель-

ных программ



3

Технология MPI. Ос-

новные сведения. Спо-

собы распараллелива-

ния численных мето-

дов


3

13

Создание


специали-

зированных

языков

программирования.



Расширение

суще-


ствующих

языков


программирования

3

Дальнейшие сведения

о MPI. Типы данных.

Способы передачи со-

общений

3

14

Стандарт OpenMP



3

Примеры программ с

использованием MPI

3

15

Стандарт MPI



3

Лабораторная

работа

№ 4. Консультации



3

16

Консультации



3

Консультации



3

17

Контрольное тестиро-

вание

3

Консультации



3

85

Балльно-рейтинговая система

Рейтинговая система оценки знаний студентов

Раздел

Тема

Формы

контроля

уровня

освоения

ООП

Бал-

лы

те-

мы

Бал-

лы

раз-

де-

ла

Тест

ЛР

ИЗ

Экза-

мен

Язык


программи-

рования


Fortran

и

Библиотека LAPACK



Fortran

7,5


15

2,5


-

25

25

Язык

программи-



рования

Fortran


и

Библиотека LAPACK

LAPACK 7,5

15

2,5



-

25

25

Технологии параллель-

ного


программирова-

ния


OpenMP

-

15



2,5

7,5


25

25

Технологии параллель-

ного

программирова-



ния

MPI


-

15

2,5



7,5

25

25

Итого

-

15



60

10

15



-

100

Таблица соответствия баллов и оценок

Баллы БРС

Традиционные оценки РФ

Оценки ECTS

95–100

5

A



86–94

B

69–85



4

C

61–68



3

D

51–60



E

31–50


2

FX

0–30



F

31–51


Зачет

Passed


86

УМК дисциплины



Правила применения БРС

1. Раздел (тема) учебной дисциплины считаются освоенными, если студент набрал

более 50 % от возможного числа баллов по этому разделу (теме).

2. Студент не может быть аттестован по дисциплине, если он не освоил все темы

и разделы дисциплины, указанные в сводной оценочной таблице дисциплины.

3. По решению преподавателя и с согласия студентов, не освоивших отдельные

разделы (темы) изучаемой дисциплины, в течение учебного семестра могут быть

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

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

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

балл (51 % от максимального балла).

4. При выполнении студентом дополнительных учебных заданий или повторного

прохождения мероприятий текущего контроля полученные им баллы засчиты-

ваются за конкретные темы. Итоговая сумма баллов не может превышать мак-

симальное количество баллов, установленное по данным темам (в соответствии

с приказом Ректора № 564 от 20.06.2013). По решению преподавателя предыду-

щие баллы, полученные студентом по учебным заданиям, могут быть аннули-

рованы.


5. График проведения мероприятий текущего контроля успеваемости формирует-

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

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

6. Время, которое отводится студенту на выполнение мероприятий текущего кон-

троля успеваемости, устанавливается преподавателем. По завершении отведён-

ного времени студент должен сдать работу преподавателю, вне зависимости от

того, завершена она или нет.

7. Использование источников (в том числе конспектов лекций и лабораторных ра-

бот) во время выполнения контрольных мероприятий возможно только с разре-

шения преподавателя.

8. Отсрочка в прохождении мероприятий текущего контроля успеваемости счита-

ется уважительной только в случае болезни студента, что подтверждается на-

личием у него медицинской справки, заверенной круглой печатью в поликли-

нике № 25, предоставляемой преподавателю не позднее двух недель после вы-

здоровления. В этом случае выполнение контрольных мероприятий осуществ-

ляется после выздоровления студента в срок, назначенный преподавателем. В

противном случае отсутствие студента на контрольном мероприятии признает-

ся не уважительным.

9. Если в итоге за семестр студент получил менее 31 балла, то ему выставляется

оценка F и студент должен повторить эту дисциплину в установленном порядке.

Если же в итоге студент получил 31–50 баллов, т. е. FX, то студенту разрешается

добор необходимого (до 51) количества баллов путем повторного одноразового

выполнения предусмотренных контрольных мероприятий, при этом по усмотре-

нию преподавателя аннулируются соответствующие предыдущие результаты.

Ликвидация задолженностей проводится в период с 07.02 по 28.02 (с 07.09 по

28.09) по согласованию с деканатом.



87

Сведения об авторах

Геворкян Мигран Нельсонович — кандидат физико-математических наук, до-

цент кафедры прикладной информатики и теории вероятностей РУДН.

Королькова Анна Владиславовна — кандидат физико-математических наук, до-

цент кафедры прикладной информатики и теории вероятностей РУДН.

Кулябов Дмитрий Сергеевич — кандидат физико-математических наук, доцент,

доцент кафедры прикладной информатики и теории вероятностей РУДН.


Учебное издание

Мигран Нельсонович Геворкян

Анна Владиславовна Королькова

Дмитрий Сергеевич Кулябов

Параллельное программирование

Тематический план изданий учебной и научной литературы

2014 г., №18

Редактор И.Л. Панкратова

Технический редактор Н. А. Ясько

Компьютерная вёрстка М. Н. ГеворкянА. В. КорольковаД. С. Кулябов

Дизайн обложки Н. А. Ясько

Подписано в печать 20.10.2014 г. Формат 60



×84/16. Печать офсетная.

Усл. печ. л. 5,5. Тираж 500 экз. Заказ № 1428.

Российский университет дружбы народов

115419, ГСП-1, г. Москва, ул. Орджоникидзе, д. 3

Типография РУДН

115419, ГСП-1, г. Москва, ул. Орджоникидзе, д. 3, тел. 952-04-41

View publication stats

View publication stats



Document Outline

  • Fortran
    • История языка Fortran
    • Элементы и объекты программы
    • Операторы управления
    • Процедуры: подпрограммы и функции
    • Массивы и работа с ними
    • Ввод и вывод. Форматирование
    • Алгоритмы умножения матриц
    • Задания для лабораторной работы
    • Содержание отчёта
    • Контрольные вопросы
  • Библиотека LAPACK
    • Назначение библиотеки LAPACK
    • Процедуры LAPACK
    • Процедура sgesv решения СЛАУ
    • Процедура sgetrf вычисления LUP-разложения
    • Процедура sgeev вычисления собственных векторов и собственных значений
    • Процедура sgesvd вычисления SVD-разложения
    • Задания для лабораторной работы
    • Содержание отчёта
    • Контрольные вопросы
  • OpenMP
    • Введение
    • OpenMP и Fortran
    • Параллельные и последовательные области
    • Параллельные циклы
    • Параллельные секции
    • Задания для лабораторной работы
    • Содержание отчёта
    • Контрольные вопросы
  • MPI
    • Введение
    • MPI и Fortran
    • Основные процедуры MPI
    • Приём и передача сообщений
    • Задания для лабораторной работы
    • Содержание отчёта
    • Контрольные вопросы
  • Литература
  • Учебно-методический комплекс дисциплины «Параллельное программирование»
    • Программа дисциплины
      • Цели и задачи дисциплины
      • Место дисциплины в структуре ООП
      • Требования к результатам освоения дисциплины
      • Объем дисциплины и виды учебной работы
      • Содержание дисциплины
      • Лабораторный практикум
      • Практические занятия (семинары)
      • Примерная тематика курсовых проектов (работ)
      • Учебно-методическое и информационное обеспечение дисциплины
      • Материально/техническое обеспечение дисциплины
      • Методические рекомендации по организации изучения дисциплины
    • Фонды оценочных средств
      • Примерные тестовые задания
      • Перечень тем для контроля знаний
    • Календарный план
    • Балльно-рейтинговая система
    • Сведения об авторах


Достарыңызбен бөлісу:
1   2   3   4   5   6   7




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет