Polyhedral Source-to-Source Compiler
Dominik Adamski, Grzegorz Jabłoński, Piotr Perek, Andrzej Napieralski
Abstract
Dominik Adamski, Grzegorz Jabłoński, Piotr Perek, Andrzej Napieralski
Abstract
This paper describes a tool which enables source to source compilation. Implemented Polyhedral Source-to-Source Compiler (PSSC) is based on Polly compiler and LLVM infrastructure and it enables automatic recognition of parallel regions of C/C++ code and annotating them with OpenMP / OpenACC pragmas. The analysis of the input code is done by Polly compiler and then the results are mapped to original source code. This approach allows automatic parallelization of old code, it also ensures high level of code portability and it provides the possibility of manual optimization of the output code. Experimental results of the PSSC compiler have shown that the proposed compiler is able to reach the comparable performance as the original Polly compiler does.
OpenAlex reports 2 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
This paper describes a tool which enables source to source compilation. Implemented Polyhedral Source-to-Source Compiler (PSSC) is based on Polly compiler and LLVM infrastructure and it enables automatic recognition of parallel regions of C/C++ code and annotating them with OpenMP / OpenACC pragmas. The analysis of the input code is done by Polly compiler and then the results are mapped to original source code. This approach allows automatic parallelization of old code, it also ensures high level of code portability and it provides the possibility of manual optimization of the output code. Experimental results of the PSSC compiler have shown that the proposed compiler is able to reach the comparable performance as the original Polly compiler does.
Key concepts: Compiler, Computer science, Software portability, Source code, Programming language, Interprocedural optimization, Parallel computing, Compiler correctness