NESL: A Parallel Programming Language. NESL is a parallel language developed at Carnegie Mellon by the SCandAL project. It integrates various ideas from the theory community (parallel algorithms), the languages community (functional languages) and the system’s community (many of the implementation techniques). The most important new ideas behind NESL are Nested data parallelism: this feature offers the benefits of data parallelism, concise code that is easy to understand and debug, while being well suited for irregular algorithms, such as algorithms on trees, graphs or sparse matrices (see the examples above or in our library of algorithms). A language based performance model: this gives a formal way to calculated the work and depth of a program. These measures can be related to running time on parallel machines. The main emphasis in the design of NESL was to make parallel programming easy and portable. Algorithms are typically significantly more concise in NESL than in most other parallel programming languages. Furthermore the code closely resembles high-level pseudocode. Here is a comparison of a parallel quicksort in NESL and MPI (10 lines of code vs. 1700). Of course this comes at the cost of placing more responsibility on the compiler and runtime system for achieving good efficiency.
Keywords for this software
References in zbMATH (referenced in 12 articles , 1 standard article )
Showing results 1 to 12 of 12.
- Bergstrom, Lars; Reppy, John: Nested data-parallelism on the GPU (2012)
- He, Yuxiong; Sun, Hongyang; Hsu, Wen-Jing: Improved results for scheduling batched parallel jobs by using a generalized analysis framework (2010)
- Gruau, Frédéric; Eisenbeis, Christine; Maignan, Luidnel: The foundation of self-developing blob machines for spatial computing (2008)
- Peyton Jones, Simon; Leshchinskiy, Roman; Keller, Gabriele; Chakravarty, Manuel M.T.: Harnessing the multicores: nested data parallelism in Haskell (2008)
- Cockshott, Paul; Michaelson, Greg: Orthogonal parallel processing in Vector Pascal (2006)
- Chakravarty, Manuel M.T.; Keller, Gabriele; Lechtchinsky, Roman; Pfannenstiel, Wolf: Nepal -- nested data parallelism in Haskell (2001)
- Giavitto, Jean-Louis; Michel, Olivier: MGS: a rule-based programming language for complex objects and collections. (2001)
- Minamide, Yasuhiko; Presto: A new criterion for safe program transformations (2001)
- Gustavsson, Jörgen; Sands, David: A foundation for space-safe transformations of call-by-need programs. (1999)
- Minamide, Yasuhiko: Space-profiling semantics of the call-by-value lambda calculus and the CPS transformation. (1999)
- Botorog, George Horaţiu; Kuchen, Herbert: Efficient high-level parallel programming (1998)
- Blelloch, Guy E.; Greiner, John: A provable time and space efficient implementation of NESL (1996)