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

528

.pdf
Скачиваний:
0
Добавлен:
21.11.2023
Размер:
127.56 Кб
Скачать

Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования

«Нижегородский государственный архитектурно-строительный университет»

Платов А.Ю.

ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ

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

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

для обучающихся по дисциплине «Параллельное программирование»

по направлению подготовки 09.03.04 Программная инженерия профиль Разработка программно-информационных систем

Нижний Новгород

2018

УДК 004.9

Платов А.Ю. / Параллельное программирование [Электронный ресурс]: учеб.-метод. пос. / А.Ю. Платов; Нижегор. гос. архитектур. - строит. ун-т – Н. Новгород: ННГАСУ, 2018. – 13 с.– 1 электрон. опт. диск (CD-RW).

В настоящем учебно-методическом пособии по дисциплине «Параллельное программирование» даются конкретные рекомендации учащимся для освоения как основного, так и дополнительного материала дисциплины и тем самым способствующие достижению целей, обозначенных в учебной программе дисциплины. Цель учебно-методического пособия — это помощь в усвоении лекций, в подготовке к практическим занятиям.

Учебно-методическое пособие предназначено для обучающихся в ННГАСУ по дисциплине «Параллельное программирование» по направлению подготовки 09.03.04 Программная инженерия, профиль Разработка программно-информационных систем.

Учебно-методическое пособие ориентировано на обучение в соответствии с календарным учебным графиком и учебным планом по основной профессиональной образовательной программе направления 09.03.04 Программная инженерия, профиль Разработка программноинформационных систем, утверждённым решением учёного совета ННГАСУ от 02.03.2018 г. (протокол № 3).

©

А.Ю. Платов, 2018

©

ННГАСУ, 2018

2

Оглавление

1.

Общие положения ..........................................................................................................................

4

 

1.1

Цели изучения дисциплины и результаты обучения ...........................................................

4

 

1.2

Содержание дисциплины........................................................................................................

4

2.

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

6

 

2.1

Общие рекомендации по работе на лекциях.........................................................................

6

 

2.2

Общие рекомендации при работе с конспектом лекций .....................................................

6

 

2.3

Общие рекомендации по изучению материала лекций .......................................................

6

 

2.4

Контрольные вопросы.............................................................................................................

7

3.

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

9

 

3.1

Общие рекомендации по подготовке к практическим занятиям........................................

9

 

3.2

Примеры задач для практических занятий ...........................................................................

9

4.

Методические указания по организации самостоятельной работы........................................

10

 

4.1

Общие рекомендации для самостоятельной работы..........................................................

10

 

4.2

Темы для самостоятельного изучения.................................................................................

12

 

4.3

Учебно-методическое обеспечение самостоятельной работы..........................................

12

 

4.4

Задания для самостоятельной работы .................................................................................

12

3

1. Общие положения

1.1 Цели изучения дисциплины и результаты обучения

Основной целью освоения учебной дисциплины «Параллельное программирование» является изучение методов параллельного программирования для написания эффективных программ на языках С и Fortran:

В процессе освоения дисциплины студент должен Знать:

основные принципы, приемы и технологии параллельного программирование;

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

Уметь:

 

 

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

 

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

 

Владеть:

 

навыком составления простых паралелльных программ с матричными операциями

;

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

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

1.2 Содержание дисциплины

Материал дисциплины сгруппирован по следующим разделам:

1. Общие понятия

Архитектура процессоров. Средства повышения производительности оперативной памяти. Процессы, ресурсы, программы. Виды взаимодействия процессов.

2. Системные средства управления процессами

Стандарты системы UNIX. Средства управления процессами UNIX. Синхронизация и взаимодействие процессов.

3. Потоковая модель вычислительных процессов.

Управление задачами. Синхронизация и взаимодействие задач.

4. Интерфейс MPI.

4

Устройство MPI-программы. Коммуникаторы и обмен сообщениями. Ввод-вывод в MPIпрограмме. Примеры решения задач.

5. Другие средства создания параллельных программ.

Стандарт OpenMPI. Программирование для кластерных систем. Написание параллельных программ на языке Fortran.

5

2. Методические указания по подготовке к лекциям

2.1 Общие рекомендации по работе на лекциях

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

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

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

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

2.2Общие рекомендации при работе с конспектом лекций

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

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

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

2.3 Общие рекомендации по изучению материала лекций

Раздел 1: «Общие понятия» – 1 лекциф.

Цель: дать основы понимания терминологии предметной области.

Содержание: Архитектура процессоров. Средства повышения производительности оперативной памяти. Процессы, ресурсы, программы. Виды взаимодействия процессов. Задачи на изучение возможности распараллеливания.

Раздел 2: «Системные средства управления процессами» 2 лекции.

6

Цель: изучить средства управления процессами.

