2019 · 12 citations · 10 references
ComputingComputer EngineeringComputer ScienceAlgorithmsHeterogeneous ComputingParallel ComputingData ParallelismGraph AlgorithmsGraphics Processing Unit ArchitectureGraphics Processing Unit ComputingGraphics Processing UnitsHardware AccelerationAcceleratorsAlgorithm Performance EvaluationGpu AcceleratorsGpu ArchitectureGpu Parallel AlgorithmsGraph ProcessingHeterogeneous EnvironmentsOverhead Analysis
Triangle counting is a representative graph problem that shows the challenges of improving graph algorithm performance using algorithmic techniques and adopting graph algorithms to new architectures. In this paper, we describe an update to the linear-algebraic formulation of the triangle counting problem. Our new approach relies on fine-grained tasking based on a tile layout. We adopt this task based algorithm to heterogeneous architectures (CPUs and GPUs) for up to 10.8× speed up over past year's graph challenge submission. This implementation also results in the fastest kernel time known at time of publication for real-world graphs like twitter (3.7 second) and friendster (1.8 seconds) on GPU accelerators when the graph is GPU resident. This is a 1.7 and 1.2 time improvement over previous state-of-the-art triangle counting on GPUs. We also improved end-to-end execution time by overlapping computation and communication of the graph to the GPUs. In terms of end-to-end execution time, our implementation also achieves the fastest end-to-end times due to very low overhead costs.
10
{SNAP Datasets}: {Stanford} Large Network Dataset Collection
Jure Leskovec, Andrej Krevl · 2014 · 2.8K citations
Static graph challenge: Subgraph isomorphism
2017 · 74 citations · Full text
Fast linear algebra-based triangle counting with KokkosKernels
Michael M. Wolf, Mehmet Deveci, Jonathan W. Berry et al. · 2017 · 65 citations · Full text