DocumentCode :
1460305
Title :
Accelerating the Execution of Matrix Languages on the Cell Broadband Engine Architecture
Author :
Khoury, Raymes ; Burgstaller, Bernd ; Scholz, Bernhard
Author_Institution :
Sch. of Inf. Technol., Univ. of Sydney, Sydney, NSW, Australia
Volume :
22
Issue :
1
fYear :
2011
Firstpage :
7
Lastpage :
21
Abstract :
Matrix languages, including MATLAB and Octave, are established standards for applications in science and engineering. They provide interactive programming environments that are easy to use due to their script languages with matrix data types. Current implementations of matrix languages do not fully utilize high-performance, special-purpose chip architectures, such as the IBM PowerXCell processor (Cell). We present a new framework that extends Octave to harvest the computational power of the Cell. With this framework, the programmer is alleviated of the burden of introducing explicit notions of parallelism. Instead, the programmer uses a new matrix data type to execute matrix operations in parallel on the synergistic processing elements (SPEs) of the Cell. We employ lazy evaluation semantics for our new matrix data type to obtain execution traces of matrix operations. Traces are converted to data dependence graphs; operations in the data dependence graph are lowered (split into submatrices), scheduled and executed on the SPEs. Thereby, we exploit 1) data parallelism, 2) instruction level parallelism, 3) pipeline parallelism, and 4) task parallelism of matrix language programs. We conducted extensive experiments to show the validity of our approach. Our Cell-based implementation achieves speedups of up to a factor of 12 over code run on recent Intel Core2 Quad processors.
Keywords :
authoring languages; data flow graphs; interactive programming; mathematics computing; microprocessor chips; programming languages; IBM PowerXCell processor; Intel Core2 Quad processors; MATLAB; Octave; SPE; cell broadband engine architecture; data dependence graphs; data parallelism; instruction level parallelism; interactive programming environments; lazy evaluation semantics; matrix data types; matrix language programs; pipeline parallelism; script languages; special-purpose chip architectures; synergistic processing elements; task parallelism; Acceleration; Computer architecture; Engines; MATLAB; Matrix converters; Parallel processing; Pipelines; Power engineering and energy; Programming environments; Programming profession; Cell Broadband Engine architecture.; Programming languages; data partitioning; lazy evaluation; math script languages; scheduling;
fLanguage :
English
Journal_Title :
Parallel and Distributed Systems, IEEE Transactions on
Publisher :
ieee
ISSN :
1045-9219
Type :
jour
DOI :
10.1109/TPDS.2010.58
Filename :
5441290
Link To Document :
بازگشت