Учебный план по дополнительной образовательной программе «Многопроцессорные вычислительные системы и параллельное программирование. - davaiknam.ru o_O
Главная
Поиск по ключевым словам:
страница 1
Похожие работы
Название работы Кол-во страниц Размер
Учебный план дополнительной образовательной программы краткосрочного... 1 166.16kb.
Программа вступительного экзамена по специальности 05. 13. 18 Математическое... 1 112.81kb.
Учебный план дополнительной профессиональной образовательной программы... 1 234.11kb.
Учебный план дополнительной образовательной программы 1 173.15kb.
Учебный план по дополнительной предпрофессиональной общеобразовательной... 1 192.58kb.
Учебный план среднесрочной дополнительной образовательной программы 1 50.1kb.
Учебный план по специальности 230101. 65 «Вычислительные машины,... 4 509.18kb.
Учебно-тематический план дополнительной образовательной программы... 1 134.97kb.
Летняя молодежная школа-стажировка «Высокопроизводительные вычисления... 1 20.94kb.
Учебный план среднесрочной дополнительной образовательной программы... 1 126.88kb.
Параллельные вычислительные системы (история) 1 54.35kb.
Грои: Ацтек(главный герой от которого ведется рассказ)-Свобода 1 98.13kb.
Направления изучения представлений о справедливости 1 202.17kb.

Учебный план по дополнительной образовательной программе «Многопроцессорные вычислительные - страница №1/1



МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное автономное образовательное учреждение

высшего профессионального образования

«ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»







УТВЕРЖДАЮ

Проректор по УМ и СР

Мостовая И. В
_________________________

«____»______________2011 г.



УЧЕБНЫЙ ПЛАН

по дополнительной образовательной программе

«Многопроцессорные вычислительные системы


и параллельное программирование.
Уровень 1
»

Цель программы - изучение суперкомпьютерных технологий (СКТ) и методов параллельного программирования с использованием СКТ, формирование навыков проведения научных исследований и расчетов, требующих больших вычислительных мощностей.

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

Срок обучения 72 часа.

Форма обучения без отрыва от основной работы (учебы).

Режим занятий от 8 до 30 часов в неделю, по выбору группы.

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

п/п

Наименование разделов, дисциплин и тем

Всего часов

В том числе:

Формы контроля

Лекции

Практика


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



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

14

8

2

4

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



Программирование многопроцессорных систем с общей памятью

20

12

4

4

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



Среда параллельного программирования MPI

26

14

8

4

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



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

12







12

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




Итого

72

34

14

24




Директор ЮГИНФО,

д.ф.-м.н., проф. Крукиер Л.А.
Руководитель программы:

к.ф.м.н. Дацюк В.Н.


Координатор программы:

зам. директора ЮГИНФО по учебной работе

к.т.н., доц. Лазарева С.А.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное автономное образовательное учреждение

высшего профессионального образования

«ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»







УТВЕРЖДАЮ

Проректор по УМ и СР

Мостовая И. В

_________________________



«____»______________2011 г.



УЧЕБНО-ТЕМАТИЧЕСКИЙ ПЛАН

программы

«Многопроцессорные вычислительные системы и параллельное программирование. Уровень 1»


п/п

Наименование разделов, дисциплин и тем

Всего часов

В том числе:

Формы контроля

Лекции

Практика


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



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

14

8

2

4

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

1.1.

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

2

2

0

0




1.2.

Краткая характеристика средств программирования многопроцессорных систем

2

2

0

0




1.3.

Высокопроизводительные вычисления на MPP системах

2

2

0

0




1.4.

Высокопроизводительный вычислительный кластер.

8

2

2

4






Программирование многопроцессорных систем с общей памятью

20

12

4

4

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

2.1.

Понятие операционной системы. Функции и задачи ОС.

2

2

0

0




2.2.

Понятие процесса. Поток. Планировщик.

2

2

0

0




2.3.

Библиотека Pthread

2

2

0

0




2.4.

Технология OpenMP

14

6

4

4






Среда параллельного программирования MPI

26

14

8

4

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

3.1.

Общая организация MPI

2

2

0

0




3.2.

Базовые функции MPI

4

2

2

0




3.3.

Коммуникационные операции типа ТОЧКА-ТОЧКА

6

2

2

2




3.4.

Коллективные операции

6

2

2

2




3.5.

Производные типы данных и передача упакованных данных

4

2

2

0




3.6.

Работа с группами и коммуникаторами

2

2

0

0




