A Compile-time Cost Model for Automatic OpenMP Decoupled Software Pipelining Parallelization

被引:1
|
作者
Liu, Xiaoxian [1 ]
Zhao, Rongcai [1 ]
Han, Lin [1 ]
机构
[1] State Key Lab Math Engn & Adv Comp, Zhengzhou, Peoples R China
来源
2013 14TH ACIS INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, ARTIFICIAL INTELLIGENCE, NETWORKING AND PARALLEL/DISTRIBUTED COMPUTING (SNPD 2013) | 2013年
关键词
Automatic Parallelization; OpenMP; Decoupled Software Pipelining; Cost Model;
D O I
10.1109/SNPD.2013.8
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
The prevalence of control flow, recursive data structures, and general pointer accesses in ordinary programs renders the traditional automatic parallelization techniques unsuitable. OpenMP Decoupled Software Pipelining (DSWP) is proposed to exploit pipeline parallelism lurking in ordinary programs, which cannot be dealt with by traditional techniques. While cost model is important in helping evaluate compiler transformations, guiding the compiler in its optimization process and helping achieve load balancing, existing cost models are too simple to be sufficient for the profit evaluation of OpenMP, especially for DSWPed loops. We propose a compile-time cost model for automatic parallelization profit estimate by extending the existing cost model in Open64 loop nest optimizer (LNO) phase in this paper. Moreover, we improve the OpenMP DSWP algorithm based on our cost model, which increases execution efficiency of automatic parallelization. We evaluate our cost model with loops containing complex memory access patterns and control flow structure, which cannot be dealt with by traditional techniques, and NAS Parallel Benchmarks (NPB) 3.3.1. As a result, evident performance improvement for generated DSWPed loops and programs are obtained by using our model.
引用
收藏
页码:253 / 260
页数:8
相关论文
共 45 条
  • [21] Combining compile-time and run-time support for efficient software distributed shared memory
    Dwarkadas, S
    Lu, HH
    Cox, AL
    Rajamony, R
    Zwaenepoel, W
    PROCEEDINGS OF THE IEEE, 1999, 87 (03) : 476 - 486
  • [22] A SOFTWARE SCIENCE MODEL OF COMPILE TIME
    SHAW, WH
    HOWATT, JW
    MANESS, RS
    MILLER, DM
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1989, 15 (05) : 543 - 549
  • [23] Model checking software at compile time
    Fehnker, Ansgar
    Huuck, Ralf
    Jayet, Patrick
    Lussenburg, Michel
    Rauch, Felix
    TASE 2007: FIRST JOINT IEEE/IFIP SYMPOSIUM ON THEORETICAL ASPECTS OF SOFTWARE ENGINEERING, PROCEEDINGS, 2007, : 45 - +
  • [24] Automatic selection of load balancing parameters using compile-time and run-time information
    Siegell, BS
    Steenkiste, PA
    CONCURRENCY-PRACTICE AND EXPERIENCE, 1997, 9 (04): : 275 - 317
  • [25] Task generation and compile-time scheduling for mixed data-control embedded software
    Cortadella, J
    Kondratyev, A
    Lavagno, L
    Massot, M
    Moral, S
    Passerone, C
    Watanabe, Y
    Sangiovanni-Vincentelli, A
    37TH DESIGN AUTOMATION CONFERENCE, PROCEEDINGS 2000, 2000, : 489 - 494
  • [26] Compile-time Disambiguation of MATLAB Types through Concrete Interpretation with Automatic Run-time Fallback
    Shei, Chun-Yu
    Chauhan, Arun
    Shaw, Sidney
    16TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING (HIPC), PROCEEDINGS, 2009, : 264 - 273
  • [27] Cost model and decision framework for software pipelining
    Li, Wen-Long
    Lin, Hai-Bo
    Tang, Zhi-Zhong
    Ruan Jian Xue Bao/Journal of Software, 2004, 15 (07): : 1005 - 1011
  • [28] A compile-time model for safe information flow in object-oriented databases
    GendlerFishman, M
    Gudes, E
    INFORMATION SECURITY IN RESEARCH AND BUSINESS, 1997, : 41 - 55
  • [29] DeepCodeGraph: A Language Model for Compile-Time Resource Optimization Using Masked Graph Autoencoders
    Cichetti, Federico
    Parisi, Emanuele
    Acquaviva, Andrea
    Barchi, Francesco
    NATURAL LANGUAGE PROCESSING AND INFORMATION SYSTEMS, PT I, NLDB 2024, 2024, 14762 : 470 - 484
  • [30] A High-Level Model Checking Language with Compile-Time Pruning of Local Variables
    Pardini, Giovanni
    Milazzo, Paolo
    SOFTWARE TECHNOLOGIES: APPLICATIONS AND FOUNDATIONS (STAF 2016), 2016, 9946 : 67 - 82