In the past year, we have done extensive research in four areas in compilation techniques for parallel and distributed machines. First, we have developed an uniform runtime system called PILAR that simultaneously supports both regular and irregular accesses using a unique interval representation. Second, we have developed a general global optimization framework for communication optimization. We have combined a linear algebra framework for data distribution and alignment with a data flow analysis framework and have been able to perform communication optimizations across multiple loops for general programs. Third, we have developed a communication optimization framework for one-way communication. We have developed compiler techniques for generating one way communication such as GETS and PUTS. Our work showed that it is possible to do this analysis for complex data distributions such as block-cyclic distributions using the same framework described above. Fourth, we have worked on compilation issues for distributed shared memory multiprocessors. We have developed some novel techniques for data transformations, and combined data and loop transformations to make cache accesses efficient in DSM multiprocessors.
This research has been supported by NSF, Intel, and Air Force Research Labs, and has supported 1 M.S. student, 3 Ph.D. students, and generated 3 journal papers, and 13 conference papers. One M.S. student has graduated.