As was the case with P573 I will provide you with rather detailed lecture notes in HTML and PostScript. These will be available on-line under
http://www.cs.indiana.edu/dept/acad/courses.htmltowards the end of the page, which will send you directly to the lecture notes.
But you should also remember that these are just notes and not a book. They're likely to be sometimes incomplete or messy or even downright incorrect, since we're all prone to make mistakes.
The notes may well grow to a considerable size by the time the course is finished. Use GNU ghostview to view the PostScript document and select new pages for printing as they become available.
The following is a somewhat incomplete list of books and other publications that I am going to base this course, B673, on. You should also check the recommended reading list for P573.
A good broad review of parallel computing with numerous examples and case studies. Not a book from which to learn HPF or MPI programming though. But it gives a fairly good coverage of the issues.
An easy to follow introduction to Message Passing Interface, MPI, with numerous examples in C and F77
These three documents are available on-line fromhttp://beige.ucs.indiana.eduand fromhttp://www.mcs.anl.govThey define MPI. They are much more readable than one could expect, and abound in numerous examples.
This is one of the best and the most useful books for scientists working with computers, be it to analyse their experimental results, or develop numerical models. Written by four consummate practitioners of computational science with extensive academic and industrial experience, the book is positively hated by great many numerical analysts, primarily for not having mentioned their latest favourite method and papers. A good enough reason to buy it: stick to the classics. This book will serve you well for years to come. The ISBN number quoted above refers to one of its first editions. Since then the book has been reprinted and improved many times and in many ways, much like the Bible. Go for the latest edition.
As volume 2 of the Fortran Numerical Recipes series, this book takes up where volume 1 (see 1.5 above) leaves off. Volume 2 begins with three completely new chapters that provide a detailed introduction to the Fortran 90 language and then present the basic concepts of parallel programming, all with the same clarity and good cheer for which Numerical Recipes is famous.
This text evolved from a course given to undergraduate science and engineering majors at MIT. It covers most of our syllabus and we are going to use it quite frequently, although not all the time. The book is not too expensive, given its size and scope. It is a highly recommended reading for this course.
The book presents a unified treatment of recently developed techniques and current understanding about solving systems of linear equations and large-scale eigenvalue problems on high-performance computers. The book provides an introduction to the world of vector and parallel processing for these linear algebra applications.
An older version of ``Numerical Linear Algebra for High-Performance Computers''.
A good easy going introduction to MATLAB and to Octave. The latter is not mentioned in the book, but as you begin working with Octave you'll notice that it's uncannily similar to MATLAB (though free). The book covers some elementary numerical analysis too - not a bad way to learn about it.
/afs/ovpit.indiana.edu/common/gnu/doc/octave-2.0.13/interpreterand in Emacs info directory on our AFS cell:
/afs/ovpit.indiana.edu/@sys/gnu/info
An official Octave manual that is distributed together with Octave source. It covers a Brief Introduction, a Getting Started tutorial, and then goes into the details of the system discussing every available function.
A very interesting and useful introduction to this difficult but at the same time so very promising field. Quantum computing may provide performance many orders of magnitude better than the best that you will ever be able to squeeze out of conventional computers based on sloooowly diffusing semi-classical electrons trapped in a crystal lattice of even the fastest semiconductors. Quantum computing is also going to be orders of magnitude cheaper. You can do it even today with a cup of coffe (seriously) and a Nuclear Magnetic Resonance machine.