Skip navigation
The Australian National University

COMP4300/8300: References

Textbooks

  • Principles of Parallel Programming, Calvin Lin and Lawrence Snyder. Pearson, International Edition - ISBN 978-0-321-54942-6 or US Edition - ISBN 978-0-321-48790-2 (Amazon link, Pearson link)
  • Introduction to Parallel Computing, 2nd Ed., A. Grama, A. Gupta, G. Karypis, V. Kumar, Addison-Wesley 2003, ISBN 0201648652. This book is available in electronic form from the ANU library. Just go to library.anu.edu.au and search for the title.
  • The following text book provides a useful application programmer perspective: Introduction to High Performance Computing for Scientists and Engineers (Chapman & Hall/CRC Computational Science) Georg Hager and Gerhard Wellein.

    You also appear to be able to access the PDF for free from a few locations. See for example HERE.

Other Reading Material

  • Parallel Programming: techniques and applications using networked workstations and parallel computers, Barry Wilkinson and Michael Allen. Prentice Hall 2nd edition (March 4, 2004). ISBN 0131405632.
  • Computer Systems: A Programmer's Perspective, R.E. Bryant and D. O'Hallaron, Pearson/Prentice Hall, ISBN 0-13-178456-0. This is an excellent book on machine architecture and related issues. It is not a basic text book, but if you understand all the material in this book, you will have an excellent grounding in computer systems. You do not need to buy this text for the course, but if you want to know more about the details of what happens at the single CPU level then read this book.
  • Using MPI: Portable Parallel Programming with the Message-Passing Interface W. Gropp, W.Lusk, A. Skjellum, MIT Press 1999, ISBN 0-262-57134-X. Probably the first text book on MPI1. OK, but there are lots of on line reference MPI books, so don't buy it for this course!
  • Using MPI-2: Advanced Features of the Message-Passing Interface W. Gropp, W.Lusk, R. Thakur, MIT Press 1999, ISBN 0-262-057133-1. More worth buying than the MPI1 book - because MPI2 has some more tricky features. Here for reference - don't go and buy this book for the course!
  • OpenMP by B. Barney, available online. A useful tutorial on OpenMP.
  • Programming with POSIX Threads, D.R. Butenhof, Addison-Wesley 1997, ISBN 0-201-63392-2. If you want to get serious programming pthreads then you probably want to buy a book. This book is quite good - but again, you don't need it for the course.
  • Hadoop: The Definitive Guide - MapReduce for the Cloud, Tom White, O'Reilly Media, 2009, URL: http://oreilly.com/catalog/9780596521981.
  • CUDA by Example: An Introduction to General-Purpose GPU Programming, Jason Sanders, Edward Kandrot. NVIDIA 2010. This is one of several recent books about programming GPUs. It has a lot of examples, starting from the most basic and working up.
  • Programming Massively Parallel Processors: A Hands-on Approach, D. Kirk and W. Hwu, Morgan Kaufmann, 2010. Preliminary version available online. Worth looking at to find out how GPUs actually work and how to get high performance out of them for real-world problems such as MRI reconstruction.

C Programming

C++ Programming

MPI

Updated:  13 February 2017 / Responsible Officer:   JavaScript must be enabled to display this email address. / Page Contact:   JavaScript must be enabled to display this email address. / Powered by: Snorkel 1.4