DocumentCode
1877451
Title
Speculative dynamic vectorization to assist static vectorization in a HW/SW co-designed environment
Author
Kumar, Ravindra ; Martinez, A. ; Gonzalez, Adriana
Author_Institution
Dept. of Comput. Archit., Univ. Politec. de Catalunya, Barcelona, Spain
fYear
2013
fDate
18-21 Dec. 2013
Firstpage
79
Lastpage
88
Abstract
Compiler based static vectorization is used widely to extract data level parallelism from computation intensive applications. Static vectorization is very effective in vectorizing traditional array based applications. However, compilers inability to reorder ambiguous memory references severely limits vectorization opportunities, especially in pointer rich applications. HW/SW co-designed processors provide an excellent opportunity to optimize the applications at runtime. The availability of dynamic application behavior at runtime will help in capturing vectorization opportunities generally missed by the compilers. This paper proposes to complement the static vectorization with a speculative dynamic vectorizer in a HW/SW co-design processor. We present a speculative dynamic vectorization algorithm that speculatively reorders ambiguous memory references to uncover vectorization opportunities. The hardware checks for any memory dependence violation due to speculative vectorization and takes corrective action in case of violation. Our experiments show that the combined (static + dynamic) vectorization approach provides 2x performance benefit compared to the static vectorization alone, for SPECFP2006. Moreover, dynamic vectorization scheme is as effective in vectorization of pointer-based applications as for the array-based ones, whereas compilers lose significant vectorization opportunities in pointer-based applications.
Keywords
hardware-software codesign; microprocessor chips; optimising compilers; HW/SW codesigned processor; compiler based static vectorization; data level parallelism; dynamic application behavior; pointer-based application; speculative dynamic vectorization; Algorithm design and analysis; Hardware; Heuristic algorithms; Optimization; Program processors; Runtime; Software algorithms; Dynamic optimizations; HW/SW Co-designed processor; Speculation; Vectorization;
fLanguage
English
Publisher
ieee
Conference_Titel
High Performance Computing (HiPC), 2013 20th International Conference on
Conference_Location
Bangalore
Type
conf
DOI
10.1109/HiPC.2013.6799102
Filename
6799102
Link To Document