Structure of a parallelizing compiler for the B-HIVE multicomputer☆

Abstract We have designed a compiler that will translate ordinary sequential programs for parallel execution on a hypercube-style machine. The parallelization strategy includes static partitioning of the program into adaptively chosen, medium-grain tasks, and static scheduling of these tasks on the target machine. Our simulations show that this strategy will work well on many application programs. The compiler itself is built around a language- and machine-independent intermediate form. This arrangement allows the support of multiple source languages and will allow us to compile for a heterogeneous network of processors.