NESL: A nested data-parallel language (version 2. 6)
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, including the parallel random access machine (PRAM). This is useful for estimating running times of algorithms on actual machines and, when teaching algorithms, for supplying a close correspondence between the code and the theoretical complexity.
- Research Organization:
- Carnegie-Mellon Univ., Pittsburgh, PA (United States). School of Computer Science
- OSTI ID:
- 6169898
- Report Number(s):
- AD-A-263548/0/XAB; CMU-CS-93-129; CNN: F33615-90-C-1465; ARPA Order-7597
- Resource Relation:
- Other Information: Updated version of CMU-CS-92-103, Jan 92
- Country of Publication:
- United States
- Language:
- English
Similar Records
Native Language Processing using Exegy Text Miner
SISAL: streams and iteration in a single assignment language. Language reference manual, Version 1. 2. Revision 1
Related Subjects
PARALLEL PROCESSING
PROGRAMMING
SUPERCOMPUTERS
ALGORITHMS
DIAGRAMS
EQUIPMENT INTERFACES
FORECASTING
FUNCTIONAL ANALYSIS
FUNCTIONS
INFORMATION RETRIEVAL
INTERFACES
MATRIX ELEMENTS
THEORETICAL DATA
VECTOR PROCESSING
COMPUTERS
DATA
DIGITAL COMPUTERS
INFORMATION
MATHEMATICAL LOGIC
MATHEMATICS
NUMERICAL DATA
990200* - Mathematics & Computers