Parallel Programming for Science Engineering

The Art of HPC, volume 2
by Victor Eijkhout

Theory chapters

1 Getting started with MPI

2 MPI topic: Functional parallelism

3 MPI topic: Collectives

4 MPI topic: Point-to-point

5 MPI topic: Communication modes

6 MPI topic: Data types

7 MPI topic: Communicators

8 MPI topic: Process management

9 MPI topic: One-sided communication

10 MPI topic: File I/O

11 MPI topic: Topologies

12 MPI topic: Shared memory

13 MPI topic: Hybrid computing

14 MPI topic: Tools interface

15 MPI leftover topics

16 MPI Examples

17 Getting started with OpenMP

18 OpenMP topic: Parallel regions

19 OpenMP topic: Loop parallelism

20 OpenMP topic: Reductions

21 OpenMP topic: Work sharing

22 OpenMP topic: Controlling thread data

23 OpenMP topic: Synchronization

24 OpenMP topic: Tasks

25 OpenMP topic: Affinity

26 OpenMP topic: SIMD processing

27 OpenMP topic: Offloading

28 OpenMP remaining topics

29 OpenMP Review

30 OpenMP Examples

31 PETSc basics

32 PETSc objects

33 Grid support

34 Finite Elements support

35 PETSc solvers

36 PETSC nonlinear solvers

37 PETSc GPU support

38 PETSc tools

39 PETSc topics

40 Co-array Fortran

41 Kokkos

42 Sycl, OneAPI, DPC++

43 Python multiprocessing

44 Exploring computer architecture

45 Hybrid computing

46 Support libraries

Index

Index

Bibliography

Bibliography

Index

This web page is part of the online version of the book "Parallel Programming in MPI and OpenMP" by Victor Eijkhout.

For more information.
Copyright 2016-2022 Victor Eijkhout