@article{10.1007/s11227-019-03109-9, author = {Arabnejad, Hamid and Bispo, Jo\~{a}o and Cardoso, Jo\~{a}o M. P. and Barbosa, Jorge G.}, title = {Source-to-source compilation targeting OpenMP-based automatic parallelization of C applications}, year = {2020}, issue_date = {Sep 2020}, publisher = {Kluwer Academic Publishers}, address = {USA}, volume = {76}, number = {9}, issn = {0920-8542}, url = {https://doi.org/10.1007/s11227-019-03109-9}, doi = {10.1007/s11227-019-03109-9}, abstract = {Directive-driven programming models, such as OpenMP, are one solution for exploring the potential parallelism when targeting multicore architectures. Although these approaches significantly help developers, code parallelization is still a non-trivial and time-consuming process, requiring parallel programming skills. Thus, many efforts have been made toward automatic parallelization of the existing sequential code. This article presents AutoPar-Clava, an OpenMP-based automatic parallelization compiler which: (1) statically detects parallelizable loops in C applications; (2) classifies variables used inside the target loop based on their access pattern; (3) supports reduction clauses on scalar and array variables whenever it is applicable; and (4) generates a C OpenMP parallel code from the input sequential version. The effectiveness of AutoPar-Clava is evaluated by using the NAS and Polyhedral Benchmark suites and targeting a x86-based computing platform. The achieved results are very promising and compare favorably with closely related auto-parallelization compilers, such as Intel C/C++ Compiler (icc), ROSE, TRACO and CETUS.}, journal = {J. Supercomput.}, month = sep, pages = {6753–6785}, numpages = {33}, keywords = {Code transformations, Parallel programming, Compiler framework, Static code analysis} }