[pooma-dev] Some POOMA questions
James Crotinger
jcrotinger at proximation.com
Tue Oct 28 18:22:01 UTC 2003
Hi Targei,
The existing POOMA data structures aren't really set up for parallel linear
algebra - they were designed with data-parallel type of operations. Most
parallel solver systems require special data structures, especially the
sparse packages. There have been discussions over the years of building
Engines that mapped to existing parallel data-structures for things like
sparse linear algebra, but I don't believe that there have been any concrete
developments in this direction. If you don't need parallel, then the
BrickEngine is a Fortran-storage-order engine that maps N-D array to a
contiguous chunk of memory, so the underlying raw pointer could be passed to
an external dense linear algebra package.
You'd have to be more explicit on question 2. If the algorithms are
data-parallel, then they're easy to write.
With respect to SMARTS, I don't believe it is being developed at Los Alamos,
so I doubt there will be further changes unless they're done by this
community, and so far there hasn't appeared to be a lot of interest in this.
In my opinion, SMARTS doesn't make a lot of sense unless you have quite a
few processors sharing memory, and that isn't the configuration that most
folks are using these days. A fast MPI or other low-level message passing
layer is probably better if the nodes only have a small number of
processors.
With respect to commercialization, this seems unlikely. Some of us were
approached by a company toward the end of our Los Alamos tenure about doing
this but it really doesn't seem like a business that one could make much
money at. If there was market demand for a commercial effort, I suspect it
would be more along the lines of consulting to develop new capabilities
either built into POOMA, in which case they'd be open-source, or built on
top of POOMA.
Jim
-----Original Message-----
From: Tarjei Knapstad [mailto:tarjeik at chemcon.no]
Sent: Tuesday, October 28, 2003 9:50 AM
To: Pooma-dev
Subject: [pooma-dev] Some POOMA questions
Hi!
(I hope I'm not posting this to the wrong forum, if so please redirect
me.)
I'm currently in the process of evaluating POOMA for use in our software
and I have some questions:
1. Is POOMA suitable for use as a linear algebra package? Or should I be
looking elsewhere, like the Blitz++ library, and do the parallelization
myself? I've done some minor experimentation using Array<2> as a basic
matrix of doubles, but I haven't yet been able to find any functionality
for doing basic stuff like computing a matrix product, Hadamar product
etc. Am I not looking in the right place? I'll also need basic matrix
decompositions like LDU, QR and LDU which brings me to:
2. How hard is it to implement new algorithms for the POOMA containers?
Even though I'm very confident with template code (including expression
templates), I must say that at this point the POOMA code has me more or
less baffled.
3. Is there any work being done to bring SMARTS up to speed? For
parallell execution I'd like to try running on a MOSIX cluster, using
SMARTS to do the threading, but the current SMARTS in CVS fails to
compile the same way it did when I tried it briefly last year (there's
some conflict with pthreads)
4. About licensing: While POOMA is currently free for commercial use,
are there any plans to make it a commercial package down the road? Not
that we mind paying for software, but I'm a bit reluctant to start using
something which may suddenly end up becoming an expensive vendor
lock-in. Also, does/will CodeSourcery offer commercial support for
POOMA, something like you currently offer for gcc?
Thanks in advance,
--
Tarjei Knapstad
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://sourcerytools.com/pipermail/pooma-dev/attachments/20031028/81faf3b0/attachment.html>
More information about the pooma-dev
mailing list