Helping programmers write parallel software is an urgent problem given the popularity of multi-core architectures. Engineering compilers which automatically parallelize and vectorize code has turned out to be very challenging and consequently compilers are very selective with respect to the coding patterns they can optimize. We present an interactive approach which leverages advanced compiler analysis and optimizations while retaining program- mer control over the source code and its transformation. This allows optimization even when programmers refrain from enabling optimizations to preserve accurate debug in- formation or to avoid bugs in the compiler. It also allows the source code to carry optimizations from one compiler to another. Secondly, our tool-set provides feedback on why optimizations do not apply to a code fragment and sug- gests workarounds which can be applied automatically. We demonstrate the ability of our tool to transform code, and suggest code refactoring that increase its amenability to op- timization. The transformations and suggestions are based on the loop parallelization and matrix reorganization capa- bilities in the GNU Compiler Collection.
|Title of host publication||Proceedings of Swedish Workshop on Multi-Core Computing|
|Publication status||Published - 2010|
|Event||3rd Swedish Workshop on Multicore Computing: THIRD SWEDISH WORKSHOP ON MULTI-CORE COMPUTING - Gothenburg, Sweden|
Duration: 18 Nov 2010 → 19 Nov 2010
Conference number: 3
|Conference||3rd Swedish Workshop on Multicore Computing|
|Period||18/11/2010 → 19/11/2010|