Automatic parallelization: An overview of fundamental compiler techniques

被引:0
|
作者
Midkiff, Samuel P. [1 ]
机构
[1] Purdue University, United States
关键词
Program compilers - Memory architecture;
D O I
10.2200/S003401D1V01Y201201CAC019
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Compiling for parallelism is a longstanding topic of compiler research. This book describes the fundamental principles of compiling regular numerical programs for parallelism.We begin with an explanation of analyses that allow a compiler to understand the interaction of data reads and writes in different statements and loop iterations during program execution. These analyses include dependence analysis, use-def analysis and pointer analysis. Next, we describe how the results of these analyses are used to enable transformations that make loops more amenable to parallelization, and discuss transformations that expose parallelism to target shared memory multicore and vector processors. We then discuss some problems that arise when parallelizing programs for execution on distributed memory machines. Finally, we conclude with an overview of solving Diophantine equations and suggestions for further readings in the topics of this book to enable the interested reader to delve deeper into the field. Copyright © 2012 by Morgan & Claypool.
引用
收藏
页码:1 / 169
相关论文
共 50 条
  • [1] A novel compiler support for automatic parallelization on multicore systems
    Andion, Jose M.
    Arenaz, Manuel
    Rodriguez, Gabriel
    Tourino, Juan
    [J]. PARALLEL COMPUTING, 2013, 39 (09) : 442 - 460
  • [2] ADVANCED TOOLS AND TECHNIQUES FOR AUTOMATIC PARALLELIZATION
    KREMER, U
    BAST, HJ
    GERNDT, M
    ZIMA, HP
    [J]. PARALLEL COMPUTING, 1988, 7 (03) : 387 - 393
  • [3] 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
  • [4] Automatic coarse-grained parallelization techniques
    Cosnard, M
    Jeannot, E
    [J]. ADVANCES IN HIGH PERFORMANCE COMPUTING, 1997, 30 : 253 - 270
  • [5] Multigrain automatic parallelization in Japanese Millennium Project IT21 Advanced Parallelizing Compiler
    Kasahara, H
    Obata, M
    Ishizaka, K
    Kimura, K
    Kaminaga, H
    Nakano, H
    Nagasawa, K
    Murai, A
    Itagaki, H
    Shirako, J
    [J]. PAR ELEC 2002: INTERNATIONAL CONFERENCE ON PARALLEL COMPUTING IN ELECTRICAL ENGINEERING, 2002, : 105 - 111
  • [6] Using Compiler Techniques to Improve Automatic Performance Modeling
    Bhattacharyya, Arnamoy
    Kwasniewski, Grzegorz
    Hoefler, Torsten
    [J]. 2015 INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURE AND COMPILATION (PACT), 2015, : 468 - 479
  • [7] A compiler cost model for speculative parallelization
    Dou, Jialin
    Cintra, Marcelo
    [J]. ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2007, 4 (02) : 12
  • [8] Compiler support for Java']Java parallelization
    Bik, AJC
    Breg, F
    Gannon, DB
    [J]. COMPUTERS IN PHYSICS, 1998, 12 (01): : 45 - 52
  • [9] Language extensions in support of compiler parallelization
    Shirako, Jun
    Kasahara, Hironori
    Sarkar, Vivek
    [J]. LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING, 2008, 5234 : 78 - +
  • [10] Prospect: A Compiler Framework for Speculative Parallelization
    Suesskraut, Martin
    Knauth, Thomas
    Weigert, Stefan
    Schiffel, Ute
    Meinhold, Martin
    Fetzer, Christof
    [J]. CGO 2010: THE EIGHTH INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION, PROCEEDINGS, 2010, : 131 - +