Implementation of a Portable Nested Data-Parallel Language

Abstract

This paper gives an overview of the implementation of NESL, a portable nested data-parallel language. This language and its implementation are the first to fully support nested data structures as well as nested data- parallel function calls. These features allow the concise description of parallel algorithms on irregular data structures, such as sparse matrices and graphs. In addition, they maintain the advantages of data-parallel languages: a simple programming model and portability. The current NESL implementation is based on an intermediate language called VcoDE and a library of vector routines called CVL. It runs on the Connection Machines CM-2 and CM-5, the Cray C90, and serial workstations. We compare initial benchmark results of NESL with those of machine-specific code on these machines for three algorithms: least-squares line-fitting, median finding, and a sparse-matrix vector product. These results show that NESL's performance is competitive with that of machine-specific code for regular dense data, and is often superior for irregular data.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Feb 01, 1993
Accession Number
ADA270524

Entities

People

  • Guy E. Blelloch
  • Jay Sipelstein
  • Jonathan C. Hardwick
  • Marco Zagha
  • Siddhartha Chatterjee

Organizations

  • Carnegie Mellon University

Tags

Communities of Interest

  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Air Force
  • Algorithms
  • Assembly Languages
  • Computations
  • Computer Architecture
  • Computer Programming
  • Computer Science
  • Computers
  • Computing System Architectures
  • High Level Languages
  • Instruction Set Architecture
  • Language
  • Lisp Programming Language
  • Programming Languages
  • Side Effects
  • Sparse Matrix
  • Standards

Fields of Study

  • Computer science

Readers

  • Parallel and Distributed Computing.