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

 

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.

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

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