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 条
  • [21] On parallelization of the loop over elements in FEAP
    Jarzebski, P.
    Wisniewski, K.
    Taylor, R. L.
    COMPUTATIONAL MECHANICS, 2015, 56 (01) : 77 - 86
  • [22] Overcoming the limitations of the traditional loop parallelization
    Karkowski, I
    Corporaal, H
    HIGH-PERFORMANCE COMPUTING AND NETWORKING, 1997, 1225 : 898 - 907
  • [23] Logical Inference Techniques for Loop Parallelization
    Oancea, Cosmin E.
    Rauchwerger, Lawrence
    ACM SIGPLAN NOTICES, 2012, 47 (06) : 509 - 520
  • [24] Overcoming the limitations of the traditional loop parallelization
    Delft Univ of Technology, Delft, Netherlands
    Future Gener Comput Syst, 4-5 (407-416):
  • [25] Overcoming the limitations of the traditional loop parallelization
    Karkowski, I
    Corporaal, H
    FUTURE GENERATION COMPUTER SYSTEMS, 1998, 13 (4-5) : 407 - 416
  • [26] Profiling dependence vectors for loop parallelization
    Tseng, SY
    King, CT
    Tang, CY
    10TH INTERNATIONAL PARALLEL PROCESSING SYMPOSIUM - PROCEEDINGS OF IPPS '96, 1996, : 23 - 27
  • [27] CDA loop transformations
    Kulkarni, D
    Stumm, M
    LANGUAGES, COMPILERS AND RUN-TIME SYSTEMS FOR SCALABLE COMPUTERS, 1996, : 29 - 42
  • [28] SIMD Vectorization of Nested Loop Based on Strip Mining
    Xu, Jinlong
    Sun, Huihui
    Zhao, Rongcai
    2015 16TH IEEE/ACIS INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, ARTIFICIAL INTELLIGENCE, NETWORKING AND PARALLEL/DISTRIBUTED COMPUTING (SNPD), 2015, : 49 - 55
  • [29] Vectorization-Aware Loop Unrolling with Seed Forwarding
    Rocha, Rodrigo C. O.
    Porpodas, Vasileios
    Petoumenos, Pavlos
    Goes, Luis F. W.
    Wang, Zheng
    Cole, Murray
    Leather, Hugh
    PROCEEDINGS OF THE 29TH INTERNATIONAL CONFERENCE ON COMPILER CONSTRUCTION (CC '20), 2020, : 1 - 13
  • [30] Loop Parallelization Techniques for FPGA Accelerator Synthesis
    Oliver Reiche
    M. Akif Özkan
    Frank Hannig
    Jürgen Teich
    Moritz Schmid
    Journal of Signal Processing Systems, 2018, 90 : 3 - 27