Учебники, учебные пособия

 

   
Гергель В.П., Сысоев А.В., Баркалов К.А., Мееров И.Б., Бастраков С.И., Козинов Е.А., Кустикова В.Д., Линёв А.В., Пирова А.Ю., Свистунов А.Н. Высокопроизводительные параллельные вычисления. 100 заданий для расширенного лабораторного практикума. — М.: ФИЗМАТЛИТ, 2018. — 248 с. — ISBN 978-5-9221-1816-3.

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

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

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

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

   
Strongin_Gergel_globOpt2 Стронгин Р. Г., Гергель В. П., Гришагин В. А., Баркалов К. А. Параллельные вычисления в задачах глобальной оптимизации: Монография / Предисл.: В. А. Садовничий. – М.: Издательство Московского университета, 2013. – 280с. ISBN 978-5-211-06479-9.

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

   
 IMG_8577_1 Гергель В.П., Баркалов К.А., Мееров И.Б., Сысоев А.В. и др. Параллельные вычисления. Технологии и численные методы. Учебное пособие в 4 томах. – Нижний Новгород: Изд-во Нижегородского госуниверситета, 2013. – 1394с.

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

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

Рассматриваются технологии, ориентированные на кластеры/суперкомпьютеры (первый том; технология MPI), состоящие из вычислительных узлов на базе традиционных многоядерных центральных процессоров (второй том; технологии OpenMP, Intel Cilk Plus, Intel TBB, Intel ArBB, OpenCL), а также гетерогенных узлов с использованием графических процессоров (второй том; технологии NVIDIA CUDA, OpenCL). Изучается представление действительных чисел в виде с плавающей запятой и операции над ними в соответствии со стандартом IEEE 754, на модельных примерах иллюстрируются проблемы возможной потери точности при решении за-дач и некоторые методы преодоления этих проблем (третий том). Рассматриваются параллельные алгоритмы, реализующие прямые и итерационные методы решения систем линейных алгебраических уравнений с матрицами как общего, так и специального вида (третий том), итерационные методы решения систем линейных уравнений, методы алгебры разреженных матриц, методы решения систем обыкновенных дифференциальных уравнений и дифференциальных уравнений в частных производных, методы Монте-Карло (четвертый том).

   
gergel_modern_hpc2 Гергель В.П. Современные языки и технологии параллельного программирования // М.: Издательство Московского университета, 2012. – 408с. ISBN 978-5-211-06380-8.

В учебнике представлен широкий спектр языков и технологий, активно используемых при разработке параллельного программного обеспечения. В числе рассмотренных подходов: технологии для разработки параллельных программ для систем с общей и распределенной памятью (MPI, OpenMP), языки параллельного программирования на основе разделенного глобально адресуемого пространства (UPC, CAF, Chapel, X10) и технологии разработки параллельных программ для графических процессоров (CUDA, OpenCL). Рассмотрение такого значительного набора языков и технологий в рамках одного учебника позволяет получить полное представление о разнообразии существующих подходов в области параллельного программирования.
Учебник предназначен для широкого круга студентов, аспирантов и специалистов, желающих изучить и практически использовать параллельные компьютерные системы для решения вычислительно трудоемких задач.

   
shared_hpc2 Корняков К.В., Мееров И.Б., Сиднев А.А., Сысоев А.В., Шишков А.В. Инструменты параллельного программирования в системах с общей памятью. – Нижний Новгород: Изд-во Нижегородского госуниверситета, 2010. – 201с. ISBN 978-5-211-05931-3.

В учебнике описываются методы и инструментальные средства для разработки, отладки и профилировки параллельных программ, ориентированных на работу в системах с общей памятью. Рассматриваются программные пакеты Intel Thread Checker, Intel Thread Profiler, Intel Threading Building Blocks. Дается вводная информация по пакету Intel Parallel Studio и библиотеке Intel MKL. Демонстрируется весь цикл работ, включая создание последовательной реализации в качестве базы для сравнения, подготовку параллельной версии, ее отладку, профилировку и оптимизацию. Изучение проводится на модельных задачах, не требующих наличия специфических знаний из конкретных предметных областей. Подразумевается знакомство читателя с основами программирования (базовый язык — С/ С++), некоторые задачи требуют сведений из высшей математики (задача Дирихле).

   
gergel_hpc_mpi2 Гергель В.П. Высокопроизводительные вычисления для многопроцессорных многоядерных систем. – М.: Издательство Московского университета, 2010. – 567с. ISBN 978-5-211-05937-5, 978-5-9221-1312-0.

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

   
hpc_new_arch2 Линев А.В., Боголепов Д.К., Бастраков С.И. Технологии параллельного программирования для процессоров новых архитектур: учебник / под ред. В.П. Гергеля. – М.: Издательство Московского университета, 2010. — 160с. ISBN 978-5-211-05962-7.

Настоящий учебник направлен на представление обзора технологий программирования и эффективного использования различных типов параллельных архитектур, включая современные графические процессоры, ускорители ClearSpeed и процессоры Cell BE. В данном учебнике излагаются основные вопросы использования ускорителей. Дается обзор различных архитектурных решений и соответствующих средств разработки, а также исследуется эффективность данных решений на примере задачи моделирования динамики системы N точечных масс. Особое внимание уделяется широко распространенному сегодня типу ускорителей — графическим процессорам, которые за последние семь лет претерпели самые существенные изменения и превратились в универсальные процессоры общего назначения. Дается обзор существующих систем разработки для ГПУ и рассматриваются их достоинства и недостатки при решении различных задач. Подробно обсуждаются наиболее актуальные в настоящий момент инструменты: графические интерфейсы и шейдерные языки (на примере OpenGL и GLSL), NVIDIA CUDA и OpenCL.
Получаемый в результате изучения данного пособия набор знаний и умений является достаточным для того, чтобы читатель смог самостоятельно адаптировать и реализовать свой алгоритм для того или иного ускорителя, обеспечив эффективное решение задачи.

   
gergel_theory Гергель В.П. Теория и практика параллельных вычислений: учебное пособие. – М.:Интернет-Университет Информационных технологий; БИНОМ. Лаборатория знаний, 2007. – 423с. ISBN 978-5-94774-645-7, 978-5-9556-0096-3.

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

Статьи в рецензируемых журналах