
Автор: Victor Eijkhout
Издательство: Independently published
Серия: The Art of High Performance Computing
Год: January 14, 2024
Страниц: 644
Язык: английский
Формат: pdf (true)
Размер: 28.9 MB
Much of scientific computing involves parallel programming of some sort. This book is the ultimate introduction to modern versions of MPI and OpenMP, with shorter sections on PETSc, Kokkos, Sycl, Co-array Fortran. The term ‘parallel computing’ means different things depending on the application area. In this book we focus on parallel computing – and more specifically parallel programming; we will not discuss a lot of theory – in the context of scientific computing. Two of the most common software systems for parallel programming in scientific computing are MPI and OpenMP. They target different types of parallelism, and use very different constructs. Thus, by covering both of them in one book we can offer a treatment of parallelism that spans a large range of possible applications. Finally, we also discuss the PETSc (Portable Toolkit for Scientific Computing) library, which offers an abstraction level higher than MPI or OpenMP. The main languages in scientific computing are C/C++ and Fortran. We will discuss both MPI and OpenMP with many examples in these two languages. For MPI and the PETSc library we will also discuss the Python interfaces.