MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  NESL: A nested data-parallel language (version 2.6 (1993) [89 citations — 12 self]

Download:
Download as a PDF | Download as a PS
by Guy E. Blelloch
http://www.cs.cmu.edu/~scandal/papers/CMU-CS-93-129.ps.gz
Add To MetaCart

Abstract:

interpreted as representing the official policies, either expressed or implied, of the U.S. government. Keywords: Data-parallel, parallel algorithms, supercomputers, nested parallelism, PRAM model, parallel programming languages, collection-oriented languages. This report describes Nesl, a strongly-typed, applicative, data-parallel language. Nesl is intended to be used as a portable interface for programming a variety of parallel and vector supercomputers, and as a basis for teaching parallel algorithms. Parallelism is supplied through a simple set of data-parallel constructs based on sequences (ordered sets), including a mechanism for applying any function over the elements of a sequence in parallel and a rich set of parallel functions that manipulate sequences. Nesl fully supports nested sequences and nested parallelism---the ability to take a parallel function and apply it over multiple instances in parallel. Nested parallelism is important for implementing algorithms with complex and dynamically changing data structures, such as required in many graph and sparse matrix algorithms. Nesl also provides a mechanism for calculating the asymptotic running time for a program on various parallel machine models,

Citations

6327 Introduction to algorithms – Cormen, Leiserson, et al. - 1990
1504 The De of Standard ML – Milner, Tofte, et al. - 1990
265 Parallelism in random access machines – Fortune, Wyllie - 1978
253 Vector Models for Data-Parallel Computing – Blelloch - 1990
233 The parallel evaluation of general arithmetic expressions – Brent - 1974
203 I-structures: Data structures for parallel computing – Arvind, Pingali - 1989
202 Standard ML of New Jersey – Appel, MacQueen - 1991
168 A Programming Language – Iverson - 1962
139 Scans as primitive parallel operations – Blelloch - 1989
139 Implementation of a portable nested data-parallel language – Blelloch, Chatterjee, et al. - 1994
128 Programming with Sets: An Introduction to Setl – Schwartz, Dewar, et al. - 1986
125 Report on the functional programming language Haskell, version 1.2 – Hudak, Jones, et al. - 1992
82 An overview of Miranda – Turner - 1986
77 Compiling collection-oriented languages onto massively parallel computers – Blelloch, Sabot - 1990
67 C*: An extended C language for data parallel programming – Rose, Steele - 1987
60 Probabilistic Parallel Algorithms for Sorting and Selection – Reischuk - 1985
56 SISAL: Streams and Iteration in a Single Assignment Language: reference manual version 1.2 – McGraw, Skedzielewski, et al. - 1985
56 Collection-oriented languages – Sipelstein, Blelloch - 1991
35 Scan primitives for vector computers – Chatterjee, Blelloch, et al. - 1990
28 Algorithm 63 (partition) and algorithm 65 (find – Hoare - 1961
27 An Optimal O(log log n) Time Parallel String Matching Algorithm – Breslauer, Galil - 1990
27 Compiling Data-Parallel Programs for Efficient Execution on Shared-Memory Multiprocessors – Chatterjee - 1991
23 An O(n log n) parallel max-flow algorithm – Shiloach, Vishkin - 1982
19 Parallel solutions to geometric problems on the scan model of computation – Blelloch, Little - 1988
13 Size and access inference for data-parallel programs – Blelloch, Chatterjee, et al. - 1991
11 Deterministic sampling--a new technique for fast pattern matching – Vishkin - 1991
6 The Essential *Lisp Manual. Thinking Machines Corporation – Lasser - 1986
3 Computer processing of line-drawing images, Computing Surveys 6(1): 5797 – Freeman - 1974
1 Id reference manual. Technical Report Computation Structures Group Memo 284-1 – Nikhil - 1990