AutoPar-Clava: An Automatic Parallelization source-to-source tool for C code applications

被引:6
作者
Arabnejad, Hamid [1 ]
Bispo, Joao [2 ]
Barbosa, Jorge G. [3 ]
Cardoso, Joao M. P. [2 ]
机构
[1] Univ Porto, Fac Engn FEUP, Porto, Portugal
[2] Univ Porto, Fac Engn FEUP, INESC TEC, Porto, Portugal
[3] Univ Porto, Fac Engn FEUP, LIACC, Porto, Portugal
来源
PARMA-DITAM 2018: 9TH WORKSHOP ON PARALLEL PROGRAMMING AND RUNTIME MANAGEMENT TECHNIQUES FOR MANY-CORE ARCHITECTURES AND 7TH WORKSHOP ON DESIGN TOOLS AND ARCHITECTURES FOR MULTICORE EMBEDDED COMPUTING PLATFORMS | 2018年
关键词
Automatic parallelization; source-to-source Compilation; Parallel Programming; OpenMP; DEPENDENCE; EFFICIENT;
D O I
10.1145/3183767.3183770
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Automatic parallelization of sequential code has become increasingly relevant in multicore programming. In particular, loop parallelization continues to be a promising optimization technique for scienti.c applications, and can provide considerable speedups for program execution. Furthermore, if we can verify that there are no true data dependencies between loop iterations, they can be easily parallelized. This paper describes Clava AutoPar, a library for the Clava weaver that performs automatic and symbolic parallelization of C code. The library is composed of two main parts, parallel loop detection and source-to-source code parallelization. The system is entirely automatic and attempts to statically detect parallel loops for a given input program, without any user intervention or profiling information. We obtained a geometric mean speedup of 1.5 for a set of programs from the C version of the NAS benchmark, and experimental results suggest that the performance obtained with Clava AutoPar is comparable or better than other similar research and commercial tools.
引用
收藏
页码:13 / 19
页数:7
相关论文
共 27 条
  • [1] [Anonymous], IMPACT 2012
  • [2] Bae Hansang, 2013, INT J PARALLEL PROG, P1
  • [3] Banerjee Utpal, 2007, Loop transformations for restructuring compilers: the foundations
  • [4] Efficient code generation for automatic parallelization and optimization
    Bastoul, C
    [J]. SECOND INTERNATIONAL SYMPOSIUM ON PARALLEL AND DISTRIBUTED COMPUTING, PROCEEDINGS, 2003, : 23 - 30
  • [5] Bastoul C., 2003, International Workshop on Languages and Compilers for Parallel Computing, P209
  • [6] Blume W., 1994, Proceedings Supercomputing '94 (Cat. No.94CH34819), P528, DOI 10.1109/SUPERC.1994.344316
  • [7] A Practical Automatic Polyhedral Parallelizer and Locality Optimizer
    Bondhugula, Uday
    Hartono, Albert
    Ramanujam, J.
    Sadayappan, R.
    [J]. PLDI'08: PROCEEDINGS OF THE 2008 SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN & IMPLEMENTATION, 2008, : 101 - +
  • [8] Cardoso J.M. P., 2012, Proceedings of the 11th Annual International Conference on Aspect-oriented Software Development, AOSD '12, P179
  • [9] Chandra R., 2001, Parallel programing in OpenMP, DOI DOI 10.5555/355074
  • [10] CETUS: A SOURCE-TO-SOURCE COMPILER INFRASTRUCTURE FOR MULTICORES
    Dave, Chirag
    Bae, Hansang
    Min, Seung-Jai
    Lee, Seyong
    Eigenmann, Rudolf
    Midkiff, Samuel
    [J]. COMPUTER, 2009, 42 (12) : 36 - 42