Many explicitly parallel languages have been proposed and implemented, but most such languages are complex and are targeted to specific parallel machines. The goal of this project was to design a very simple, explicitly parallel, programming language which could easily be implemented and ported to a wide variety of machines. The result was AJL, a structured language with deterministic vector-oriented parallelism. AJL programs are first compiled into assembly language instructions for an idealized parallel machine, then these assembly language instructions are macro expanded into C code which implements them for the actual target machine. Finally, the target machine’s “ native” C compiler is used to generate executable code. Macro definitions for “ generic” sequential machines have been implemented; macros for the PASM (PArtitionable Simd Mimd) prototype parallel computer are under development.

Date of this Version