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 条
  • [1] Parallelization with Automatic Parallelizing Compiler Generating Consumer Electronics Multicore API
    Miyamoto, Takamichi
    Asaka, Saori
    Mikami, Hiroki
    Mase, Masayoshi
    Wada, Yasutaka
    Nakano, Hirofumi
    Kimura, Keiji
    Kasahara, Hironori
    [J]. PROCEEDINGS OF THE 2008 INTERNATIONAL SYMPOSIUM ON PARALLEL AND DISTRIBUTED PROCESSING WITH APPLICATIONS, 2008, : 600 - 607
  • [2] Towards effective automatic parallelization for multicore systems
    Bondhugula, Uday
    Baskaran, Muthu.
    Hartonol, Albert
    Krishnamoorthy, Sriram
    Ramanujam, J.
    Rountev, Atanas
    Sadayappan, R.
    [J]. 2008 IEEE INTERNATIONAL SYMPOSIUM ON PARALLEL & DISTRIBUTED PROCESSING, VOLS 1-8, 2008, : 2545 - +
  • [3] Automatic Program Parallelization for Multicore Processors
    Kwiatkowski, Jan
    Iwaszyn, Radoslaw
    [J]. PARALLEL PROCESSING AND APPLIED MATHEMATICS, PT I, 2010, 6067 : 236 - 245
  • [4] Compiler support for Java']Java parallelization
    Bik, AJC
    Breg, F
    Gannon, DB
    [J]. COMPUTERS IN PHYSICS, 1998, 12 (01): : 45 - 52
  • [5] Language extensions in support of compiler parallelization
    Shirako, Jun
    Kasahara, Hironori
    Sarkar, Vivek
    [J]. LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING, 2008, 5234 : 78 - +
  • [6] Automatic Parallelization of Multirate Block Diagrams of Control Systems on Multicore Platforms
    Tuncali, Cumhur Erkan
    Fainekos, Georgios
    Lee, Yann-Hang
    [J]. ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS, 2016, 16 (01)
  • [7] Automatic parallelization: An overview of fundamental compiler techniques
    Midkiff, Samuel P.
    [J]. Synthesis Lectures on Computer Architecture, 2012, 19 : 1 - 169
  • [8] Automatic parallelization of representative-based clustering algorithms for multicore cluster systems
    Islam, Saiyedul
    Balasubramaniam, Sundar
    Gupta, Shruti
    Brajesh, Shikhar
    Badlani, Rohan
    Labhishetty, Nitin
    Baid, Abhinav
    Goyal, Poonam
    Goyal, Navneet
    [J]. INTERNATIONAL JOURNAL OF DATA SCIENCE AND ANALYTICS, 2020, 10 (02) : 135 - 159
  • [9] Automatic parallelization of representative-based clustering algorithms for multicore cluster systems
    Saiyedul Islam
    Sundar Balasubramaniam
    Shruti Gupta
    Shikhar Brajesh
    Rohan Badlani
    Nitin Labhishetty
    Abhinav Baid
    Poonam Goyal
    Navneet Goyal
    [J]. International Journal of Data Science and Analytics, 2020, 10 : 135 - 159
  • [10] Parallelization of Bin Packing on Multicore Systems
    Ghosh, Sayan
    Gebremedhin, Assefaw H.
    [J]. PROCEEDINGS OF 2016 IEEE 23RD INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING (HIPC), 2016, : 311 - 320