Nonlinear Symbolic Analysis for Advanced Program Parallelization

被引:4
|
作者
Kyriakopoulos, Konstantinos [1 ]
Psarris, Kleanthis [1 ]
机构
[1] Univ Texas San Antonio, Dept Comp Sci, San Antonio, TX 78249 USA
基金
美国国家科学基金会;
关键词
Data dependence; program analysis; automatic parallelization; compiler optimization;
D O I
10.1109/TPDS.2008.131
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
High-end parallel and multicore processors rely on compilers to perform the necessary optimizations and exploit concurrency in order to achieve higher performance. However, the source code for high-performance computers is extremely complex to analyze and optimize. In particular, program analysis techniques often do not take into account complex expressions during the data dependence analysis phase. Most data dependence tests are only able to analyze linear expressions, even though nonlinear expressions occur very often in practice. Therefore, considerable amounts of potential parallelism remain unexploited. In this paper, we propose new data dependence analysis techniques to handle such complex instances of the dependence problem and increase program parallelization. Our method is based on a set of polynomial-time techniques that can prove or disprove dependences in source codes with nonlinear and symbolic expressions, complex loop bounds, arrays with coupled subscripts, and if-statement constraints. In addition, our algorithm can produce accurate and complete direction vector information, enabling the compiler to apply further transformations. To validate our method, we performed an experimental evaluation and comparison against the I-Test, the Omega test, and the Range test in the Perfect and SPEC benchmarks. The experimental results indicate that our dependence analysis tool is accurate, efficient, and more effective in program parallelization than the other dependence tests. The improved parallelization results into higher speedups and better program execution performance in several benchmarks.
引用
收藏
页码:623 / 640
页数:18
相关论文
共 50 条
  • [21] SymAnalyzer: A Symbolic Analysis Tool for Program Comprehension
    Laitila, Erkki
    [J]. 13TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING: CSMR 2009, PROCEEDINGS, 2009, : 325 - 326
  • [22] Symbolic analysis for increased program execution performance
    Psarris, Kleanthis
    [J]. ALGORITHMS AND ARCHITECTURES FOR PARALLEL PROCESSING, PROCEEDINGS, 2008, 5022 : 318 - 318
  • [23] Program Analysis via Efficient Symbolic Abstraction
    Yao, Peisen
    Shi, Qingkai
    Huang, Heqing
    Zhang, Charles
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2021, 5 (OOPSLA):
  • [24] Symbolic Computation and Automated Reasoning for Program Analysis
    Kovacs, Laura
    [J]. INTEGRATED FORMAL METHODS (IFM 2016), 2016, 9681 : 20 - 27
  • [25] SNAP - SYMBOLIC-NETWORK-ANALYSIS PROGRAM
    LIN, PM
    ALDERSON, GE
    [J]. PROCEEDINGS OF THE INSTITUTION OF ELECTRICAL ENGINEERS-LONDON, 1972, 119 (02): : 160 - &
  • [26] Differential Program Analysis with Fuzzing and Symbolic Execution
    Noller, Yannic
    [J]. PROCEEDINGS OF THE 2018 33RD IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMTED SOFTWARE ENGINEERING (ASE' 18), 2018, : 944 - 947
  • [27] Discovering Maximum Parallelization Using Advanced Data Dependence Analysis
    Birch, Johnnie
    Psarris, Kleanthis
    [J]. HPCC 2008: 10TH IEEE INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING AND COMMUNICATIONS, PROCEEDINGS, 2008, : 103 - 112
  • [28] NONLINEAR ROTORCRAFT ANALYSIS USING SYMBOLIC MANIPULATION
    FLOWERS, GT
    TONGUE, BH
    [J]. APPLIED MATHEMATICAL MODELLING, 1988, 12 (02) : 154 - 160
  • [29] Symbolic analysis of large signals in nonlinear systems
    Leenaerts, DMW
    [J]. ISCAS '99: PROCEEDINGS OF THE 1999 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS, VOL 6: CIRCUITS ANALYSIS, DESIGN METHODS, AND APPLICATIONS, 1999, : 5 - 8
  • [30] Symbolic hybrid analysis of nonlinear analog circuits
    Dumitriu, Lucia
    Iordache, Mihai
    Voicu, Nicolae
    [J]. 2007 EUROPEAN CONFERENCE ON CIRCUIT THEORY AND DESIGN, VOLS 1-3, 2007, : 970 - 973