  In this paper, we propose a GPU-efficient subgraph isomorphism algorithm
using the Gunrock graph analytic framework, GSM (Gunrock Subgraph Matching), to
compute graph matching on GPUs. In contrast to previous approaches on the CPU
which are based on depth-first traversal, GSM is BFS-based: possible matches
are explored simultaneously in a breadth-first strategy. The advantage of using
BFS-based traversal is that we can leverage the massively parallel processing
capabilities of the GPU. The disadvantage is the generation of more
intermediate results. We propose several optimization techniques to cope with
the problem. Our implementation follows a filtering-and-verification strategy.
While most previous work on GPUs requires one-/two-step joining, we use
one-step verification to decide the candidates in current frontier of nodes.
Our implementation has a speedup up to 4x over previous GPU state-of-the-art
implementation.
