The University of Arizona

Events & News

CS Colloquium

CategoryLecture
DateWednesday, June 8, 2016
Time10:30 am
Concludes11:30 am
LocationGould-Simpson 906
DetailsPlease join us for coffee and light refreshments at 10:15am, Gould-Simpson, 9th Floor Atrium

Faculty Host: Dr. Michelle Strout
SpeakerTomofumi Yuki
TitlePh.D.
AffiliationResearcher, Inria, CompSys team in the LIP

Optimizing Compilers in High-Level Synthesis

With the increased maturity of high-level synthesis tools, we are now able to specify the desired behavior in high-level languages and let the tools generate hardware designs that implement the specifications. This exposes opportunities for applying techniques in optimizing compiler to hardware design. In this talk, I will present an analysis and a transformation of C programs targeting HLS.

The analysis is about modeling accuracy, that is, the degree of deviation from the "real" value when digitized values are used. You may replace expensive floating-point operations with fixed-point operations to reduce the area cost, but certain levels of accuracy must be maintained. We present a static analysis of loop programs to model the accuracy for a given fixed-point encoding. The key idea in this work is to succinctly capture the input program as compositions of convolutions, and thus making the analysis scalable.

The transformation is about Finite State Machines, which is the default control logic used in HLS synthesized design. Deriving a single FSM for nested loops is important for reducing pipeline flush/fill overhead, especially when the trip count of the innermost loop is small. However, this leads to complicated state transitions, potentially making the control-path the bottleneck. We avoid this situation by enabling the pipelining of the control-path by computing 2 (or more) states ahead instead of computing the next state.

Biography

Tomofumi Yuki earned his Ph.D. from Colorado State University in 2012. After two years of post-doc at Inria with the CAIRN team in Rennes, France, he became a permanent researcher at Inria and is now working with the CompSys team in the LIP lab (Laboratoire de l'Informatique du Parallélisme, Lyon, France). His has worked on techniques for automatic parallelization and static analyses for parallel programs. His current research interests are in combining analyses capabilities of compilers with application/domain specific knowledge by the programmers through interactions.