Differences between revisions 21 and 23 (spanning 2 versions)
Revision 21 as of 2007-01-29 09:11:48
Size: 2282
Editor: wstein
Comment:
Revision 23 as of 2008-11-14 13:42:16
Size: 2637
Editor: anonymous
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
 1. [http://www.llnl.gov/computing/tutorials/parallel_comp/ Introduction to Parallel Computing]  1. [[http://www.llnl.gov/computing/tutorials/parallel_comp/|Introduction to Parallel Computing]]
Line 11: Line 11:
 2. [http://www.llnl.gov/computing/tutorials/pthreads/ POSIX Threads Programming]  2. [[http://www.llnl.gov/computing/tutorials/pthreads/|POSIX Threads Programming]]
Line 13: Line 13:
 3. [http://www.llnl.gov/computing/tutorials/mpi/ MPI Tutorial]  3. [[http://www.llnl.gov/computing/tutorials/mpi/|MPI Tutorial]]
Line 20: Line 20:
 1. [http://modular.math.washington.edu/msri07/read/ Miscellaneous Papers and Files]  1. [[http://modular.math.washington.edu/msri07/read/|Miscellaneous Papers and Files]]
Line 22: Line 22:
 1. [http://www.llnl.gov/computing/tutorials/openMP/ OpenMP tutorial] and [http://gcc.gnu.org/projects/gomp/ GOMP]  1. [[http://www.llnl.gov/computing/tutorials/openMP/|OpenMP tutorial]] and [[http://gcc.gnu.org/projects/gomp/|GOMP]]
Line 24: Line 24:
 2. [http://ocw.mit.edu/OcwWeb/Mathematics/18-337JSpring-2005/LectureNotes/index.htm Applied Parallel Computing Lectures]  2. [[http://ocw.mit.edu/OcwWeb/Mathematics/18-337JSpring-2005/LectureNotes/index.htm|Applied Parallel Computing Lectures]]

 3. [[http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-1.pdf|Alternatives to threads]]

 4. [[http://www.erlang.org/|Erlang programming language]]

 5. [[http://erights.org/|E programming language]]

 6. [[http://twistedmatrix.com/projects/core/documentation/howto/async.html|About Twisted's Deferred Objects]]
Line 31: Line 39:
 1. [http://ldp.paradoxical.co.uk/LDP/LGNET/107/pai.html Python threading tutorial]
 2. [http://docs.python.org/api/threads.html Discussion About the GIL in Python]
 3. [http://mail.python.org/pipermail/python-list/2006-May/382955.html List post about OpenMp and Python]
 4. [http://aspn.activestate.com/ASPN/search?query=parallel&x=0&y=0&section=PYTHONCKBK&type=Subsection Python Parallel Recipes]
 5. [http://poshmodule.sourceforge.net/ POSH -- Python object sharing; a way to get around using threads for what we need]
 6. [http://www.parallelpython.com/ Parallel Python -- is this useful for something? (or is it only stupid closed-source poppycock?) -- it's another way to get around threads]
 1. [[http://ldp.paradoxical.co.uk/LDP/LGNET/107/pai.html|Python threading tutorial]]
 2. [[http://docs.python.org/api/threads.html|Discussion About the GIL in Python]]
 3. [[http://mail.python.org/pipermail/python-list/2006-May/382955.html|List post about OpenMp and Python]]
 4. [[http://aspn.activestate.com/ASPN/search?query=parallel&x=0&y=0&section=PYTHONCKBK&type=Subsection|Python Parallel Recipes]]
 5. [[http://poshmodule.sourceforge.net/|POSH -- Python object sharing; a way to get around using threads for what we need]]
 6. [[http://www.parallelpython.com/|Parallel Python -- is this useful for something? (or is it only stupid closed-source poppycock?) -- it's another way to get around threads]]

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 read the following before the workshop, in order:

  1. Introduction to Parallel Computing

  2. POSIX Threads Programming

  3. MPI Tutorial

Other Relevant Documents

Skim or read as time permits:

  1. Miscellaneous Papers and Files

  2. OpenMP tutorial and GOMP

  3. Applied Parallel Computing Lectures

  4. Alternatives to threads

  5. Erlang programming language

  6. E programming language

  7. About Twisted's Deferred Objects

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 computation, 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.

  1. Python threading tutorial

  2. Discussion About the GIL in Python

  3. List post about OpenMp and Python

  4. Python Parallel Recipes

  5. POSH -- Python object sharing; a way to get around using threads for what we need

  6. Parallel Python -- is this useful for something? (or is it only stupid closed-source poppycock?) -- it's another way to get around threads

msri07/reading_list (last edited 2008-11-14 13:42:16 by anonymous)