[RiceCS]
DEPARTMENT
RESEARCHACADEMICS
PEOPLENEWS
[Rice]
Rice Computer Science
  SEARCH:
  
Rice University
Department of Computer Science
presents

David I. August

Princeton University

Systematic Program Decision Logic Optimization Using Predication

Abstract

In many ways, modern superscalar, VLIW, and EPIC architectures are becoming increasingly dependent on the sophistication of compilers. As processor issue widths increase, the compiler's ability to utilize available resources by exposing sufficient Instruction-Level Parallelism (ILP) becomes critical in realizing a system's performance potential. One major impediment to a compiler's ability to expose ILP has been inefficient programmatic control flow. Historically, the compiler has translated the programmer's original control structure directly into assembly code with conditional branch instructions. Inefficiencies in this structure limit ILP, and much research have been dedicated to reducing branch control height and to reducing the cost of branch computation. Traditional branch handling techniques, however, are limited by the fact that they cannot significantly alter the program's original control structure.
The use of predication as a compiler intermediate representation has enabled compilers to manipulate program control flow in a form more closely related to the underlying program logic, creating opportunities for more general restructuring. This talk presents a technique that leverages the properties of the predicated representation to overcome limits on ILP previously imposed by rigid program control structure. The method developed abstracts the program control flow into a logical form referred to as a program decision logic network. This network, which can be viewed as a set of Boolean equations, is minimized using adapted versions of logic synthesis techniques. Further network optimization is performed using knowledge of implications between the condition evaluations, which is discerned using a value range analysis mechanism. After minimization, the more efficient version of the program's original control flow is re-expressed as predicated assembly code. This general restructuring of program control reduces height and complexity in ways that far exceed the capabilities of previous techniques.

About David August

David August is an Assistant Professor in the Department of Computer Science at Princeton University. He received the B.S. in Electrical Engineering from Rensselaer Polytechnic Institute in 1993, and the M.S. and Ph.D. degrees in Electrical and Computer Engineering from the University of Illinois at Urbana-Champaign in 1995 and 2000, respectively. At Illinois, he was a member of IMPACT architecture and research compiler group and his research focussed on research focused on advanced predicate optimization and new compiler frameworks leveraging predication. He has received an Intel Foundation Fellowship, an Office of Naval Research Graduate Fellowship, and the University of Illinois Koehler Fellowship. He is a member of IEEE, ACM, Eta Kappa Nu, Tau Beta Pi, and Phi Kappa Phi.

Monday, April 24, 2000 @ 4:15 p.m. in Duncan Hall 1064
Reception to follow in Duncan Hall 3092

--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---