Lambda the Ultimate

inactiveTopic POOMA
started 4/25/2004; 8:34:29 PM - last post 4/27/2004; 7:06:20 PM
Mark Evans - POOMA  blueArrow
4/25/2004; 8:34:29 PM (reads: 11948, responses: 3)

POOMA is a high-performance C++ toolkit for parallel scientific computation. POOMA's object-oriented design facilitates rapid application development. POOMA has been optimized to take full advantage of massively parallel machines. POOMA is available free of charge in order to facilitate its use in both industrial and research environments, and has been used extensively by the Los Alamos National Laboratory.

Posted to Parallel/Distributed by Mark Evans on 4/25/04; 8:34:56 PM

Chris Rathman - Re: POOMA  blueArrow
4/26/2004; 12:06:14 PM (reads: 228, responses: 0)
Makes me kind of wish Lawrence Livermore National Labs had been able to keep Sisal going.

Ehud Lamm - Re: POOMA  blueArrow
4/26/2004; 12:54:51 PM (reads: 215, responses: 0)
Any interesting language ideas in this work?

Mark Evans - Re: POOMA  blueArrow
4/27/2004; 7:06:20 PM (reads: 130, responses: 0)

Yes, Ehud, they are listed as follows:

  • containers and other abstractions suitable for scientific computation,
  • support for a variety of computation modes including data-parallel expressions, stencil-based computations, and lazy evaluation,
  • support for writing parallel and distributed programs,
  • automatic creation of all interprocessor communication for parallel and distributed programs, and
  • automatic out-of-order execution and loop rearrangement for fast program execution.

Since the toolkit provides high-level abstractions, POOMA programs are much shorter than corresponding Fortran or C programs and require less time to write and less time to debug. Using these high-level abstractions, the same code runs on a sequential, parallel, and distributed computers. It runs almost as fast as carefully crafted machine-specific hand-written programs. The toolkit is open-source software, available for no cost, and compatible with any modern C++ compiler.

The same POOMA programs run on sequential, distributed, and parallel computers. No change in source code is required.