A novel compiler support for automatic parallelization on multicore systems

被引:13
|
作者
Andion, Jose M. [1 ]
Arenaz, Manuel [1 ]
Rodriguez, Gabriel [1 ]
Tourino, Juan [1 ]
机构
[1] Univ A Coruna, Dept Elect & Syst, La Coruna 15071, Spain
关键词
Automatic parallelization; Parallelizing compiler; Source-to-source compiler; Compiler intermediate representation; Domain-independent kernel; Multicore processor;
D O I
10.1016/j.parco.2013.04.003
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
The widespread use of multicore processors is not a consequence of significant advances in parallel programming. In contrast, multicore processors arise due to the complexity of building power-efficient, high-clock-rate, single-core chips. Automatic parallelization of sequential applications is the ideal solution for making parallel programming as easy as writing programs for sequential computers. However, automatic parallelization remains a grand challenge due to its need for complex program analysis and the existence of unknowns during compilation. This paper proposes a new method for converting a sequential application into a parallel counterpart that can be executed on current multicore processors. It hinges on an intermediate representation based on the concept of domain-independent kernel (e.g., assignment, reduction, recurrence). Such kernel-centric view hides the complexity of the implementation details, enabling the construction of the parallel version even when the source code of the sequential application contains different syntactic variations of the computations (e.g., pointers, arrays, complex control flows). Experiments that evaluate the effectiveness and performance of our approach with respect to state-of-the-art compilers are also presented. The benchmark suite consists of synthetic codes that represent common domain-independent kernels, dense/sparse linear algebra and image processing routines, and full-scale applications from SPEC CPU2000. (C) 2013 Elsevier B.V. All rights reserved.
引用
收藏
页码:442 / 460
页数:19
相关论文
共 50 条
  • [41] Automatic and Interactive Program Parallelization Using the Cetus Source to Source Compiler Infrastructure v2.0
    Bhosale, Akshay
    Barakhshan, Parinaz
    Rosas, Miguel Romero
    Eigenmann, Rudolf
    [J]. ELECTRONICS, 2022, 11 (05)
  • [42] HELIX-RC: An Architecture-Compiler Co-Design for Automatic Parallelization of Irregular Programs
    Campanoni, Simone
    Brownell, Kevin
    Kanev, Svilen
    Jones, Timothy M.
    Wei, Gu-Yeon
    Brooks, David
    [J]. 2014 ACM/IEEE 41ST ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE (ISCA), 2014, : 217 - 228
  • [43] Runtime support for multicore pocket processing systems
    Wolf, Tilman
    Weng, Ning
    Tai, Chia-Hui
    [J]. IEEE NETWORK, 2007, 21 (04): : 29 - 37
  • [44] A compiler approach to map algebra: automatic parallelization, locality optimization, and GPU acceleration of raster spatial analysis
    Jesús Carabaño
    Jan Westerholm
    Tapani Sarjakoski
    [J]. GeoInformatica, 2018, 22 : 211 - 235
  • [45] Usage of the TRACO Compiler for Neural Network Parallelization
    Palkowski, Marek
    Bielecki, Wlodzimierz
    [J]. ARTIFICIAL INTELLIGENCE AND SOFT COMPUTING ICAISC 2014, PT I, 2014, 8467 : 121 - 130
  • [46] Functional Approximation and Approximate Parallelization with the ACCEPT compiler
    Reis, Lucas
    Wanner, Lucas
    [J]. 2021 IEEE 33RD INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING (SBAC-PAD 2021), 2021, : 188 - 197
  • [47] Automatic TLM Generation for Early Validation of Multicore Systems
    Abdi, Samar
    Hwang, Yonghyun
    Yu, Lochi
    Schirner, Gunar
    Gajski, Daniel D.
    [J]. IEEE DESIGN & TEST OF COMPUTERS, 2011, 28 (03): : 10 - 19
  • [48] An OpenMP based Parallelization Compiler for C Applications
    Arabnejad, Hamid
    Bispo, Joao
    Barbosa, Jorge G.
    Cardoso, Joao M. P.
    [J]. 2018 IEEE INT CONF ON PARALLEL & DISTRIBUTED PROCESSING WITH APPLICATIONS, UBIQUITOUS COMPUTING & COMMUNICATIONS, BIG DATA & CLOUD COMPUTING, SOCIAL COMPUTING & NETWORKING, SUSTAINABLE COMPUTING & COMMUNICATIONS, 2018, : 915 - 923
  • [49] Novel parallelization of simulated annealing and Hooke & Jeeves search algorithms for multicore systems with application to complex fisheries stock assessment models
    Vazquez, Sergio
    Martin, Maria J.
    Fraguela, Basilio B.
    Gomez, Andres
    Rodriguez, Aurelio
    Elvarsson, Bjarki Por
    [J]. JOURNAL OF COMPUTATIONAL SCIENCE, 2016, 17 : 599 - 608
  • [50] Optimization Strategies for Automated Parallelization for Multicore Architectures
    Ivutin, Alexey
    Troshina, Anna
    Novikov, Alexander S.
    [J]. 2019 29TH INTERNATIONAL CONFERENCE RADIOELEKTRONIKA (RADIOELEKTRONIKA), 2019, : 345 - 350