Synthesizing parallel graph programs via automated planning

  • Dimitrios Prountzos
  • , Roman Manevich
  • , Keshav Pingali

    Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

    12 Scopus citations

    Abstract

    We describe a system that uses automated planning to synthesize correct and efficient parallel graph programs from high-level algorithmic specifications. Automated planning allows us to use constraints to declaratively encode program transformations such as scheduling, implementation selection, and insertion of synchronization. Each plan emitted by the planner satisfies all constraints simultaneously, and corresponds to a composition of these transformations. In this way, we obtain an integrated compilation approach for a very challenging problem domain. We have used this system to synthesize parallel programs for four graph problems: triangle counting, maximal independent set computation, preflow-push maxflow, and connected components. Experiments on a variety of inputs show that the synthesized implementations perform competitively with hand-written, highly-tuned code. Copyright is held by the owner/author(s). Publication rights licensed to ACM.

    Original languageEnglish
    Title of host publicationPLDI 2015 - Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation
    EditorsSteve Blackburn, David Grove
    PublisherAssociation for Computing Machinery
    Pages533-544
    Number of pages12
    ISBN (Electronic)9781450334686
    DOIs
    StatePublished - 3 Jun 2015
    Event36th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2015 - Portland, United States
    Duration: 13 Jun 201517 Jun 2015

    Publication series

    NameProceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)
    Volume2015-June

    Conference

    Conference36th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2015
    Country/TerritoryUnited States
    CityPortland
    Period13/06/1517/06/15

    Keywords

    • Amorphous data-parallelism
    • Compiler optimization
    • Concurrency
    • Irregular programs
    • Parallelism
    • Synthesis

    ASJC Scopus subject areas

    • Software

    Fingerprint

    Dive into the research topics of 'Synthesizing parallel graph programs via automated planning'. Together they form a unique fingerprint.

    Cite this