Header menu link for other important links
X
Lighthouse: An automatic code generator for graph algorithms on GPUs
Published in Springer Verlag
2017
Volume: 10136 LNCS
   
Pages: 235 - 249
Abstract
We propose LightHouse, a GPU code-generator for a graph language named Green-Marl for which a multicore CPU backend already exists. This allows a user to seamlessly generate both the multicore as well as the GPU backends from the same specification of a graph algorithm. This restriction of not modifying the language poses several challenges as we work with an existing abstract syntax tree of the language, which is not tailored to GPUs. LightHouse overcomes these challenges with various optimizations such as reducing the number of atomics and collapsing loops. We illustrate its effectiveness by generating efficient CUDA codes for four graph analytic algorithms, and comparing performance against their multicore OpenMP versions generated by Green- Marl. In particular, our generated CUDA code performs comparable to 4 to 64-threaded OpenMP versions for different algorithms. © Springer International Publishing AG 2017.
About the journal
JournalData powered by TypesetLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
PublisherData powered by TypesetSpringer Verlag
ISSN03029743
Open AccessNo
Concepts (16)
  •  related image
    Application programming interfaces (api)
  •  related image
    Codes (symbols)
  •  related image
    FERTILIZERS
  •  related image
    LIGHTHOUSES
  •  related image
    Program compilers
  •  related image
    Program processors
  •  related image
    Trees (mathematics)
  •  related image
    ABSTRACT SYNTAX TREES
  •  related image
    AUTOMATIC CODE GENERATORS
  •  related image
    CODE GENERATORS
  •  related image
    Graph algorithms
  •  related image
    GRAPH LANGUAGES
  •  related image
    GRAPH-ANALYTIC
  •  related image
    Multi core
  •  related image
    MULTI-CORE CPUS
  •  related image
    Optimization