Parallel Programming for Science Engineering

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: Memory model

27 OpenMP topic: SIMD processing

28 OpenMP topic: Offloading

29 OpenMP remaining topics

30 OpenMP Review

31 OpenMP Examples

32 PETSc basics

33 PETSc objects

34 Grid support

35 Finite Elements support

36 PETSc solvers

37 PETSC nonlinear solvers

38 PETSc execution on GPUs

39 PETSc tools

40 PETSc topics

41 Co-array Fortran

42 Sycl, OneAPI, DPC++

43 Python multiprocessing

44 Exploring computer architecture

45 Hybrid computing

46 Random number generation

47 Parallel I/O

48 Support libraries

Tutorials

Debugging

Tracing, timing, and profiling

SimGrid

Batch systems

Parallel I/O

Theory chapters

49 Teaching guide

50 Teaching from mental modesl

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 Victor Eijkhout