GPU-to-GPU and Host-to-Host Multipattern String Matching on a GPU
The authors develop GPU adaptations of the Aho-Corasick and multipattern Boyer-Moore string matching algorithms for the two cases GPU-to-GPU (input to the algorithms is initially in GPU memory and the output is left in GPU memory) and host-to-host (input and output are in the memory of the host CPU). For the GPU-to-GPU case, they consider several refinements to a base GPU implementation and measure the performance gain from each refinement. For the host-to-host case, they analyze two strategies to communicate between the host and the GPU and show that one is optimal with respect to runtime while the other requires less device memory.