- Артикул:00808482
- Автор: А.В. Старченко, А.Е.Данилкин, В.И. Лаева, С.А. Проханов
- ISBN: 978-5-211-05976-4
- Обложка: Твердый переплет
- Издательство: МГУ (все книги издательства)
- Город: Москва
- Страниц: 200
- Формат: 60x84/16 (~143х205 мм)
- Год: 2010
- Вес: 275 г
В учебнике представлены необходимые сведения для работы на многопроцессорной вычислительной системе (кластере): даны основные понятия операционной системы GNU/Linux, перечислены правила работы с функциями библиотеки Message Passing Interface, современными компиляторами и технологией ОрепМР.
Большое внимание уделено практическим вопросам создания параллельных программ для вычисления кратных интегралов, проведения матричных вычислений, решения СЛАУ, численного решения систем ОДУ и уравнений в частных производных.
Подробно рассмотрены основные особенности использования математической библиотеки PETSc для параллельных вычислений. Для быстрого освоения и получения практического опыта параллельного программирования в пособии содержится большое количество примеров, необходимых для пользователя, решающего задачи математического моделирования с помощью вычислительной техники.
Для научных сотрудников, аспирантов, студентов, преподавателей, использующих высокопроизводительные вычислительные ресурсы в научной и учебной работе.
Ключевые слова:
Параллельные вычисления,
базовые алгоритмы вычислительной математики,
библиотека PETSc,
многопроцессорные вычислительные системы,
примеры программ MPI,
ОрепМР
Содержание
Preface by Victor A. Sadovnichy
Introduction
1. OPERATING PROCEDURE ON COMPUTER CLUSTERS RUNNING GNU/LINUX
1.1. Working on a cluster running GNU/Linux
1.2. Operating system GNU/Linux
1.2.1. GNU/Linux interface
1.2.2. GNU/Linux commands
1.2.3. Working with directories
1.2.4. Working with files
1.2.5. Other useful commands
1.2.6. Editing files
1.3. Compiling serial programs (Fortran/C/C+ +)
1.4. Making parallel programs using MPI
1.5. Running parallel MPI-program
2. MODERN COMPILERS. INTEL COMPILERS
2.1. Overview
2.2. Sharing use of Fortran and С modules
2.3. Basic compiler options
2.4. OpenMP technology
2.4.1. Basic OpenMP directives
2.4.2. Runtime-procedure and environment variables
2.4.3. Environment variables
2.4.4. The procedures for monitoring/query runtime parameters
2.4.5. Locks-based procedures synchronization
2.4.6. Examples
2.5. The results of OpenMP realization on multicore systems
2.6. Intel Math Kernel Library
3. PARALLEL PROGRAMMING USING MPI STANDARD
3.1. Basic concepts of MPI
3.2. The program 'Hello World' in MPI
3.3. The syntax of the basic functions of MPI
3.4. Some functions of the collective interaction processes
3.5. Other features of MPI
3.6. Sample MPI-parallel programs written in FORTRAN
3.6.1. Identification of processes
3.6.2. Communicative operations between two processes
3.6.3. Calculation of the definite integral
3.7. Tasks
4. CALCULATION OF MULTIPLE INTEGRALS
4.1. Monte Carlo method
4.2. A parallel realization of Monte Carlo method for calculating double integral
4.3. Method of repeated application of quadrature formulas
4.4. A parallel program for calculating double integral by recurring use of the trapezium quadrature formula
4.5. Tasks
5. MATRIX COMPUTATIONS
5.1. Ways to improve the performance of matrix multiplication
5.2. Matrixes multiplication operation's parallelization
5.3. Tasks
6. SYSTEMS OF LINEAR EQUATIONS
6.1. Gauss's method for solution of linear algebraic equations
6.2. Program realization for solution of linear algebraic equations is using Gauss's method
6.3. Cyclic reduction method
6.4. Iterative methods for solving systems of linear equations
6.5. MPI-program for solving systems of linear equations byjacobi method
6.6. OpenMP-program for Jacobi method
6.7. Speed up of the parallel program for Jacobi method
6.8. Tasks
7. PARALLEL ALGORITHMS FOR SOLVING CAUCHY PROBLEM FOR ODE
7.1. Problem statement
7.2. One-step Runge-Kutta fourth order methods
7.3. Parallel realization of Runge-Kutta fourth order methods
7.4. Multistep Adams methods. Scheme of "predictor-corrector"
7.5. Parallel algorithm for multi-step Adams method. Scheme of "predictor-corrector"
7.6. Tasks
8. PETSC PACKAGE FOR SOLVING PARTIAL DIFFERENTIAL EQUATIONS
8.1. Compiling and running PETSc-programs
8.2. Structure of PETSc-programs
8.3. Vectors
8.3.1. Working with vectors
8.3.2. Basic vector operations
8.3.3. Example
8.4. Matrix
8.4.1. Working with matrixes
8.4.2. Example
8.5. Methods of solving linear equations systems
8.6. Example
8.7. Tasks
9. SOLVING UNSTEADY HEAT CONDUCTION PROBLEM BY MEANS OF EXPLICIT AND IMPLICIT FINITE DIFFERENCE SCHEMES
9.1. Explicit scheme
9.1.1. One-dimensional decomposition
9.1.2. Two-dimensional decomposition
9.2. Implicit scheme
9.2.1. Conjugate Gradient method
9.3. Tasks
Literature