Validation of Loop Parallelization and Loop Vectorization Transformations

被引:5
|
作者
Dutta, Sudakshina [1 ]
Sarkar, Dipankar [1 ]
Rawat, Arvind [1 ]
Singh, Kulwant [1 ]
机构
[1] Indian Inst Technol Kharagpur, Kharagpur, W Bengal, India
关键词
Loop Parallelization; Loop Vectorization; Dependence Graph; Conflict Access; Validation; EQUIVALENCE-CHECKING; VERIFICATION;
D O I
10.5220/0005869501950202
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Loop parallelization and loop vectorization of array-intensive programs are two common transformations applied by parallelizing compilers to convert a sequential program into a parallel program. Validation of such transformations carried out by untrusted compilers are extremely useful. This paper proposes a novel algorithm for construction of the dependence graph of the generated parallel programs. The transformations are then validated by checking equivalence of the dependence graphs of the original sequential program and the parallel program using a standard and fairly general algorithm reported elsewhere in the literature. The above equivalence checker still works even when the above parallelizing transformations are preceded by various enabling transformations except for loop collapsing which changes the dimensions of the arrays. To address the issue, the present work expands the scope of the checker to handle this special case by informing it of the correspondence between the index spaces of the corresponding arrays in the sequential and the parallel programs. The augmented algorithm is able to validate a large class of static affine programs. The proposed methods are implemented and tested against a set of available benchmark programs which are parallelized by the polyhedral auto-parallelizer LooPo and the auto-vectorizer Scout. During experiments, a bug of the compiler LooPo on loop parallelization has been detected.
引用
收藏
页码:195 / 202
页数:8
相关论文
共 50 条
  • [41] RECENT VECTORIZATION AND PARALLELIZATION OF ITPACKV
    KINCAID, DR
    OPPE, TC
    LECTURE NOTES IN MATHEMATICS, 1990, 1457 : 58 - 78
  • [42] LOOP TRANSFORMATIONS FOR NUMA MACHINES
    LI, W
    PINGALI, K
    SIGPLAN NOTICES, 1993, 28 (01): : 9 - 12
  • [43] Loop, transformations and sonic space
    Camilleri, Lelio
    PHILOMUSICA, 2006,
  • [44] Interstitial loop transformations in FeCr
    Beland, Laurent Karim
    Osetsky, Yuri N.
    Stoller, Roger E.
    Xu, Haixuan
    JOURNAL OF ALLOYS AND COMPOUNDS, 2015, 640 : 219 - 225
  • [45] Loop-Oriented Pointer Analysis for Automatic SIMD Vectorization
    Sui, Yulei
    Fan, Xiaokang
    Zhou, Hao
    Xue, Jingling
    ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS, 2018, 17 (02)
  • [46] Leveraging MLIR for Loop Vectorization and GPU Porting of FFT Libraries
    He, Yifei
    Podobas, Artur
    Markidis, Stefano
    EURO-PAR 2023: PARALLEL PROCESSING WORKSHOPS, PT I, EURO-PAR 2023, 2024, 14351 : 207 - 218
  • [47] Outer-Loop Vectorization - Revisited for Short SIMD Architectures
    Nuzman, Dorit
    Zaks, Ayal
    PACT'08: PROCEEDINGS OF THE SEVENTEENTH INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, 2008, : 2 - 11
  • [48] Loop parallelization in multi-dimensional Cartesian space
    Parsa, Saeed
    Lotfi, Shahriar
    PERSPECTIVES OF SYSTEMS INFORMATICS, 2007, 4378 : 335 - +
  • [49] Map-Reduce Inspired Loop Parallelization on CGRA
    Shao, Shengjia
    Yin, Shouyi
    Liu, Leibo
    Wei, Shaojun
    2014 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS (ISCAS), 2014, : 1231 - 1234
  • [50] A scalable method for run-time loop parallelization
    Rauchwerger, L
    Amato, NM
    Padua, DA
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 1995, 23 (06) : 537 - 576