DocumentCode
625610
Title
Data-Driven Versus Topology-driven Irregular Computations on GPUs
Author
Nasre, Rupesh ; Burtscher, Martin ; Pingali, Keshav
Author_Institution
Univ. of Texas, Austin, TX, USA
fYear
2013
fDate
20-24 May 2013
Firstpage
463
Lastpage
474
Abstract
Irregular algorithms are algorithms with complex main data structures such as directed and undirected graphs, trees, etc. A useful abstraction for many irregular algorithms is its operator formulation in which the algorithm is viewed as the iterated application of an operator to certain nodes, called active nodes, in the graph. Each operator application, called an activity, usually touches only a small part of the overall graph, so nonoverlapping activities can be performed in parallel. In topology-driven implementations, all nodes are assumed to be active so the operator is applied everywhere in the graph even if there is no work to do at some nodes. In contrast, in data-driven implementations the operator is applied only to nodes at which there might be work to do. Multicore implementations of irregular algorithms are usually data-driven because current multicores only support small numbers of threads and work-efficiency is important. Conversely, many irregular GPU implementations use a topology-driven approach because work inefficiency can be counterbalanced by the large number of GPU threads. In this paper, we study data-driven and topology-driven implementations of six important graph algorithms on GPUs. Our goal is to understand the tradeoffs between these implementations and how to optimize them. We find that data-driven versions are generally faster and scale better despite the cost of maintaining a worklist. However, topology-driven versions can be superior when certain algorithmic properties are exploited to optimize the implementation. These results led us to devise hybrid approaches that combine the two techniques and outperform both of them.
Keywords
data structures; graphics processing units; parallel processing; topology; GPU threads; complex main data structures; data-driven irregular computation; directed graph; iterated application; multicore implementations; topology-driven irregular computation; undirected graph; Algorithm design and analysis; Graphics processing units; Indexes; Instruction sets; Kernel; Optimization; Synchronization; GPGPU; algorithmic properties; data-driven; irregular algorithms; topology-driven;
fLanguage
English
Publisher
ieee
Conference_Titel
Parallel & Distributed Processing (IPDPS), 2013 IEEE 27th International Symposium on
Conference_Location
Boston, MA
ISSN
1530-2075
Print_ISBN
978-1-4673-6066-1
Type
conf
DOI
10.1109/IPDPS.2013.28
Filename
6569834
Link To Document