ePrints@IIScePrints@IISc Home | About | Browse | Latest Additions | Advanced Search | Contact | Help

Falcon: A Graph Manipulation Language for Heterogeneous Systems

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).

[img] PDF
ACM_Tra_Are_Cod_Opt_12-4_54_2016.pdf - Published Version
Restricted to Registered users only

Download (2MB) | Request a copy
Official URL: http://dx.doi.org/10.1145/2842618

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 View Item