Accéder directement au contenu Accéder directement à la navigation
Communication dans un congrès

Automatic streamization in GCC

Abstract : Multi-cores and multi-processors became ubiquitous during the last few years, and the trend is to increase the number of simple, power-efficient, and slower cores per chip. One of the results is that the performance of single-threaded applications did not significantly improve, or even declined, on new processors, which heightened the interest in compiler automatic parallelization techniques. Our objective is to develop a framework in GCC to transform loops into pipelines of concurrent tasks using streams to communicate and synchronize. This transformation can either rely on user hints (pragmas) or on static analysis of control and data dependences. Our focus is to fully automate this transformation, which requires an integration with the Graphite polyhedral loop optimization framework and will lead to the development of runtime optimizations based on this polyhedral representation. This approach is complementary with the existing parallelization passes. This paper presents the steamization technique, the optimizations it enables, the interaction with other optimizations, and the necessary extensions to Graphite/PCP (polyhedral compilation package) for its integration.
Type de document :
Communication dans un congrès
Liste complète des métadonnées
Contributeur : Jordane Raisin-Dadre <>
Soumis le : mercredi 24 avril 2013 - 15:55:05
Dernière modification le : samedi 19 septembre 2020 - 04:30:13


  • HAL Id : hal-00817455, version 1


Antoniu Pop, Sebastian Pop, Jan Sjödin. Automatic streamization in GCC. GCC Developers' Summit 2009, Jun 2009, Montréal, Canada. pp.91-103. ⟨hal-00817455⟩



Consultations de la notice