The Connection Machine@ computer system supports a data parallel programmin g style, making it a natural target architecture for Fortran 8x array constructs. The Connection Machine Fortran compiler generates VAX code that performs scalar operations and directs the Connection Machine to perform array operations.The Connection Machine virtual processor mechanism supports elemental operations on very large arrays. Most array operators and intrinsic functions map into single instructions or short instruction sequences. Noncontiguous array sections, array-valued subscripts, and parallel con@ructs such as WHERE and PORALL are also readily accommodated on the Connection Machine. In addition to such customary optimizations as common subexpression elimination, the CM Fortran compiler minimizes data motion for aligning array operations, minimizes transfers between the Connection Machine and the VAX and minimizes context switching for masked computations.
An optimizing compiler for a data parallel programming language can significantly improve program performance on a massively parallel computing system by incorporating new strategies for allocating array elements to processors. We discuss techniques for automatic layout of arrays in a Fortran compiler supporting Fortran 8x array features and targeted to the Connection Ma, chine computer system. Our goal is primarily to minimize the costs of moving data between processors and secondarily to minimize memory usage. Improved array layout may allow communications operations to be eliminated or to be replaced by more specialized communications operations having lower cost. We exhibit and discuss thoroughly a typical example of a code fragment that can be improved by a factor of 2 in memory consumption and a factor of 20 in speed.
SUMMARYSIMD computer systems offer tremendous potential speed-ups but aggressive compilation strategies am required to realize thls potential. The paper presents the Compass SIMD compiler technology developed while working on a number of SIMD compilers. Although the vprious targets have much in common, our increased understanding of the SIMD compilation process on each successive project and the diflerences in the targets themselves has affected the shape of each compiler.
The purpose of this paper is to show that arithmetically minimal systems of notations can be constructed which provide notations for all ramified analytical ordinals (all the ordinals in the minimum β-model for analysis). This is a much larger section of the second number class than the Church-Kleene constructive ordinals (although still only an initial segment of the ordinals). Arithmetic minimality means that if H is an “H-set” associated with an ordinal α in our system and H′ is an H-set associated with the same ordinal α in an arbitrary system of notations S, then H is arithmetical in H′. Thus the arithmetical degrees associated with ordinals in our system are as low as possible.In order to clarify the structure of degrees of unsolvability and, more generally, to gain a deeper insight into the power set of the integers, coarser but neater classifications than the structure of Turing degrees have been sought. Several hierarchies of sets of integers have been studied, each of which organizes a certain class of sets (or their degrees of unsolvability) into a well-ordering of levels with increasing complexity of nonrecursiveness appearing at each new level. The best known of these hierarchies is the Kleene hierarchy of arithmetical sets.
The Connection Machine@ computer system supports a data parallel programmin g style, making it a natural target architecture for Fortran 8x array constructs. The Connection Machine Fortran compiler generates VAX code that performs scalar operations and directs the Connection Machine to perform array operations.The Connection Machine virtual processor mechanism supports elemental operations on very large arrays. Most array operators and intrinsic functions map into single instructions or short instruction sequences. Noncontiguous array sections, array-valued subscripts, and parallel con@ructs such as WHERE and PORALL are also readily accommodated on the Connection Machine. In addition to such customary optimizations as common subexpression elimination, the CM Fortran compiler minimizes data motion for aligning array operations, minimizes transfers between the Connection Machine and the VAX and minimizes context switching for masked computations.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.