Processing Math: Done
jsMath
Differences between revisions 8 and 23 (spanning 15 versions)
Revision 8 as of 2007-01-20 23:24:27
Size: 1277
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 7: Line 7:
At a minimum, make sure you are completely familiar with the following before the workshop, in order: At a minimum, make sure you read the following before the workshop, in order:
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/openMP/ OpenMP tutorial]

4. [http://www.llnl.gov/computing/tutorials/mpi/ MPI Tutorial]

== Optional Reading List ==

1. [http://mail.python.org/pipermail/python-list/2006-May/382955.html List post about OpenMp and Python]
2. [http://aspn.activestate.com/ASPN/search?query=parallel&x=0&y=0&section=PYTHONCKBK&type=Subsection Python Parallel Recipes]
 3. [[http://www.llnl.gov/computing/tutorials/mpi/|MPI Tutorial]]
Line 25: Line 18:
Skim or read these as time permits: Skim or read as time permits:
Line 27: Line 20:
* [http://ocw.mit.edu/OcwWeb/Mathematics/18-337JSpring-2005/LectureNotes/index.htm Applied Parallel Computing Lectures]  1. [[http://modular.math.washington.edu/msri07/read/|Miscellaneous Papers and Files]]

 1. [[http://www.llnl.gov/computing/tutorials/openMP/|OpenMP tutorial]] and [[http://gcc.gnu.org/projects/gomp/|GOMP]]

 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]]


== 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 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. [[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)