We present an automatic scheme to generate programs for distributed-memory multiprocessors. We begin with a source program that contains no references to concurrency or communication. The source program corresponds to a systolic array: as such, it is a nested loop program with regular data dependences. The loop bounds may be any linear function of enclosing… (More)
In any stored-program computer system, information is constantly transferred between the memory and the instruction processor. Machine instructions are a major portion of this traffic. Since transfer bandwidth is a limited resource, inefficiency in the encoding of instruction information (low code density) can have definite hardware and performance costs.… (More)
A pure functional notation for defining APL objects is described, and constructed with previous work in this area. The notation is extended to address both theoretical and pragmatic programming considerations. The notation is compatible with existing implementations, and is shown to straightforwardly incorporate popular extensions to the language.