The cornerstone of the project is Fx, a parallelizing Fortran compiler that runs on a number of parallel systems, including the Intel Paragon, Alpha workstation clusters, the IBM SP/2, the Cray T3D, and the Intel iWarp system.
The basic research approach is to work with real applications from scientific, signal, and image processing, learn what it takes to run these applications efficiently on parallel systems, and then incorporate these ideas into tools. For example, experience with real-time image processing applications revealed that, because of the relatively small image sizes, purely data parallel mappings would not be efficient. This led to the development of the first parallelizing compiler that integrates both task and data parallelism in a uniform framework.
|Example Fx programs
|fftc1.fx (1D complex FFT)
|CMU task parallel program suite
|fftc2.fx (2D complex FFT)
|Fast T3D array transpose library
|Fx user guide
|fftc3.fx (3D complex FFT)
|Pipelined phase-rotation FFT
|radar.fx (tracking radar)
|hist.fx (image histogram)