• Cheatsheet:
  • G. Hager and G. Wellein: Introduction to High Performance Computing for Scientists and Engineers, ISBN 143981192X, CRC Computational Science Series, 2010.
  • S. Goedecker and A. Hoisie: Performance Optimization of Numerically Intensive Codes. Like many HPC books, slightly outdated but still very useful. Does not cover recent developments like EPIC and SIMD instruction sets.
  • K. Wadleigh and I. Crawford: Software Optimization for High Performance Computing. This is a very good book that is however slightly outdated and unfortunately out of print.
  • K. Dowd and C. Severance: High Performance Computing (RISC Architectures, Optimization & Benchmarks). Covers traditional optimization techniques in detail. Out of print but available at Amazon.com etc.
  • R. Gerber: The Software Optimization Cookbook. Contains also some material on SIMD programming with SSE.
  • W. Schönauer: Scientific Supercomputing. Architecture and Use of Shared and Distributed Memory Parallel Computers. Outdated, with much information about vector supercomputers and RISC processors of the 90s. In-depth performance modeling. Still a very valuable resource.
  • T. Mattson, B. Sanders, B. Massingill: Patterns for Parallel Programming. A compendium of concepts required for parallel program design, accompanied by sample implementations. Available at Amazon.com.
  • W. Gropp, E. Lusk, A. Skjellum: Using MPI - Portable Parallel Programming with the Message-Passing Interface, MIT Press, 1999. It covers the basics without too much fluff.
  • MPI documentation can be found online in the MPI forum.
  • The official OpenMP specification contains quite a lot of good examples and can therefore be used as a good and readable reference for more information on OpenMP.
  • R. Chapman, G. Jost and R. van der Pas: Using OpenMP. This book not only gives a thorough introduction to OpenMP but also covers the most relevant performance and correctness issues, together with best practices.
  • Tim Mattson, Helen He, Alice Koniges (2019): OpenMP Common Core: Making OpenMP Simple Again
  • Ruud van der Pas, Eric Stotzer and Christian Terboven (2017): Using OpenMP – The Next Step
  • Tom Deakin and Tim Mattson (2023): Programming Your GPU with OpenMP


Last modified: Tuesday, 20 February 2024, 5:59 PM