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 条
  • [1] Automatic loop transformations and parallelization for Java
    Artigas, Pedro V.
    Parallel Processing Letters, 2000, 10 (2-3): : 153 - 164
  • [2] Using Data Dependence Analysis and Loop Transformations to Teach Vectorization
    Watkinson, Neftali
    Shivam, Aniket
    Chen, Zhi
    Veidenbaum, Alexander
    Nicolau, Alexandru
    PROCEEDINGS 2017 INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE AND COMPUTATIONAL INTELLIGENCE (CSCI), 2017, : 1143 - 1148
  • [3] Data Transformations Enabling Loop Vectorization on Multithreaded Data Parallel Architectures
    Jang, Byunghyun
    Mistry, Perhaad
    Schaa, Dana
    Dominguez, Rodrigo
    Kaeli, David
    ACM SIGPLAN NOTICES, 2010, 45 (05) : 353 - 354
  • [4] Data Transformations Enabling Loop Vectorization on Multithreaded Data Parallel Architectures
    Jang, Byunghyun
    Mistry, Perhaad
    Schaa, Dana
    Dominguez, Rodrigo
    Kaeli, David
    PPOPP 2010: PROCEEDINGS OF THE 2010 ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING, 2010, : 353 - 354
  • [5] OPTIMAL LOOP PARALLELIZATION
    AIKEN, A
    NICOLAU, A
    SIGPLAN NOTICES, 1988, 23 (07): : 308 - 317
  • [6] Automatic loop parallelization
    Kumar, M
    Patnaik, LM
    COMPUTER JOURNAL, 1997, 40 (06): : 301 - 301
  • [7] Vectorization-aware Loop Optimization with User-defined Code Transformations
    Takizawa, Hiroyuki
    Reimann, Thorsten
    Komatsu, Kazuhiko
    Soga, Takashi
    Egawa, Ryusuke
    Musa, Akihiro
    Kobayashi, Hiroaki
    2017 IEEE INTERNATIONAL CONFERENCE ON CLUSTER COMPUTING (CLUSTER), 2017, : 685 - 692
  • [8] A novel approach to loop parallelization
    Purnell, V
    Corr, PH
    Milligan, P
    23RD EUROMICRO CONFERENCE - NEW FRONTIERS OF INFORMATION TECHNOLOGY, PROCEEDINGS: SHORT CONTRIBUTIONS, 1997, : 272 - 277
  • [9] Translation and run-time validation of loop transformations
    Zuck, L
    Pnueli, A
    Goldberg, B
    Barrett, C
    Fang, Y
    Hu, Y
    FORMAL METHODS IN SYSTEM DESIGN, 2005, 27 (03) : 335 - 360
  • [10] Translation Validation of Loop and Arithmetic Transformations in the Presence of Recurrences
    Banerjee, Kunal
    Mandal, Chittaranjan
    Sarkar, Dipankar
    ACM SIGPLAN NOTICES, 2016, 51 (05) : 31 - 40