3.7.

Топология процессов

2

2

0

0






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

12







12

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

4.1.

Библиотека подпрограмм ScaLAPACK

6







6




4.2.

Использование библиотеки параллельных подпрограмм Aztec

6







6







Итого

72

34

14

24




Директор ЮГИНФО,

д.ф.-м.н., проф. Крукиер Л.А.
Руководитель программы:

к.ф.м.н. Дацюк В.Н.


Координатор программы:

зам. директора ЮГИНФО по учебной работе

к.т.н., доц. Лазарева С.А.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ

Федеральное государственное автономное образовательное учреждение

высшего профессионального образования

«ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»

Рабочая программа курса
«Многопроцессорные вычислительные системы и параллельное программирование. Уровень 1»



  1. Пояснительная записка

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

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

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

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

Курс практических занятий разбит на три части. Задачи первой части - обучить студентов основным навыкам работы в uniх-подобных операционных системах. Во второй части студенты приобретают практические навыки в разработке программ для многопроцессорных систем с общей памятью, с использованием технологии OpenMP. Третья часть посвящена изучению студентами на практике, библиотеки MPI и основам разработки программ для многопроцессорных систем с разделенной памятью.

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



Требования к начальным навыкам слушателей:

Знакомство с операционными системами семейства Unix/Linux, знание языков программирования Си и Фортран, численных методов.



Требования к уровню освоения содержания курса

Выпускники курса должны:



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

  • иметь представление о программных средствах, применяемых при разработке программ для многопроцессорных систем с общей памятью;

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

  • понимать принципы разработки параллельных программ и факторов, влияющих на их эффективность.

Категория слушателей:

Данная программа предназначена для тех, кто занимается компьютерным моделированием и решением объемных вычислительных задач. Рекомендуется преподавателям, научным сотрудникам, аспирантам и студентам естественно-научных факультетов и НИИ.



Форма обучения - очная, очно-заочная.

Продолжительность курса: 72 ч.

Схема обучения выбирается сформированной группой

Срок обучения: по договоренности со слушателями 1-4 месяца.

Режим занятий (по договоренности со слушателями от 4-х до 12 часов в неделю в вечернее время и в выходные дни). Слушатели обеспечиваются учебным местом, оборудованием и учебными материалами в электронном виде, предусмотренными программой.

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


  1. Содержание курса

Модуль 1. Введение в архитектуры и средства программирования. Обзор истории создания и развития многопроцессорных вычислительных систем. Современные тенденции в построении многопроцессорных вычислительных систем. Факторы, влияющие на эффективность выполнения программ. Принципы построения параллельных программ, оптимальный выбор для декомпозиций задачи на ряд подзадач. Определение эффективности параллельных программ. Особенности архитектуры вычислительного кластера. Основные приемы работы в операционной среде вычислительных кластеров. Работа с системой пакетной обработки задач.

Модуль 2. Программирование многопроцессорных систем с общей память. Понятие операционной системы. Основные задачи (ОС). Процесс. Поток. Понятие многозадачности. Многозадачность на многопроцессорных системах.

Алгоритм работы планировщика задач на примере планировщика из ядра Linux 2.6. Библиотека Pthread. Потоки. Семафоры. Блокировки.

OpenMP. История создания. Понятие инкрементального распараллеливания. Директивы OpenMP. Понятие clause. Директивы распределения работы. Директивы синхронизации.

Модуль 3. Программирование многопроцессорных систем с распределенной памятью. Стандарт Message Passing Interface(MPI). Реализации MPI.

Понятие параллельной программы. Операции передачи данных. Понятие коммуникаторов. Типы данных. Виртуальные топологии.

Структура функций библиотеки MPI. Типы функций. Различия в применении библиотеки в языках Си и Фортран. Функция инициализации. Функция завершения MPI программы. Функции аварийного завершения. Определения числа процессов в области связи.

Идентификация номера процессора. Базовые функции обмена сообщениями. Функции таймеров их особенности связанные с архитектурой. Классификация функций библиотеки MPI для организации передачи точка-точка. Список коммуникационных функций. Режимы выполнения коммуникационных операций. Этапы выполнения коммуникационных операций с использованием блокирующих функций. Структура принятого сообщения.

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

Функции коллективного завершения неблокирующих операций. Пакеты запросов. Набор коллективных операций, реализованный в библиотеки MPI.

