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 :
بازگشت