Опубликована: 05.04.2011 | Уровень: для всех | Стоимость: 490.00 руб. | Длительность: 14 дней
Данный учебный курс ориентирован на изучение и практическое применение современных высокоуровневых средств параллельного программирования для многоядерных процессоров - библиотеки Microsoft Parallel FX и языка программирования MC#. Использование таких средств, с промышленной точки зрения, резко повышает производительность и продуктивность работы программистов и позволяет привлечь к регулярному параллельному программированию значительно большее число программистов, а с образовательной точки зрения, дает возможность их успешно изучать и осваивать студентам вузов, начиная со 2-го курса.
Основная концепция предлагаемого учебного курса заключается в переходе к изучению высокоуровневых средств программирования в качестве основных инструментов параллельного программирования. Рассматриваются два таких средства, базирующиеся на языке С#: Microsoft Parallel Extensions for .NET (библиотеки TPL и PLINQ); язык программирования MC# (www.mcsharp.net). В качестве практических заданий на параллелизацию будут использоваться хорошо известные задачи, такие как сортировка, задачи линейной алгебры, метод статистических испытаний Монте-Карло, рендеринг изображений на основе трассировки лучей, поиск в Интернет, алгоритм Смита-Уотермена сравнения биологических последовательностей и др.Также, в качестве заданий, студентам будут предлагаться задачи конкурса Intel Threading Challenge.
Цель: Освоить и научить практически применять высокоуровневые средства параллельного программирования – библиотеку Microsoft Parallel Extensions to the .NET Framework и язык программирования MC#.
План занятий
Занятие | Заголовок << | Дата изучения |
---|---|---|
- | ||
Лекция 128 минут | Введение в библиотеку Microsoft Parallel Extensions to the .Net Framework
В этой лекции рассматриваются основные понятия и определения библиотеки Microsoft Parallel Extensions, а также рассмотрены вопросы производительности при ее использовании.
Оглавление | - |
Лекция 217 минут | Конструкция Parallel.For
В этой лекции рассматривается реализация базовых элементов библиотеки Parallel.For и Parallel.Foreach.
Оглавление | - |
Лекция 312 минут | Планирование исполнения процессов
В лекции рассматриваются вопросы планирования исполнения задач применительно к многопроцессорным вычислительным системам.
Оглавление | - |
Лекция 415 минут | Конструкция Parallel.Invoke
В лекции рассматривается еще один способ распараллеливания процессов - Parallel.Invoke, а также описаны проблемы при реализации параллельной обработки бинарных деревьев.
Оглавление | - |
Тест 136 минут | - | |
Лекция 534 минуты | Программирование с использованием Task Parallel Library (TPL)
В этой лекции рассматривается один из уровней библиотеки PFX - программирование на уровне задач (TPL). Во второй части лекции показана практическая реализация параллелизма в рекурсивных функциях.
Оглавление | - |
Лекция 646 минут | Класс System.Threading.Tasks.Future и координирующие структуры данных
В лекции описано использование высокоуровневых примитивов синхронизации процессов, а также рассмотрена асинхронная модель программирования с использованием объектов класса Future<T>.
Оглавление | - |
Лекция 729 минут | Введение в PLINQ
В лекции рассматривается параллельный интегрированный язык запросов и его отличия от его классической реализации.
Оглавление | - |
Лекция 821 минута | Обработка исключений при использовании PFX
В лекции рассматриваются вопросы обработки исключительных ситуаций связанных с выполнением в параллельных приложениях.
Оглавление | - |
Лекция 930 минут | Примеры программирования с использованием библиотеки PFX
В данной лекции будет представлен ряд примеров программирования с использованием механизма задач и некоторых конструкций из библиотеки PFX, связанных с ними.
Оглавление | - |
Тест 236 минут | - | |
Лекция 1044 минуты | Оценка производительности памяти с помощью теста Random Access
В лекции описан тест производительности памяти и приведена его реализация для многоядерных систем с помощью библиотеки PFX, а также рассмотрена задача параллельного рендеринга изображений.
Оглавление | - |
Лекция 1128 минут | Решето Эратосфена для нахождения простых чисел
В этой лекции рассмотрена теория и реализация алгоритма Эратосфена при нахождения простых чисел в контексте параллельного программирования.
Оглавление | - |
Лекция 1220 минут | Параллельный алгоритм дискретного преобразования Фурье
В этой лекции рассмотрена теория и реализация алгоритма дискретного преобразования Фурье в контексте параллельного программирования.
Оглавление | - |
Лекция 131 час 10 минут | Высокоуровневый язык параллельного программирования MC#
В этой лекции рассматриваются основные понятия и определения высокоуровневого языка параллельного программирования MC#, показаны примеры использования специфических конструкций языка на ряде параллельных и распределенных программ.
Оглавление | - |
Тест 336 минут | - | |
5 часов | - |