COMP4300/6430: References
Text books
- Principles of Parallel Programming, Calvin Lin and Lawrence Snyder. Pearson International Edition, ISBN 978-0-321-54942-6 (Pearson link to international edition, Amazon link to non-international version, CoCoMartini link to non-international version)
- 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.
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 that 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.
- Cloud Computing Principles and Paradigms, R. Buyya, J. Broberg and A. M. Goscinski, Wiley, 2011, URL: http://au.wiley.com/WileyCDA/WileyTitle/productCd-0470887990.html.
- 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, together with slides for a course using this book. 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 by Steve Holmes from strathclyde
- C Programming by Dave Marshall from Cardiff
- C Programming A Modern Approach
C++ Programming
- C++ Language Tutorial at cplusplus.com
MPI
- MPI Tutorial from LLNL
- MPI forum
- Online MPI-1 Book


