|
|
Text books
-
Principles of Parallel Programming, Calvin Lin and Lawrence
Snyder. Pearson International Edition, ISBN 978-0-321-54942-6
- 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
|