Глобальные вычислительные операции. Отличительные особенности коллективных операций. Функция синхронизации процессов. Функция широковещательной рассылки. Функция MPI_Gather. Функция MPI_Allgather. Векторная функция MPI_Gatherv. Векторная функция MPI_Allgatherv. Функция MPI_Scatter. Векторная функция MPI_Scatterv. Функция MPI_Alltoall. Векторная функция MPI_Alltoallv.

Общее представление об операциях редукции в библиотеки MPI. Функция MPI_Reduce. Предопределенные операции в библиотеки MPI. Операции MAXLOG и MINLOG. Функция MPI_Allreduce. Функция MPI_Reduce_scatter. Функция MPI_Scan.

Принципы организации производных типов данных в библиотеки MPI. Специальные функции-конструкторы MPI_Type_contiguous, MPI_Type_vector, MPI_Type_hvector, MPI_Type_indexed, MPI_Type_hindexed, MPI_Type_struct. Функции определения размерности созданных типов MPI_Type_size, MPI_Type_extent. Функция регистратор созданного типа. Удаление созданного типа. Функция MPI_Pack. Функция MPI_Unpack. Функция MPI_Pack_size.

Понятия группы. Предопределенные группы. Понятие коммуникатора. Типы коммуникаторов. Функция MPI_Comm_test_inter. Функция определения числа процессов в группе. Функция определения номера процессора в группе. Функция установления соответствия между номерами процессов в двух группах. Создание группы с помощью коммуникатора. Уничтожение созданных групп.

Краткая характеристика функций работы с коммуникаторами. Сравнение двух коммуникаторов. Дублирование коммуникаторов. Создание коммуникатора. Функция разделения коммуникатора. Удаление коммуникатора.

Понятия виртуальной топологии. Какие виды топологии можно создавать в MPI. Зачем нужны виртуальные топологии? Топологии двух мерных и трех мерных сеток. Создание декартовой топологии. Определение оптимальной конфигурации сетки. Опрос числа измерений декартовой топологии. Получение детальной информации о структуре декартовой топологии.

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

Модуль 4. Библиотеки подпрограмм для многопроцессорных вычислительных систем. Решение задач линейной алгебры с помощью библиотеки ScaLAPACK на многопроцессорных архитектурах.

Пакеты линейной алгебры. Linpack, LAPACK.

Оптимизированная библиотека функций для линейной алгебры BLAS. Общая структура библиотеки BLAS. Параллельный вариант BLAS PBLAS.

Параллельный вариант библиотеки LAPACK ScaLAPACK. Локальная часть библиотеки ScaLAPACK. Использование высокооптимизированных библиотек в локальной части библиотеки ScaLAPACK. Общая характеристика библиотеки ScaLAPACK. Типы данных. Разделение функций по категориям. Система имен функций. Основные шаги при использовании библиотеки ScaLAPACK. Зависимость топологии процессов от вида матриц. Понятие дескриптора. Инициализация сетки процессоров. Распределение матриц на сетку. Особенности распределения матрицы по сетки процессоров. Формулы вычисления соответствия между локальной матрицей и глобальной. Обращение к подпрограмме библиотеки ScaLAPACK.

Общая организация библиотеки Aztec. Назначение библиотеки Aztec. Решатели, реализованные в библиотеке. Применение библиотеки для решения уравнений в частных производных. Конфигурационные параметры библиотеки Aztec. Подключение библиотеки к программам на языке Cи и Фортран. Управление работой решателя через параметры массива option и params. Выбор решателя, использование переобуславливателей. Определение формулы расчета невязки. Задание критерия сходимости. Функция идентификации процессов. Функция рассылки информации. Функция определения параметров декомпозиции матрицы. Функция преобразования глобальной индексации в локальную. Инициализация предопределенных параметров решателя. Функция решения системы уравнений. Представление матрицы в MSR формате. Алгоритм заполнения упакованной разреженной матрицы в MSR формате.

Использование параллельного программного комплекса Ansys.



  1. Методические рекомендации и пособия по изучению курса

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

Слушатели курса обеспечиваются учебными материалами в электронном виде, предусмотренными программой.



  1. Тесты и практические задания

