• DocumentCode
    1361118
  • Title

    Optimizing Hardware Design by Composing Utility-Directed Transformations

  • Author

    Liu, Qiang ; Todman, Tim ; Luk, Wayne ; Constantinides, George A.

  • Author_Institution
    Sch. of Electron. Inf. Eng., Tianjin Univ., Tianjin, China
  • Volume
    61
  • Issue
    12
  • fYear
    2012
  • Firstpage
    1800
  • Lastpage
    1812
  • Abstract
    Utility-directed transformations involve changing a design to optimize for given constraints while preserving behavior. These changes are often achieved by techniques such as linear programming or geometric programming. We present a systematic approach composing multiple utility-directed transformations for optimizing and mapping a sequential design onto a customizable parallel computing platform such as a Field-Programmable Gate Array (FPGA). Our aim is to enable automatic design optimization at compile time. Design goals specified by users drive the design transformations. Each utility-directed transformation achieves part of the overall goal, and multiple utility-directed transformations, connected by pattern-directed transformations, are composed to fulfill the overall design requirements. The utility-directed transformations in this work produce performance-optimized designs by exploiting data reuse, MapReduce, and pipelining for the target parallel computing platform. Moreover, it is shown that performing transformations in different orders allows users to trade speed for resources, and design performance for compile time. Several applications are used to evaluate this approach on FPGAs. The system performance of a 64-bit matrix multiplication is shown to improve up to 98 times compared to the original design, in the target hardware platform.
  • Keywords
    field programmable gate arrays; geometric programming; linear programming; logic design; matrix multiplication; parallel processing; pipeline processing; 64-bit matrix multiplication; FPGA; MapReduce; automatic design optimization; compile time; customizable parallel computing platform; data reuse; field-programmable gate array; geometric programming; hardware design optimization; linear programming; pattern-directed transformations; performance-optimized designs; pipelining; sequential design; utility-directed transformations; Design optimization; Electricity supply industry; Energy efficiency; Energy management; Geometric programming; Optimization; Pipeline processing; Design optimization; MapReduce; data reuse; geometric programming; pipelining;
  • fLanguage
    English
  • Journal_Title
    Computers, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0018-9340
  • Type

    jour

  • DOI
    10.1109/TC.2011.205
  • Filename
    6060798