Preworkshop Reading Materials
All participants at the MSRI Parallel Computation Workshop will be assumed to have a basic background in parallel computation already -- there will be no basic background tutorials or lectures. Fortunately, anybody can get such a background in a day by reading the documents listed below under required reading.
Required Reading List
At a minimum, make sure you are completely familiar with the following before the workshop, in order:
[http://www.llnl.gov/computing/tutorials/parallel_comp/ Introduction to Parallel Computing]
[http://www.llnl.gov/computing/tutorials/pthreads/ POSIX Threads Programming]
[http://www.llnl.gov/computing/tutorials/openMP/ OpenMP tutorial]
[http://www.llnl.gov/computing/tutorials/mpi/ MPI Tutorial]
Other Relevant Documents
Skim or read as time permits:
[http://ocw.mit.edu/OcwWeb/Mathematics/18-337JSpring-2005/LectureNotes/index.htm Applied Parallel Computing Lectures]
SAGE-Related Reading List
Because of something called the Global Interpreter Lock (or GIL) in the Python interpreter, threading is pretty useless for speeding up serious mathematical compute applications. For multi-threaded programs to be truly useful for SAGE, they will have to be implemented entirely in C/C++/Fortran libraries and SageX extension modules in blocks of code that do not make any Python/C API calls.
[http://ldp.paradoxical.co.uk/LDP/LGNET/107/pai.html Python threading tutorial]
[http://docs.python.org/api/threads.html Discussion About the GIL in Python]
[http://mail.python.org/pipermail/python-list/2006-May/382955.html List post about OpenMp and Python]
[http://aspn.activestate.com/ASPN/search?query=parallel&x=0&y=0§ion=PYTHONCKBK&type=Subsection Python Parallel Recipes]