Unnikrishnan, C and Nasre, Rupesh and Srikant, YN (2016) Falcon: A Graph Manipulation Language for Heterogeneous Systems. In: ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 12 (4).
PDF
ACM_Tra_Are_Cod_Opt_12-4_54_2016.pdf - Published Version Restricted to Registered users only Download (2MB) | Request a copy |
Abstract
Graph algorithms have been shown to possess enough parallelism to keep several computing resources busy-even hundreds of cores on a GPU. Unfortunately, tuning their implementation for efficient execution on a particular hardware configuration of heterogeneous systems consisting of multicore CPUs and GPUs is challenging, time consuming, and error prone. To address these issues, we propose a domain-specific language (DSL), Falcon, for implementing graph algorithms that (i) abstracts the hardware, (ii) provides constructs to write explicitly parallel programs at a higher level, and (iii) can work with general algorithms that may change the graph structure (morph algorithms). We illustrate the usage of our DSL to implement local computation algorithms (that do not change the graph structure) and morph algorithms such as Delaunay mesh refinement, survey propagation, and dynamic SSSP on GPU and multicore CPUs. Using a set of benchmark graphs, we illustrate that the generated code performs close to the state-of-the-art hand-tuned implementations.
Item Type: | Journal Article |
---|---|
Publication: | ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION |
Publisher: | ASSOC COMPUTING MACHINERY |
Additional Information: | Copy right for this article belongs to the ASSOC COMPUTING MACHINERY, 2 PENN PLAZA, STE 701, NEW YORK, NY 10121-0701 USA |
Keywords: | Graph manipulation languages; domain specific languages; CUDA; OpenMP; GPU; multi-core CPU; morph algorithms; local computation algorithms |
Department/Centre: | Division of Electrical Sciences > Computer Science & Automation |
Date Deposited: | 18 Feb 2016 06:48 |
Last Modified: | 18 Feb 2016 06:48 |
URI: | http://eprints.iisc.ac.in/id/eprint/53233 |
Actions (login required)
View Item |