Collaborative Research: Next Generation Compilers for Emerging Multicore Systems
Texas A&M Engineering Experiment Station, College Station TX
Investigators
Abstract
The emergence of multicores as the standard machine design has created one of the most important challenges to the software industry in the history of computing. To take advantage of the additional computational power of each new generation of machines, programs must be able to profit from the most important characteristic of multicores: the presence of multiple processors. In other words, programs must be able to execute in parallel. Furthermore, for efficient execution, this parallelism must take a form that is consistent with the internal organization of the multicore machine where the program is to execute. If these programs were to be manually designed, the need to take into account machine characteristics would increase the cost of program development significantly. Also, since newer multicore designs are likely to include novel architectural features, the process of porting programs from one generation to the next will also involve significant costs. In other words, if nothing is done, the significant increases in the cost of software will be necessary for widespread acceptance of multicores. Our objective in this project is to develop techniques for automating the process of generating efficient parallel programs. To this end, we will extend Pivot, a prototype C++ compiler, under development at Texas A&M, with techniques capable of automatically detecting the parallelism implicit in most conventional C++ programs and mapping it onto a wide range of multicore systems. That is, we will extend Pivot with automatic parallelization techniques. We will build on static and hybrid (static and dynamic) analysis techniques developed at Illinois and Texas A&M for numerical computations and extend them to handle the irregular data structures that are often used in C++ programs.
View original record on NSF Award Search →