Stream programming languages employ FIFO~(first-in, first-out) semantics to model data channels between producers and consumers. A FIFO data-channel stores tokens in a buffer that is accessed indirectly via read- and write-pointers. This indirect token-access decouples a producer’s write-operations from the read-operations of the consumer, thereby making data-flow implicit. For a compiler, indirect token-access obscures data-dependencies, which renders standard optimizations ineffective and negatively impacts stream program performance.
In this paper we propose a transformation for structured stream programming languages such as StreamIt that shifts FIFO buffer management from run-time to compile-time and eliminates splitters and joiners, whose task is to distribute and merge streams. To show the effectiveness of our lowering transformation, we have implemented a StreamIt to C compilation framework. An own intermediate representation (IR) has been developed that facilitates the transformation. We report on the enabling effect of our IR on LLVM’s optimizations, which required the conversion of several standard StreamIt benchmarks from static to randomized inputs, to prevent computation of partial results already at compile-time. Experimental evaluation was conducted on the Intel i7-2600K, AMD Opteron 6378, Intel Xeon Phi 3120A and ARM Cortex-A15 platforms. Our code generator reduces data communication on average by 35.9% and achieves platform-specific speed-ups between 3.73x and 4.98x over StreamIt. We reduce memory accesses by more than 60% and achieve energy savings of up to 93.6% on the Intel i7-2600K.
Mon 15 JunDisplayed time zone: Tijuana, Baja California change
16:00 - 17:15 | OptimizationResearch Papers at PLDI Main RED (Portland 256) Chair(s): Michelle Strout Colorado State University | ||
16:00 25mTalk | LaminarIR: Compile-Time Queues for Structured Streams Research Papers Yousun Ko Yonsei University, Bernd Burgstaller Yonsei University, Bernhard Scholz The University of Sydney Media Attached | ||
16:25 25mTalk | Optimizing Off-Chip Accesses in Multicores Research Papers Wei Ding Pennsylvania State University, Xulong Tang Penn State, Mahmut Taylan Kandemir Pennsylvania State University, Yuanrui Zhang Intel, Emre Kultursay Pennsylvania State University Media Attached | ||
16:50 25mTalk | Improving Compiler Scalability: Optimizing Large Programs at Small Price Research Papers Media Attached |