Тесты (приведены без вариантов ответа. Полный комплект размещен на сайте http://sigma.parallel.ru/BankTest/Start/index.php)
1. Каково назначение библиотеки MPI?

2. Какая функция должна быть вызвана перед использованием библиотеки MPI в программе?

3. Чем отличаются функции MPI_Recv() и MPI_Irecv()?

4. Выберите правильные утверждения о Функции MPI_Barrier()

5. Чем отличаются функции MPI_Test() и MPI_Wait()?

6. Какие функции MPI позволяют отправить данные другому процессу?

7. Каково назначение функции MPI_Pack()?

8. Что такое производный тип данных в MPI?

9. Отметьте верные утверждения о размере и протяженности типа данных в MPI:

10. Какие функции MPI являются конструкторами производных типов?

11. Каким образом в MPI может быть создан новый коммуникатор?

12. Что понимается под топологией процессов в MPI?

13. Какой командой можно удалить задание из очереди в системе PBS?

14. С помощью какой команды можно посмотреть состояние очередей заданий в системе PBS?

15. На какие 3 категории разделяются подпрограммы библиотеки ScaLAPACK?

16. Подпрограмма библиотеки ScaLAPACK с именем PDGESV:

17. С какими типами матриц поддерживает работу библиотека ScaLAPACK?

18. Библиотека ScaLAPACK:

19. Описатель исходных объектов (матриц и векторов) библиотеки ScaLAPACK называют:

20. Сколько типов дескрипторов объектов используется в библиотеке ScaLAPACK?

21. Какую сетку процессоров можно использовать для распределения заполненных матриц в библиотеке ScaLAPACK?

22. Какая функция выполняет инициализацию процессорной сетки в библиотеке ScaLAPACK?

23. Какой способ распределения данных по процессорам используется в библиотеке ScaLAPACK для заполненных матриц общего вида?

24. Как в общем виде выглядит связь между глобальным (I) и локальным (i) номером строки при блочно-циклическом распределении матрицы в ScaLAPACK? (NP - количество строк в сетке процессоров, NB - размер блока, P - текущий номер строки в сетке процессоров)

25. Функция AZ_transform из библиотеки AZTEC:

26. Назовите основную вычислительную функцию библиотеки AZTEC:

27. Как задается режим работы решателя в библиотеке AZTEC?

28. Какой параметр определяет алгоритм решения в библиотеке AZTEC?

29. Назовите команды для подключения к удаленному серверу:

30. Какая переменная окружения в ОС Unix хранит пути поиска команд?

31. Пользователь user1 создал файл data.txt с правами -rwxr----x.Сможет ли пользователь user2 изменить содержимое этого файла?

32. Назовите операторы перенаправления потока в ОС Unix:

33. Как запустить программу command в фоновом режиме?

34. Введена командная строка cmd1 && cmd2. Выполнится ли команда cmd2 если выполнение команда сmd1 завершилось ошибкой?

35. Как в Unix-системе завершить процесс с PID равным 9043?

36. Отметьте правильные описания для стандартных переменных окружения ОС Unix:

37. Какой командой можно создать файл data.txt в ОС Unix?

38. Как в ОС Unix удалить непустой каталог data?

39. Как вывести список заголовочных файлов в каталоге data?

40. Какая команда в ОС Unix позволяет посмотреть процессы, выполняющиеся в системе?

41. Какой тип вычислительных систем является на сегодняшний день самым распространенным:

42. Какие технологии применяются для программирования систем с распределенной памятью?

43. Назовите два типа библиотек в ОС UNIX.

44. Что произойдет, если при запуске программы ОС UNIX не сможет найти требуемую программе динамическую библиотеку?

45. В чем преимущество использования динамических библиотек в ОС UNIX:

46. Каково назначение утилиты make?

47. Какие опции компилятора gcc задают уровень оптимизации?

48. Что такое ложная цель в Makefile?

49. Что означает следующая запись в Makefile: .c.o: cc -c -O $*.c

50. Какие функции выполняет система управления заданиями PBS?

51. Какие компоненты входят в состав системы PBS?

52. Какая команда системы PBS используется для запуска задания:

53. Назовите задачи запускающего скрипта в системе PBS

54. В какие файлы система PBS помещает результаты выполнения запускающего скрипта?

55. Как определить число итераций, выполненное функцией AZ_solve() из пакета AZTEC?

56. Чем в ОС Unix процесс отличается от программы?

57. Во сколько раз нужно ускорить 80% программы, чтобы ускорить всю программу в 6 раз?

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

59. Для измерения производительности современных компьютеров тест Linpack с размером матрицы 100*100 используется редко, поскольку

60. Технология программирования OpenMP расширяет язык программирования за счет:

61. В какой момент порождаются параллельные процессы в OpenMP?

62. Отметьте верные утверждения об OpenMP:

63. В каких операционных системах могут выполняться OpenMP программы:

64. Каким образом действует функция int omp_test_lock (omp_lock_t &lock); :

65. Какую информацию возможно получить при помощи библиотечных функций OpenMP:

66. При помощи каких директив возможно определить участок для выполнения одним потоком:

67. В критические секции:

68. Для атомарного выполнения операций всеми потоками могут быть применены следующие директивы OpenMP:

69. Какая директива OpenMP может быть использована для синхронизации потоков:

70. При сборе результатов со всех потоков используется операция редукции reduction. Какие операции редукции поддерживает OpenMP:

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

72. При управляемом (guided) распределении итераций цикла:

73. При статическом (static) распределении итераций цикла:

74. Если в параллельном фрагменте используются переменные, объявленные вне параллельного фрагмента, но требуется, чтобы они использовались локально в каждом потоке, необходимо использовать следующее свойство директивы #pragma omp parallel:

75. Потоки, между которыми выполняется передача данных, должны использовать общую память. Пусть переменные объявлены внутри параллельного фрагмента. Тогда для того, чтобы их использовать для коммуникации, необходимо использовать следующие свойство директивы #pragma omp parallel:

76. Среди параметров директив OpenMP присутствуют:

77. При применении директивы #pragma omp parallel все данные используемые до директивы по умолчанию считаются:

78. Количество потоков в рамках OpenMP программы:

79. Под параллельной программой в рамках OpenMP понимается:

80. Какая операция MPI не относится к коллективным операциям?

81. Возврат из функции MPI_Wait означает, что (отметьте правильные варианты):

82. Отметьте верные утверждения о функции MPI_Recv:

83. Посылка сообщения с блокировкой (MPI_Send) означает, что возврат из функции произойдёт тогда, когда:

84. Функция MPI_Send возвращает:

85. Топология типа тор в MPI является частным видом топологии типа:

86. В декартовой топологии множество процессов представляется в виде:

87. Операция широковещательной рассылки данных это:

88. Операцию редукции данных MPI_Reduce можно описать:

89. В коллективных операциях передачи данных обязаны принимать участие:

90. Завершение вызова функции неблокирующего обмена означает:

91. Применение неблокирующего способа выполнения обменов позволяет:

92. Прием сообщений при помощи функции MPI_Recv может быть осуществлен:

93. Функция MPI_Recv:

94. Указание используемого коммуникатора является:

95. Процессы параллельной программы в рамках MPI:

96. Возврат из функции MPI_Testall означает, что (отметьте правильные варианты):

97. Отметьте те операторы, которые можно использовать, чтобы принять одно целое число от процесса 3 (считается, что все переменные описаны корректно, значение переменной tag - правильное):

98. Функция блокирующего ожидания завершения одной неблокирующей операции в MPI называется:

99. В буферизованном режиме функция отправки сообщения завершается:

100. При индексном способе новый производный тип создается как:



101. При векторном способе новый производный тип создается как:
Задания к Модулю 2

  1. Распараллелить с помощью директив OpenMP вычисление числа Pi и программу перемножения матриц?


Задания к Модулю 3

  1. Написать программу обмена сообщениями различной длины между двумя узлами используя коммуникационные операции типа ТОЧКА-ТОЧКА.

  2. Написать однопроцессорный вариант программы перемножения матриц размера NxN. Распараллелить программу перемножения матриц, используя операции типа ТОЧКА-ТОЧКА и коллективные операции.

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

  1. Написать программу решения системы линейных уравнений общего вида с использованием библиотеки ScaLAPACK.

  2. Написать программу решения системы уравнений возникающей при конечно разностной аппроксимации 3-х мерного уравнения Лапласа.


Задания к Модулю 4

  1. Написать программу решения системы линейных уравнений общего вида с использованием библиотеки ScaLAPACK.

  2. Написать программу решения системы уравнений возникающей при конечно разностной аппроксимации 3-х мерного уравнения Лапласа.




  1. Литература


Слушатели курса обеспечиваются учебными материалами в электронном виде, предусмотренными программой.

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

  1. Воеводин В. В., Воеводин Вл. В. Параллельные вычисления. – СПб.: БХВ-Петербург, 2002. – 600 с.

  2. Воеводин Вл. В. Легко ли получить обещанный гигафлоп?
    // Программирование. – 1995. – № 4. – С. 13-23.

  3. Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые задачи. – М.: Мир, 1982. – 416 с.

  4. Коновалов Н. А., Крюков В. А., Погребцов А. А., Сазанов Ю. Л.
    C-DVM – язык разработки мобильных параллельных программ.
    // Программирование. – 1999. – № 1. – С. 20-28.

  5. Специализированные параллельные библиотеки. –
    http://parallel.ru/tech/tech_dev/par_libs.html

  6. G. Amdahl. Validity of the single-processor approach to achieving large-scale computing capabilities. // Proc. 1967 AFIPS Conf., AFIPS Press. – 1967. – V. 30. – P. 483.

  7. Aztec. A Massively Parallel Iterative Solver Library for Solving Sparse Linear Systems. – http://www.cs.sandia.gov/CRF/aztec1.html

  8. Aztec User's Guide. Version 1.1 –
    Ian Foster. Designing and Building Parallel Programs. –
    http://www.hensa.ac.uk/parallel/books/addison-wesley/dbpp
    High Performance Fortran Language Specification. High Performance Fortran Forum. – Version 2.0. 1997. – http://dacnet.rice.edu/Depts/CRPC/HPFF/versions/hpf2/hpf-v20

  9. MPI: A Message-Passing Interface Standard. Message Passing Interface Forum. – Version 1.1. 1995. – http://www-unix.mcs.anl.gov/mpi

  10. MPI: The Complete Reference. –

  11. MPI: The Message Passing Interface. – http://parallel.ru/tech/tech_dev/mpi.html

  12. nCUBE 2 Programmers Guide / r2.0, nCUBE Corporation, Dec., 1990.

  13. The ScaLAPACK Project. – http://www.netlib.org/scalapack

  14. ScaLAPACK Users’ Guide. 1997. – http://www.netlib.org/scalapack/slug
    http://www.netlib.org/scalapack/scalapack_home.html
    The Cost Effective Computing Array (COCOA). – http://cocoa.aero.psu.com

  15. The OpenMP Application Program Interface (API). – http://www.openmp.org

Руководитель программы: Дацюк Виктор Николаевич,
зав. отделом высокопроизводительных
вычислительных систем и вычислений ЮГИНФО ЮФУ.

Кадровое обеспечение образовательного процесса


по дополнительной образовательной программе
«Многопроцессорные вычислительные системы и параллельное программирование. Уровень 1»



п/п

ФИО

Должность

Ученая степень

Ученое звание

Название курса

Стаж преподавания



Букатов Александр Алексеевич

зам. директора ЮГИНФО, доц. кафедры ИВЭ

к.т.н.

доц.

Многопроцессорные системы и параллельное программирование (модуль 1)

30 лет



Дацюк Виктор Николаевич

Зав. отделом высокопроизводительных вычислительных систем и вычислений ЮГИНФО ЮФУ

к.ф.-м.н.




Многопроцессорные системы и параллельное программирование, Суперкомпьютерные технологии для решения естественно-научных задач (все темы курса)

28 лет



Дацюк Олег Викторович

Зав. сектором многопроцессорных вычислительных систем ЮГИНФО ЮФУ, ст. преп. кафедры ВВ ИКТ

к.т.н.




Многопроцессорные системы и параллельное программирование, Суперкомпьютерные технологии для решения естественно-научных задач (все темы курса)

9 лет



Хачкинаев Геннадий Месропович

Зав. сектором высокопроизводительных рабочих станций ЮГИНФО ЮФУ

к.т.н.




Многопроцессорные системы и параллельное программирование, Суперкомпьютерные технологии для решения естественно-научных задач (все темы курса)

9 лет



Жегуло Анатолий Иванович

Ведущий программист сектора высокопроизводительных рабочих станций ЮГИНФО ЮФУ, ст. преп. кафедры ИВЭ







Многопроцессорные системы и параллельное программирование, Суперкомпьютерные технологии для решения естественно-научных задач (все темы курса)

30 лет



Ячменева Наталья Николаевна

ассистент кафедры ИВЭ







Многопроцессорные системы и параллельное программирование (все темы курса)

9 лет

Директор ЮГИНФО, д.ф.-м.н., проф. Крукиер Л.А.

Руководитель программы: к.ф.м.н. Дацюк В.Н.
Координатор программы:
зам. директора ЮГИНФО по учебной работе

к.т.н., доц. Лазарева С.А.






"Многопроцессорные вычислительные системы и параллельное программирование. Уровень 1".
ЮГИНФО. e-mail: uginfo@sfedu.ru








Новости — это то, что кто-либо не хотел бы видеть опубликованным; все остальное — реклама. Неизвестный американский жур
ещё >>