This is an excellent resource for learning parallel programming, on several levels. Don't miss these related tutorials from the same source:<p>* Pthreads: <a href="https://computing.llnl.gov/tutorials/pthreads/" rel="nofollow">https://computing.llnl.gov/tutorials/pthreads/</a><p>* OpenMP: <a href="https://computing.llnl.gov/tutorials/openMP/" rel="nofollow">https://computing.llnl.gov/tutorials/openMP/</a><p>* MPI: <a href="https://computing.llnl.gov/tutorials/mpi/" rel="nofollow">https://computing.llnl.gov/tutorials/mpi/</a>
I liked the way the content is presented. I had Parallel Computing as one of my elective this semester, and the subject isn't kool any more when you dive into it. Parallel Computing is tough IMHO and it takes some brainstorming to solve even the basic problems like computing prime numbers or sparse matrix multiplication.
Also we use OpenCL, which itself is quite a complicated deal. ( TBB, OpenMP are simpler ). The tutorial makes the basics clear as well as the post have an aesthetic feel to it. All in all - a nice read.
the website is a little hokey but I found the tutorials/mini courses on MPI and OpenMP on <a href="http://ci-tutor.ncsa.illinois.edu/browse.php" rel="nofollow">http://ci-tutor.ncsa.illinois.edu/browse.php</a> very useful
here's a link to the current course I'm taking, in case anyone is interested in working through some assignments. <a href="http://dna.cs.byu.edu/CS484/schedule/schedule-winter2010" rel="nofollow">http://dna.cs.byu.edu/CS484/schedule/schedule-winter2010</a><p>It uses the llnl tutorials for most of the reading.