DocumentCode :
1564743
Title :
A high-performance SIMD floating point unit for BlueGene/L: architecture, compilation, and algorithm design
Author :
Bachega, Leonardo ; Chatterjee, Siddhartha ; Dockser, Kenneth A. ; Gunnels, John A. ; Gupta, Manish ; Gustavson, Fred G. ; Lapkowski, Christopher A. ; Liu, Gary K. ; Mendell, Mark P. ; Wait, Charles D. ; Ward, T. J Chris
Author_Institution :
IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA
fYear :
2004
Firstpage :
85
Lastpage :
96
Abstract :
We describe the design, implementation, and evaluation of a dual-issue SIMD-like extension of the PowerPC 440 floating-point unit (FPU) core. This extended FPU is targeted at both IBM´s massively parallel BlueGene/L machine as well as more pervasive embedded platforms. It has several novel features, such as a computational crossbar and cross-load/store instructions, which enhance the performance of numerical codes. We further discuss the hardware-software co-design that was essential to fully realize the performance benefits of the FPU when constrained by the memory bandwidth limitations and high penalties for misaligned data access imposed by the memory hierarchy on a BlueGene/L node. We describe several novel compiler and algorithmic techniques to take advantage of this architecture. Using both hand-optimized and compiled code for key linear algebraic kernels, we validate the architectural design choices, evaluate the success of the compiler, and quantify the effectiveness of the novel algorithm design techniques. Preliminary performance data shows that the algorithm-compiler-hardware combination delivers a significant fraction of peak floating-point performance for compute-bound kernels such as matrix multiplication, and delivers a significant fraction of peak memory bandwidth for memory-bound kernels such as daxpy, while being largely insensitive to data alignment.
Keywords :
embedded systems; floating point arithmetic; hardware-software codesign; instruction sets; parallel architectures; parallel machines; performance evaluation; program compilers; BlueGene/L machine; SIMD floating point unit; embedded platforms; hardware-software co-design; linear algebraic kernels; matrix multiplication; memory bandwidth limitations; peak floating-point performance; Algorithm design and analysis; Bandwidth; Collaboration; Computer aided instruction; Concurrent computing; Design optimization; Hardware; Kernel; Laboratories; Optimizing compilers;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Parallel Architecture and Compilation Techniques, 2004. PACT 2004. Proceedings. 13th International Conference on
ISSN :
1089-795X
Print_ISBN :
0-7695-2229-7
Type :
conf
DOI :
10.1109/PACT.2004.1342544
Filename :
1342544
Link To Document :
بازگشت