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.
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