Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

A Block-Based Triangle Counting Algorithm on Heterogeneous Environments

Technical Report ·
DOI:https://doi.org/10.2172/1669197· OSTI ID:1669197
 [1];  [2];  [2];  [1]
  1. Georgia Institute of Technology, Atlanta, GA (United States)
  2. Sandia National Lab. (SNL-NM), Albuquerque, NM (United States)

Triangle counting is a fundamental building block in graph algorithms. In this paper, we propose a block-based triangle counting algorithm to reduce data movement during both sequential and parallel execution. Our block-based formulation makes the algorithm naturally suitable for heterogeneous architectures. The problem of partitioning the adjacency matrix of a graph is well-studied. Our task decomposition goes one step further: it partitions the set of triangles in the graph. By streaming these small tasks to compute resources, we can solve problems that do not fit on a device. We demonstrate the effectiveness of our approach by providing an implementation on a compute node with multiple sockets, cores and GPUs. The current state-of-the-art in triangle enumeration processes the Friendster graph in 2.1 seconds, not including data copy time between CPU and GPU. Using that metric, our approach is 20 percent faster. When copy times are included, our algorithm takes 3.2 seconds. This is 5.6 times faster than the fastest published CPU-only time.

Research Organization:
Sandia National Laboratories (SNL-NM), Albuquerque, NM (United States); Georgia Institute of Technology, Atlanta, GA (United States)
Sponsoring Organization:
USDOE National Nuclear Security Administration (NNSA); National Science Foundation (NSF)
DOE Contract Number:
AC04-94AL85000; NA0003525
OSTI ID:
1669197
Report Number(s):
SAND--2020-10333R; 690948
Country of Publication:
United States
Language:
English

Similar Records

A Block-Based Triangle Counting Algorithm on Heterogeneous Environments
Journal Article · Mon Jan 31 23:00:00 EST 2022 · IEEE Transactions on Parallel and Distributed Systems · OSTI ID:1810367

Trust: Triangle Counting Reloaded on GPUs
Journal Article · Mon Mar 08 23:00:00 EST 2021 · IEEE Transactions on Parallel and Distributed Systems · OSTI ID:1805277

Wedge sampling for computing clustering coefficients and triangle counts on large graphs
Journal Article · Thu May 08 00:00:00 EDT 2014 · Statistical Analysis and Data Mining · OSTI ID:1110379