• DocumentCode
    3105810
  • Title

    Vapor SIMD: Auto-vectorize once, run everywhere

  • Author

    Nuzman, Dorit ; Dyshel, Sergei ; Rohou, Erven ; Rosen, Ira ; Williams, Kevin ; Yuste, David ; Cohen, Albert ; Zaks, Ayal

  • Author_Institution
    IBM Haifa Res. Lab., HiPEAC, Haifa, Israel
  • fYear
    2011
  • fDate
    2-6 April 2011
  • Firstpage
    151
  • Lastpage
    160
  • Abstract
    Just-in-Time (JIT) compiler technology offers portability while facilitating target- and context-specific specialization. Single-Instruction-Multiple-Data (SIMD) hardware is ubiquitous and markedly diverse, but can be difficult for JIT compilers to efficiently target due to resource and budget constraints. We present our design for a synergistic auto-vectorizing compilation scheme. The scheme is composed of an aggressive, generic offline stage coupled with a lightweight, target-specific online stage. Our method leverages the optimized intermediate results provided by the first stage across disparate SIMD architectures from different vendors, having distinct characteristics ranging from different vector sizes, memory alignment and access constraints, to special computational idioms. We demonstrate the effectiveness of our design using a set of kernels that exercise innermost loop, outer loop, as well as straight-line code vectorization, all automatically extracted by the common offline compilation stage. This results in performance comparable to that provided by specialized monolithic offline compilers. Our framework is implemented using open-source tools and standards, thereby promoting interoperability and extendibility.
  • Keywords
    open systems; parallel processing; program compilers; program interpreters; aggressive generic offline stage; interoperability; just-in-time compiler technology; lightweight target-specific online stage; memory alignment; open-source tools; single-instruction-multiple-data hardware; straight-line code vectorization; synergistic auto-vectorizing compilation scheme; vapor SIMD architecture; Arrays; Complexity theory; Electronic mail; Optimization; Registers; Semantics;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Code Generation and Optimization (CGO), 2011 9th Annual IEEE/ACM International Symposium on
  • Conference_Location
    Chamonix
  • Print_ISBN
    978-1-61284-356-8
  • Electronic_ISBN
    978-1-61284-358-2
  • Type

    conf

  • DOI
    10.1109/CGO.2011.5764683
  • Filename
    5764683