Improving Program Performance via Auto-Vectorization of Loops with Conditional Statements with GCC Compiler Setting

Article Preview

Abstract:

The GCC is an auto-vectorization compiler across iterations of loops to parallelism data. Turning GCC compiler optimizations flags for auto-vectorization is a way to improve the performance ability, which is a popular approach to speed up program performance. However, there are many options in GCC compiler and selecting the best combination of these options to improve program performance through vectorization is non-trivial ( as the search space is very large ).In this work we focus on the selection of compiler transformations to auto-vectorize loops with conditional statements. The selection of compiler transformations is based on the correlation between program features, speed-up, and the analysis of the code generated and a small number of passes of iterative compilation. Our preliminary experimental results show that proposed technique attains performance improvements the best ~ 6x using loops in the TSVC benchmark suite on the state-of-the-art Intel Core i3 processor.

You might also be interested in these eBooks

Info:

Periodical:

Pages:

1410-1414

Citation:

Online since:

October 2013

Authors:

Export:

Price:

Permissions CCC:

Permissions PLS:

Сopyright:

© 2013 Trans Tech Publications Ltd. All Rights Reserved

Share:

Citation:

* - Corresponding Author

[1] Information on http: /www. intel. com/content/www/us/en/architecture-and-technology/64-ia-32- architectures-optimization-manual. html.

Google Scholar

[2] Information on http: /gcc. gnu. org/onlinedocs/gcc-4. 7. 2/gcc. pdf.

Google Scholar

[3] Aydin Buluç and John R. Gilbert, SIAM Journal of Scientific Computing (SISC). 34(2012)170 - 191.

Google Scholar

[4] Saeed Maleki and Maria J. Garzarán, PACT '11 Proceedings of the 2011 International Conference on Parallel Architectures and Compilation Techniques. (2011)372-382.

Google Scholar

[5] Chiu, J. and Y. Chou, Microprocessors and Microsystems. 34(2010) 247–258.

Google Scholar

[6] Blake, Geoffrey, Ronald Dreslinski, and Trevor Mudge, IEEE Signal Processing Magazine. 26 (2009) 26-37.

DOI: 10.1109/msp.2009.934110

Google Scholar

[7] Information on http: /polaris. cs. uiuc. edu/˜maleki1/TSVC. tar. gz.

Google Scholar

[8] Trouvé, A., et al., Using Trouvé, A., et al., Procedia Computer Science. (2013) 1292–1301.

Google Scholar

[9] Plotnikov, D., et al., Procedia Computer Science, (2013) 1312–1321.

Google Scholar

[10] F. Agakov et al., International Symposium on Code Generation and Optimization(CGO). 3(2006) 295-305.

Google Scholar

[11] G, Pekhimenko and A. D. Brown, International Workshop on Automatic Performance Tuning (iWAPT)(2009).

Google Scholar