Содержание: Стандарты системы UNIX. Средства управления процессами UNIX. Синхронизация и взаимодействие процессов. Написание программ по управлению процессами.

Раздел 3: «Потоковая модель вычислительных процессов.». – 2 лекции.

Цель: изучить основы управления потоками.

Содержание: Управление задачами. Синхронизация и взаимодействие задач. Написание программ по управлению потоками.

Раздел 4: «Интерфейс MPI.». – 2 лекции.

Цель: изучить основы работы с интерфейсом MPI.

Содержание: Устройство MPI-программы. Коммуникаторы и обмен сообщениями. Вводвывод в MPI-программе. Примеры решения задач. Написание программ с использованием MPI.

Раздел 5: «Другие средства создания параллельных программ». — 1 лекция.

Цель: изучить прочие средства параллельного программирования.

Содержание: OpenMPI. Программирование для кластерных систем. Написание параллельных программ на языке Fortran. Программирование на языке FORTRAN.

2.4Контрольные вопросы

1.Вычислить интеграл на языке FORTRAN

2.Вычислить интеграл с помощью распараллеливания процессов.

3.Вычислить интеграл с помощью распараллеливания задач.

4.Вычислить интеграл с помощью MPI.

5.Вычислить произведение матриц на языке FORTRAN

6.Вычислить произведение матриц с помощью распараллеливания процессов.

7.Вычислить произведение матриц с помощью распараллеливания задач.

8.Вычислить произведение матриц с помощью MPI.

9.Вычислить умножение матрицы на вектор на языке FORTRAN

10.Вычислить умножение матрицы на вектор c помощью распараллеливания процессов

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

12.Вычислить умножение матрицы на вектор с помощью MPI.

13.Решение задачи Дирихле для уравнения Пуассона на языке FORTRAN

14.Решение задачи Дирихле для уравнения Пуассона с распараллеливанием задач.

15.Решение задачи Дирихле для уравнения Пуассона c помощью распараллеливания процессов

16.Решение задачи Дирихле для уравнения Пуассона с помощью MPI.

17.Реализация алгоритма Гаусса для СЛАУ на языке FORTRAN

18.Реализация алгоритма Гаусса для СЛАУ с распараллеливанием задач.

19.Реализация алгоритма Гаусса для СЛАУ c помощью распараллеливания процессов

20.Реализация алгоритма Гаусса для СЛАУ с помощью MPI.

21.Моделирование движения частиц под воздействием гравитации на языке FORTRAN

22.Моделирование движения частиц под воздействием гравитации с распараллеливанием задач.

23.Моделирование движения частиц под воздействием гравитации c помощью распараллеливания процессов

7

24.Моделирование движения частиц под воздействием гравитации с помощью MPI.

25.Обход графа на языке FORTRAN

26.Обход графа с распараллеливанием задач.

27.Обход графа c помощью распараллеливания процессов

28.Обход графа с помощью MPI.

8

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

3.1Общие рекомендации по подготовке к практическим занятиям

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

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

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

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

3.2 Примеры задач для практических занятий

Пример № 1 Вычислить интеграл с помощью распараллеливания процессов.

Пример № 2 Вычислить интеграл с помощью распараллеливания задач.

Пример № 3

Вычислить интеграл с помощью MPI.

9

4. Методические указания по организации самостоятельной работы

4.1 Общие рекомендации для самостоятельной работы

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

Целями самостоятельной работы студентов являются:

-систематизация и закрепление полученных теоретических знаний и практических умений студентов;

-углубление и расширение теоретических знаний;

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

-развитие познавательных способностей и активности студентов:

-формирования самостоятельности мышления, способностей к саморазвитию, самосовершенствованию и самореализации.

Запланированная в учебном плане самостоятельная работа студента рассматривается как связанная либо с конкретной темой изучаемой дисциплины, либо с подготовкой к курсовой, дипломной работе, а также к защите ВКР. В данном разделе рассматривается только самостоятельная работа первого вида.

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

Планирование самостоятельной работы включает:

-уяснение задания на самостоятельную работу;

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

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

товки.

Составление плана дисциплинирует и повышает организованность в работе.

На втором этапе реализуется составленный план. Реализация включает в себя:

-изучение рекомендованной литературы;

-составление плана (конспекта) по изучаемому материалу (вопросу);

-взаимное обсуждение материала.

Необходимо помнить, что на лекции обычно рассматривается не весь материал. Оставшаяся восполняется в процессе самостоятельной работы. В связи с этим работа с рекомендованной литературой обязательна.

Работа с литературой и иными источниками информации включает в себя две группы приемов: техническую, имеющую библиографическую направленность, и содержательную. Первая группа – уяснение потребностей в литературе; получение литературы; просмотр литературы на уровне общей, первичной оценки; анализ надежности публикаций как источника информации, их относимости и степени полезности. Вторая – подробное изучение и извлечение необходимой ин-

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]