Hi Ethan,

On Thu, Dec 3, 2009 at 2:22 PM, Ethan Van Andel <evlu...@gmail.com> wrote:
> Does sage support multi-core or multi-processor computation?
>
> If so, in what format (MPI, OpenMP etc)

I think one way to answer such a question is to survey what's
available in Sage and the Python ecosystem. Starting with Python 2.6,
Python has the module multiprocessing [1] to support process-based
threading. Approaching this built-in module from the perspective of a
novice to parallel programming, I find the module rather cumbersome to
use. However, anyone is welcome to disagree. Apart from built-in
modules for multiprocessing, the Python ecosystem also consists of
numerous third-party libraries [2] that cater to parallel programming,
grid computing, cluster computing, etc.

I have been using Parallel Python (pp) [3] for about a week now,
mainly to parallelize the computation of a database of least primitive
roots modulo odd primes. For this purpose, I find that pp serves my
needs without requiring me to learn the low-level details of parallel
programming. So far, I have used pp to calculate least primitive roots
modulo odd primes up to one million. That computation is now complete.
I'm currently using pp to extend the database beyond one million.

You might also notice that Sage comes with the dsage module [4] for
distributed computation. It used to be part of the Sage library, but
is now distributed as a standard spkg. As far as I know, not much work
has been done to develop this module further since its lead developer
graduated about a year ago.


> If not, are there plans to include it?

You can install any third-party Python library into the Python
distribution that comes with Sage. That's how I come to access
functionalities of pp for computing the above mentioned database.
There was a recent discussion about Sun's Project Fortress [5] and
having some interface to it for parallelizing computation.


[1] http://docs.python.org/library/multiprocessing.html

[2] http://wiki.python.org/moin/ParallelProcessing

[3] http://www.parallelpython.com/

[4] http://www.sagemath.org/doc/reference/dsage.html

[5] http://projectfortress.sun.com

-- 
Regards
Minh Van Nguyen

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to