Introduction to High Performance Computing for Scientists and Engineers, Second Edition
Introduction. Modern general-purpose processors. Basic optimization techniques for serial code. Parallel computers. Basics of parallelization. Shared-memory parallel programming with OpenMP. Node-level performance engineering. Efficient OpenMP programming.
Locality optimizations on ccNUMA architectures. Distributed-memory parallel programming with MPI. Efficient MPI programming. Hybrid parallelization with MPI and OpenMP. Accelerated computing. Appendix: The LIKWID tool suite.