Optimizing Compiler for the CELL Processor
Author(s) -
A.E. Eichenberger,
K. O'Brien,
K. O'Brien,
Peng Wu,
Tong Chen,
P.H. Oden,
D.A. Prener,
J.C. Shepherd,
Byoungro So,
Z. Sura,
A. Wang,
Tao Zhang,
Peng Zhao,
M. Gschwind
Publication year - 2005
Publication title -
14th international conference on parallel architectures and compilation techniques (pact'05)
Language(s) - English
Resource type - Conference proceedings
ISSN - 1089-795X
ISBN - 0-7695-2429-X
DOI - 10.1109/pact.2005.33
Subject(s) - computing and processing , communication, networking and broadcast technologies
Developed for multimedia and game applications, as well as other numerically intensive workloads, the CELL processor provides support both for highly parallel codes, which have high computation and memory requirements, and for scalar codes, which require fast response time and a full-featured programming environment. This first generation CELL processor implements on a single chip a Power Architecture processor with two levels of cache, and eight attached streaming processors with their own local memories and globally coherent DMA engines. In addition to processor-level parallelism, each processing element has a Single Instruction Multiple Data (SIMD) unit that can process from 2 double precision floating points up to 16 bytes per instruction. This paper describes, in the context of a research prototype, several compiler techniques that aim at automatically generating high quality codes over a wide range of heterogeneous parallelism available on the CELL processor. Techniques include compiler-supported branch prediction, compiler-assisted instruction fetch, generation of scalar codes on SIMD units, automatic generation of SIMD codes, and data and code partitioning across the multiple processor elements in the system. Results indicate that significant speedup can be achieved with a high level of support from the compiler.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom