Compilers are software tools that bridge the gap between the functions supported by hardware processor and high level programming languages. Cetus is a compiler infrastructure at Purdue University, is publicly available (downloaded over 1000 times for use in compiler research), and has become an important part of the global compiler research infrastructure. The Cetus compiler infrastructures supports the goals of the NSF CRI program by providing an easy to extend code base that allows the broader compiler research community to avoid having to repeatedly re-implement foundational compiler techniques and thereby accelerating the discovery of knowledge in the area of compilers and programming tools.
The work funded by this proposal has several goals. First, the group will continue to maintain this essential infrastructure for the community and to add enhancements that satisfy user requirements. Second, the group will continue to keep Cetus' internal representations at a high level of abstraction allowing it to be used as a building block for instructional purposes. Third, while Cetus is the most advanced program parallelizer, its capabilities will be further enhanced, particularly for GPU accelerators, for analyzing and optimizing irregular programs, and for auto-tuning programs for best results. Finally, Cetus will be made available for use with Purdue's NanoHub, which is a cyber-infrastructure platform for research on emerging technologies.