[Matrix-SIG] Version 1.0 of Python Interface to Global Arrrays
Harrison, Robert J
Robert.Harrison@pnl.gov
Thu, 09 Dec 1999 14:14:54 -0800
The link at the bottom is to an initial Python wrapper around the
Global Arrays library. This is a numerically-oriented, portable,
parallel programming environment including distributed, shared,
multi-dimension arrays with both one-sided and collective
operations, message passing, and interfaces to parallel BLAS and
linear algebra packages. The Numeric extension is used to
handle local data.
For sometime we've been using Python embedded into our
massively parallel computational chemistry code in order to
provide the end-user with the ability to control fairly
high-level capabilities. However, we've become so enamored
with Python that we're considering exposing a lot more
of our C and Fortran APIs. Most of these APIs are specific
to our application (molecular and solid state electronic structure
and molecular dynamics), but the parallel programming tools
may be of wider interest, hence this post.
The GA library (C and Fortran interfaces, and the Python interface)
is freely distributed in the public domain, and, since many projects
rely upon it, it is well supported. It runs on every parallel
computing platform to which we have access including both massively
parallel super-computers and clusters of SMP workstations. GA
inter-operates with any of the MPI, TCGMSG or PVM message passing
libraries (the Python interface has only been tested with MPI and
TCGMSG).
There are many things still to do, including understanding how to
use the multiarray object to provide slicing, but the current
version is sufficiently complete and robust to be useful.
http://www.emsl.pnl.gov:2080/proj/tms/hpcc_actinides/pyGA/
Robert Harrison (robert.harrison@pnl.gov)