<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<item>
  <id>05730059</id>
  <dt>a</dt>
  <an>05730059</an>
  <augroup>
    <au>Manley, Raymond</au>
    <au>Gregg, David</au>
  </augroup>
  <ti>Mapping streaming languages to general purpose processors through vectorization.</ti>
  <so>Gao, Guang R. (ed.) et al., Languages and compilers for parallel computing. 22nd international workshop, LCPC 2009, Newark, DE, USA, October 8--10, 2009. Revised selected papers. Berlin: Springer (ISBN 978-3-642-13373-2/pbk). Lecture Notes in Computer Science 5898, 95-110 (2010).</so>
  <py>2010</py>
  <pu>Berlin: Springer</pu>
  <lagroup>
    <la>EN</la>
  </lagroup>
  <ccgroup>
  </ccgroup>
  <utgroup>
    <ut>vectorization</ut>
    <ut>streaming languages</ut>
    <ut>optimization</ut>
  </utgroup>
  <cigroup>
  </cigroup>
  <ligroup>
    <li>doi:10.1007/978-3-642-13374-9_7</li>
  </ligroup>
  <abgroup>
    <ab>Summary: Streaming languages were originally aimed at streaming architectures, but recent work has shown the stream programming model to be useful in exploiting parallelism on general purpose processors. Current research in mapping stream code onto GPPs deals with load balancing and generating threads based on hardware features. We look into improving problems associated with stream data locality and stream data parallelism on GPPs. We suggest that automatically generating vectorized code for these streaming operations is a potential solution. We use the Brook stream language as our syntax base and augment it to generate vector intrinsics targeting the x86 architecture. This compiler uses both existing and new strategies to transform high-level streaming kernel code into vector instructions without requiring additional annotations. We compare our system's results to existing mapping strategies aimed at using stream code on GPPs. When evaluating performance, we see a wide range of speedups from a few percent to over 2x and discuss the level of effectiveness of using vector code over scalar equivalents in specific application domains.</ab>
    <rv></rv>
  </abgroup>
</item>