An Optimally Portable SIMD (Single-Instruction Multiple-Data) Programming Language

Abstract

Existing programming languages for SIMD (Single-Instruction Multiple- Data) parallel computers make implicit architectural assumptions. These limit each language to architectures satisfying its assumptions. This paper presents a theoretical foundation for developing much more portable languages for SIMD computers. It also describes working progress on the design and implementation of such a language. An optimally portable programming language for a set of architectures is one which allows each program to specify the subset of those architectures on which is must be able to run, and which then allows the program to exploit exactly those architectural features available on all of the target architectures. The features available on an architecture can implement with a constant-bounded number of operations. This definition ensures reasonable execution efficiency, and identifies architectural differences which are relevant to algorithm selection. An optimally portable programming language for SIMD computers, call Porta-SIMD (porta-simm'd), is being developed to demonstrate these ideas. Based on C++, it currently runs on the Connection Machine and Pixel-Planes 4. Author.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Oct 01, 1988
Accession Number
ADA201089

Entities

People

  • Russ Tuck

Organizations

  • University of North Carolina at Chapel Hill

Tags

Communities of Interest

  • Air Platforms
  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Compilers
  • Computations
  • Computer Graphics
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Content Addressable Memory
  • Graphics
  • Language
  • Parallel Computing
  • Parallel Processing
  • Parallel Processors
  • Programming Languages
  • Research Facilities
  • Simulations
  • Two Dimensional

Fields of Study

  • Computer science

Readers

  • Computational Linguistics
  • Parallel and Distributed Computing.