• DocumentCode
    3459353
  • Title

    Introducing Control Flow into Vectorized Code

  • Author

    Shin, Jaewook

  • Author_Institution
    Argonne Nat. Lab., Argonne
  • fYear
    2007
  • fDate
    15-19 Sept. 2007
  • Firstpage
    280
  • Lastpage
    291
  • Abstract
    Single instruction multiple data (SIMD) functional units are ubiquitous in modern microprocessors. Effective use of these SIMD functional units is essential in achieving the highest possible performance. Automatic generation of SIMD instructions in the presence of control flow is challenging, however, not only because SIMD code is hard to generate in the presence of arbitrarily complex control flow, but also because the SIMD code executing the instructions in all control paths may slow compared to the scalar original, which may bypass a large portion of the code. One promising technique introduced recently involves inserting branches-on-superword-condition-codes (BOSCCs) to bypass vector instructions. In this paper, we describe two techniques that improve on the previous approach. First, BOSCCs are generated in a nested fashion so that even BOSCCs themselves can be bypassed by other BOSCCs. Second, we generate all vec_any_* instructions to bypass even some predicate-defining instructions. We implemented these techniques in a vectorizing compiler. On 14 kernels, the compiler achieves distinct speedups, including 1.99X over the previous technique that generates single- level BOSCCs and vec_any_ne only.
  • Keywords
    parallel processing; software performance evaluation; ubiquitous computing; branches-on-superword-condition-codes; control flow; microprocessors; single instruction multiple data; vectorized code; Automatic control; Automatic generation control; Clocks; Computer science; Kernel; Laboratories; Mathematics; Microprocessors; Parallel architectures; Parallel processing;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel Architecture and Compilation Techniques, 2007. PACT 2007. 16th International Conference on
  • Conference_Location
    Brasov
  • ISSN
    1089-795X
  • Print_ISBN
    978-0-7695-2944-8
  • Type

    conf

  • DOI
    10.1109/PACT.2007.4336219
  • Filename
    4336219