• DocumentCode
    2788125
  • Title

    An Evaluation of Vectorizing Compilers

  • Author

    Maleki, Saeed ; Gao, Yaoqing ; Garzaran, Mara J. ; Wong, Tommy ; Padua, David A.

  • Author_Institution
    Dept. of Comput. Sci., Univ. of Illinois at Urbana-Champaign, Urbana, IL, USA
  • fYear
    2011
  • fDate
    10-14 Oct. 2011
  • Firstpage
    372
  • Lastpage
    382
  • Abstract
    Most of today´s processors include vector units that have been designed to speedup single threaded programs. Although vector instructions can deliver high performance, writing vector code in assembly language or using intrinsics in high level languages is a time consuming and error-prone task. The alternative is to automate the process of vectorization by using vectorizing compilers. This paper evaluates how well compilers vectorize a synthetic benchmark consisting of 151 loops, two application from Petascale Application Collaboration Teams (PACT), and eight applications from Media Bench II. We evaluated three compilers: GCC (version 4.7.0), ICC (version 12.0) and XLC (version 11.01). Our results show that despite all the work done in vectorization in the last 40 years 45-71% of the loops in the synthetic benchmark and only a few loops from the real applications are vectorized by the compilers we evaluated.
  • Keywords
    program compilers; software performance evaluation; GCC; ICC; XLC; assembly language; high level languages; single threaded programs; vector code; vector instructions; vectorizing compilers; Arrays; Benchmark testing; Kernel; Layout; Media; Program processors; Vectors;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel Architectures and Compilation Techniques (PACT), 2011 International Conference on
  • Conference_Location
    Galveston, TX
  • ISSN
    1089-795X
  • Print_ISBN
    978-1-4577-1794-9
  • Type

    conf

  • DOI
    10.1109/PACT.2011.68
  • Filename
    6113845