A parallel language loosely based on ML
, developed at Carnegie Mellon University
by the SCandAL
project. NESL integrates parallel algorithms
, functional languages
and implementation techniques from the system's community.
Nested data parallelism
offers concise code that is easy to understand and debug and suits irregular data structures such as trees
or sparse matrices
NESL's language based performance model is a formal way to calculate the "work" and "depth" of a program. These measures can be related to running time on a parallel computer
NESL was designed to make parallel programming easy and portable. Algorithms are typically more concise in NESL than in most other parallel programming languages and the code resembles high-level pseudocode
. This places more responsibility on the compiler
and run-time system
for achieving good efficiency.
NESL currently runs on Unix workstations
, the IBM SP-2
, the Thinking Machines CM5
, the Cray C90
, the MasPar MP2
, and the Intel Paragon
. Work is underway (April 1997) on a portable MPI back end
, and an implementation for symmetric multiprocessors
, such as the SGI Power Challenge
or the DEC AlphaServer
Latest version: Release 3.1, as of 1995-11-01.
["NESL: A Nested Data-Parallel Language", Guy Blelloch, CMU-CS-93-129, April 1993].