Title :
Data and computation transformations for Brook streaming applications on multiprocessors
Author :
Liao, Shih-Wei ; Du, Zhaohui ; Wu, Gansha ; Lueh, Guei-Yuan
Author_Institution :
Intel Corp., Santa Clara, CA, USA
Abstract :
Multicore processors are about to become prevalent in the PC world. Meanwhile, over 90% of the computing cycles are estimated to be consumed by streaming media applications (Rixner et al., 1998). Although stream programming exposes parallelism naturally, we found that achieving high performance on multiprocessors is challenging. Therefore, we develop a parallel compiler for the Brook streaming language with aggressive data and computation transformations. First, we formulate fifteen Brook stream operators in terms of systems of inequalities. Our compiler optimizes the modeled operators to improve memory footprint and performance. Second, the stream computation including both kernels and operators is mapped to the affine partitioning model by modeling each kernel as an implicit loop nest over stream elements. Note that our general abstraction is not limited to Brook. Our modeling and transformations yield high performance on uniprocessors as well. The geometric mean of speedups is 4.7 on ten streaming applications on a Xeon. On multiprocessors, we show that exploiting the standard intra-kernel data parallelism is inferior to our general modeling. The former yields a speedup of 1.5 for ten applications on a 4-way Xeon, while the latter achieves a speedup of 6.4 over the same baseline. We show that our compiler effectively reduces memory footprint, exploits parallelism, and circumvents phase-ordering issues.
Keywords :
multiprocessing systems; operating system kernels; optimising compilers; parallel processing; Brook stream operator; Brook streaming language; Xeon; computation transformation; data transformation; intrakernel data parallelism; memory footprint; multiprocessor; optimizing compiler; parallel compiler; stream programming; uniprocessor; Application software; Concurrent computing; Graphics; Image coding; Kernel; Multicore processing; Optimizing compilers; Parallel processing; Parallel programming; Streaming media;
Conference_Titel :
Code Generation and Optimization, 2006. CGO 2006. International Symposium on
Print_ISBN :
0-7695-2499-0
DOI :
10.1109/CGO.2006.13