Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

An intermediate language and machine-independent optimization issues in automatic code generation for vector processors

Thesis/Dissertation ·
OSTI ID:6090977
The underlying architecture of a vector processor is different from that of a sequential machine. Therefore, new software must be developed which run on these machines. High-level languages for vector processors can be classified into two groups. The first includes sequential languages such as Fortran, Pascal, C, etc. These languages do not explicitly specify vector operations; hence, it becomes the task of the compiler to construct vector operations from the sequential code. The second group simplifies the task of compiler by allowing the programmer to explicitly specify vector operations. In the process of implementing linear algebra operations such as matrix multiplication and first-order linear recurrences in current high-level languages and generating code on different vector processors, the author sees that efficient code cannot always be generated. By identifying these operations at the intermediate level, he shows how to generate optimal sequences of instructions for a particular machine. He specifies a vector intermediate language, VIL, as well as machine-independent optimization issues for vector processors. He explains how efficient code can be generated from these intermediate operations to different machines. He shows how these intermediate operations can be used in a model of automatic code generation. In machine-independent optimization he explores four issues. Firstly, he considers the application of known optimization techniques for sequential machines to vector processors. Secondly, he discusses new optimization techniques that can be applied to intermediate operations. Thirdly, he discusses the application of lazy evaluation to operations such as rotation and transposition at the intermediate level. Finally, he shows that when the parser can determine some idioms about the shape or the contents of a matrix or a vector, then a considerable amount of space and time can be saved.
Research Organization:
Clemson Univ., SC (United States)
OSTI ID:
6090977
Country of Publication:
United States
Language:
English