Spark-DCSE-Isss02 - Dynamic Common Sub-Expression...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Dynamic Common Sub-Expression Elimination during Scheduling in High-Level Synthesis Sumit Gupta Mehrdad Reshadi Nick Savoiu Nikil Dutt Rajesh Gupta Alex Nicolau Center for Embedded Computer Systems University of California at Irvine ∼ spark { sumitg, reshadi, savoiu, dutt, rgupta, nicolau } ABSTRACT We introduce a new approach, “Dynamic Common Sub-expression Elimination (CSE)”, that dynamically eliminates common sub- ex- pressions based on new opportunities created during scheduling of control-intensive designs. Classical CSE techniques fail to elimi- nate several common sub-expressions in control-intensive designs due to the presence of a complex mix of control and data-flow. Ag- gressive speculative code motions employed to schedule control- intensive designs often re-order, speculate and duplicate operations, hence changing the control flow between the operations with com- mon sub-expressions. This leads to new opportunities for apply- ing CSE dynamically. We have implemented dynamic CSE in a high-level synthesis framework called Spark and present results for experiments performed using various combinations of CSE and dy- namic CSE. The benchmarks used consist of four functional blocks derived from two moderately complex industrial-strength applica- tions, namely, MPEG-1 and the GIMP image processing tool. Our dynamic CSE techniques result in improvements of up to 22 % in the controller size and up to 31 % in performance; easily surpass- ing the improvements obtained by the traditional CSE approach. We also observe an unexpected (and significant) reduction in the number of registers using our approach. Categories and Subject Descriptors : B.5.1 [Register-Transfer- Level Implementation] Design Aids General Terms : Design, Performance Keywords : High-level synthesis, Common Sub-Expression Elimi- nation, Dynamic CSE, Parallelizing Transformations 1. INTRODUCTION The quality of synthesis results for most high level synthesis ap- proaches is strongly affected by the choice of control flow (through conditions and loops) in the input description. This has led to a need for high-level and compiler transformations that overcome the effects of syntactic variance or programming style on the quality of generated circuits. To address this need, a set of speculative code motion transformations have been developed that enable movement of operations through, beyond, and into conditionals with the ob- jective of maximizing performance [1, 2]. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee....
View Full Document

This note was uploaded on 09/01/2009 for the course CSE CS-699 taught by Professor Prf.p.bhaduri during the Spring '09 term at Indian Institute of Technology, Guwahati.

Page1 / 6

Spark-DCSE-Isss02 - Dynamic Common Sub-Expression...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online