CARP stands for Compiler-oriented Architecture Research at Purdue.

The relationship between compiler transformations and hardware architecture is commonly viewed as consisting of a number of "engineering trade-offs," but this is not the case. In order for a particular function of the computer system to be implementable in either the compiler or the architecture, the information vital to performing that function must be available to both; however, the information available to static mechanisms (e.g., compilers) is not the same as that which is available to dynamic mechanisms (e.g., the architected hardware). Static mechanisms can examine and transform the entire program, yet only probabilistic information is available (e.g, branch probabilities); in contrast, dynamic mechanisms can transform only a few instructions around the current program counter, but perfect information within that range is common. Very few problems can be solved equally well using either kind of information -- the focus of CARP is simply to solve each problem in the right place.

There is another document giving an overview of "compiler oriented architecture."

The following CARP papers are available:

Portability Through Transformability ( 4K .html )
H. G. Dietz, slides from panel presentation on "SPMD: On a Collision Course with Portability?" August 15, 1995, International Conference on Parallel Processing.
Static Scheduling Of PE-To-PE Communications ( 37K .html , 544K .ps.Z )
H. G. Dietz and T. M. Chung, "Genetic Scheduling of Router Operations for the MasPar MP-1/MP-2."
Automatic Use Of Heterogeneous Parallel Systems ( 35K .html , 34K .ps.Z )
H. G. Dietz, W. E. Cohen, and B. K. Grant, "Would You Run It Here... Or There? (AHS: Automatic Heterogeneous Supercomputing)," International Conference on Parallel Processing, vol. II, pp. 217-221, August 1993.
Converting MIMD Code Into Pure SIMD Code ( 49K .html , 52K .ps.Z )
H. G. Dietz and G. Krishnamurthy, "Meta-State Conversion," International Conference on Parallel Processing, vol. II, pp. 47-56, August 1993.
Creating Common Instruction Sequences For SIMD ( 52K .html , 60K .ps.Z )
H. G. Dietz, "Common Subexpression Induction," International Conference on Parallel Processing, vol. II, pp. 174-182, August 1992.
SIMD/MIMD Mode-Independent Parallel Languages ( 204K .html )
Michael J. Phillip, Unification of Synchronous and Asynchronous Models for Parallel Programming Languages, MS Thesis, School of Electrical Engineering, Purdue University, May 1989.
The First Barrier MIMD Paper ( 50K .html , 52K .ps.Z )
Henry G. Dietz and Thomas Schwederski, Extending Static Synchronization Beyond SIMD and VLIW, Purdue University School of Electrical Engineering, Technical Report TR-EE 88-25, June 1988. (For a brief history of this paper, click here ).

HGD

This page was last modified August 31, 1995. [an error occurred while processing this directive]