Gradual Synthesis for Static Parallelization of Single-Pass Array-Processing Programs

被引:0
|
作者
Fedyukovich, Grigory [1 ]
Ahmad, Maaz Bin Safeer [1 ]
Bodik, Rastislav [1 ]
机构
[1] Univ Washington, Paul G Allen Sch Comp Sci & Engn, Seattle, WA 98195 USA
关键词
Program Synthesis; Automatic Parallelization; Inductive Invariants; Constrained Horn Clauses;
D O I
10.1145/3062341.3062382
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Parallelizing of software improves its effectiveness and productivity. To guarantee correctness, the parallel and serial versions of the same code must be formally verified to be equivalent. We present a novel approach, called GRASSP, that automatically synthesizes parallel single-pass array-processing programs by treating the given serial versions as specifications. Given arbitrary segmentation of the input array, GRASSP synthesizes a code to determine a new segmentation of the array that allows computing partial results for each segment and merging them. In contrast to other parallelizers, GRASSP gradually considers several parallelization scenarios and certifies the results using constrained Horn solving. For several classes of programs, we show that such parallelization can be performed efficiently. The C++ translations of the GRASSP solutions sped performance by up to 5X relative to serial code on an 8-thread machine and Hadoop translations by up to 10X on a 10-node Amazon EMR cluster.
引用
收藏
页码:572 / 585
页数:14
相关论文
共 39 条
  • [1] Gradual model generator for single-pass clustering
    Karkkainen, Ismo
    Franti, Pasi
    PATTERN RECOGNITION, 2007, 40 (03) : 784 - 795
  • [2] Gradual model generator for single-pass clustering
    Kärkkäinen, I
    Fränti, P
    FIFTH IEEE INTERNATIONAL CONFERENCE ON DATA MINING, PROCEEDINGS, 2005, : 681 - 684
  • [3] Single-pass TFF processing
    Lutz, Herb
    Steen, Jonathan
    Chefer, Kate
    ABSTRACTS OF PAPERS OF THE AMERICAN CHEMICAL SOCIETY, 2011, 241
  • [4] PRECOMPILATION OF FORTRAN PROGRAMS TO FACILITATE ARRAY-PROCESSING
    BRODE, B
    COMPUTER, 1981, 14 (09) : 46 - 51
  • [5] Streaming Transducers for Algorithmic Verification of Single-pass List-processing Programs
    Alur, Rajeev
    Cerny, Pavol
    POPL 11: PROCEEDINGS OF THE 38TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, 2011, : 599 - 610
  • [6] Streaming Transducers for Algorithmic Verification of Single-pass List-processing Programs
    Alur, Rajeev
    Cerny, Pavol
    ACM SIGPLAN NOTICES, 2011, 46 (01) : 599 - 610
  • [7] Diafiltration approach for single-pass TFF processing
    Petrone, Jon T.
    Griffin, Jennifer J.
    ABSTRACTS OF PAPERS OF THE AMERICAN CHEMICAL SOCIETY, 2013, 245
  • [8] Electrochemical Synthesis of Sulfonamides in Single-Pass Flow
    Schneider, Johannes
    Blum, Stephan P.
    Waldvogel, Siegfried R.
    CHEMELECTROCHEM, 2023, 10 (23)
  • [9] SINGLE-PASS GENERATION OF STATIC SINGLE-ASSIGNMENT FORM FOR STRUCTURED LANGUAGES
    BRANDIS, MM
    MOSSENBOCK, H
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1994, 16 (06): : 1684 - 1698
  • [10] Demons Kernel Computation with Single-pass Stream Processing on FPGA
    Chiew, Wei Ming
    Lin, Feng
    Qian, Kemao
    Seah, Hock Soon
    2012 IEEE 14TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING AND COMMUNICATIONS & 2012 IEEE 9TH INTERNATIONAL CONFERENCE ON EMBEDDED SOFTWARE AND SYSTEMS (HPCC-ICESS), 2012, : 1321 - 1328