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