A Simple, Verified Validator for Software Pipelining

被引:25
|
作者
Tristan, Jean-Baptiste [1 ]
Leroy, Xavier [1 ]
机构
[1] INRIA Paris Rocquencourt, F-78153 Le Chesnay, France
关键词
Software pipelining; translation validation; symbolic evaluation; verified compilers; FORMAL VERIFICATION;
D O I
10.1145/1706299.1706311
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software pipelining is a loop optimization that overlaps the execution of several iterations of a loop to expose more instruction-level parallelism. It can result in first-class performance characteristics, but at the cost of significant obfuscation of the code, making this optimization difficult to test and debug. In this paper, we present a translation validation algorithm that uses symbolic evaluation to detect semantics discrepancies between a loop and its pipelined version. Our algorithm can be implemented simply and efficiently, is provably sound, and appears to be complete with respect to most modulo scheduling algorithms. A conclusion of this case study is that it is possible and effective to use symbolic evaluation to reason about loop transformations.
引用
收藏
页码:83 / 92
页数:10
相关论文
共 50 条
  • [1] A Simple, Verified Validator for Software Pipelining (verification pearl)
    Tristan, Jean-Baptiste
    Leroy, Xavier
    [J]. ACM SIGPLAN NOTICES, 2010, 45 (01) : 83 - 92
  • [2] A Formally Verified Validator for Classical Planning Problems and Solutions
    Abdulaziz, Mohammad
    Lammich, Peter
    [J]. 2018 IEEE 30TH INTERNATIONAL CONFERENCE ON TOOLS WITH ARTIFICIAL INTELLIGENCE (ICTAI), 2018, : 474 - 479
  • [3] Software pipelining
    [J]. ACM Comput Surv, 3 (367):
  • [4] Software pipelining
    Allan, VH
    Jones, RB
    Lee, RM
    Allan, SJ
    [J]. ACM COMPUTING SURVEYS, 1995, 27 (03) : 367 - 432
  • [5] Trace Software Pipelining
    王剑
    [J]. Journal of Computer Science & Technology, 1995, (06) : 481 - 490
  • [6] A software pipelining method
    He, Y.-X.
    Shi, L.
    Li, C.
    Zhang, G.
    [J]. Wuhan University Journal of Natural Sciences, 2001, 6 (03)
  • [7] Complementing software pipelining with software thread integration
    So, W
    Dean, AG
    [J]. ACM SIGPLAN NOTICES, 2005, 40 (07) : 137 - 146
  • [8] Software pipelining for packet filters
    Yamashita, Yoshiyuki
    Tsuru, Masato
    [J]. HIGH PERFORMANCE COMPUTING AND COMMUNICATIONS, PROCEEDINGS, 2007, 4782 : 446 - +
  • [9] Software pipelining with path selection
    Nakanishi, Chikako
    Ando, Hideki
    Hara, Tetsuya
    Nakaya, Masao
    [J]. Systems and Computers in Japan, 1998, 29 (09) : 74 - 88
  • [10] Hardware/software partitioning and pipelining
    Bakshi, S
    Gajski, DD
    [J]. DESIGN AUTOMATION CONFERENCE - PROCEEDINGS 1997, 1997, : 713 - 716