Improving GNU compiler collection infrastructure for streamization

Antoniu Pop, Sebastian Pop, Harsha Jagasia, Jan Sjödin, Paul H. J. Kelly. Improving GNU compiler collection infrastructure for streamization. In Proceedings of the 2008 GCC Developers' Summit. pages 77-86, June 2008. [doi]

Abstract

GNU Compiler Collection (GCC) needs a strategy to sup- port future multicore architectures, which will probably include heterogeneous accelerator-like designs with ex- plicit management of scratchpad memories. Some have further restrictions; for example, SIMD has limited syn- chronization capabilities. Some platforms will probably offer hardware support for streaming, transactions, and speculation.

The purpose of this paper is to survey and evaluate some automatic and manual techniques for improving support for such targets in GCC. We focus on translation of se- quential code for such platforms, i.e., the translation to task graphs and their communication and memory ac- cess operations. The paper provides an evaluation of the communication library support on an AMD PhenomT M X4 9550 quad-core processor. We use these experiments to tune the automatic task partitioning algorithm imple- mented in GCC. The paper concludes with recommen- dations for strategic developments of GCC to support a stream programming language and improve the auto- matic generation of streamized tasks.