Parallelization of Shortest Path Graph Kernels on Multi-Core CPUs and GPUs

In this paper, we present a study on the parallelization of the shortest path graph kernel from machine learning theory. We first present a fast sequential implementation of the graph kernel which we refer as Fast Computation of Shortest Path Kernel (FCSP). Then we explore two different parallelization schemes on the CPU and four different implementations on the GPU. After analyzing the advantages of each we propose a hybrid version which, for different pairs of graphs, dynamically chooses the best implementation from multicore execution and GPU execution. Finally, we apply our implementations to several datasets that are composed of graphs from different domains. We first evaluate our implementations on a set of synthetic datasets, then, we evaluate our implementations on a set of four real-world graph datasets. The results show that the sequential FCSP algorithm running on CPU is able to achieve a maximum 76x speedup over a naive sequential implementation of the shortest path graph kernel algorithm running on the same CPU. The results also show that our GPU implementation of FCSP offers a maximum 18x speedup over the sequential FCSP. Our GPU implementation also achieves a maximum 2x over a parallel CPU implementation of FCSP.

[1]  Gunnar Rätsch,et al.  Support Vector Machines and Kernels for Computational Biology , 2008, PLoS Comput. Biol..

[2]  Matthias Rupp Graph kernels for chemoinformatics – a critical discussion , 2011, J. Cheminformatics.

[3]  Hans-Peter Kriegel,et al.  Shortest-path kernels on graphs , 2005, Fifth IEEE International Conference on Data Mining (ICDM'05).

[4]  Kunle Olukotun,et al.  Efficient Parallel Graph Exploration on Multi-Core CPU and GPU , 2011, 2011 International Conference on Parallel Architectures and Compilation Techniques.

[5]  P. J. Narayanan,et al.  Accelerating Large Graph Algorithms on the GPU Using CUDA , 2007, HiPC.

[6]  A. Debnath,et al.  Structure-activity relationship of mutagenic aromatic and heteroaromatic nitro compounds. Correlation with molecular orbital energies and hydrophobicity. , 1991, Journal of medicinal chemistry.

[7]  Nello Cristianini,et al.  Kernel Methods for Pattern Analysis , 2004 .

[8]  A. Atiya,et al.  Learning with Kernels: Support Vector Machines, Regularization, Optimization, and Beyond , 2005, IEEE Transactions on Neural Networks.

[9]  Antje Chang,et al.  BRENDA , the enzyme database : updates and major new developments , 2003 .

[10]  Michael Garland,et al.  Efficient Sparse Matrix-Vector Multiplication on CUDA , 2008 .

[11]  Karsten M. Borgwardt,et al.  Fast subtree kernels on graphs , 2009, NIPS.

[12]  Tatsuya Akutsu,et al.  Extensions of marginalized graph kernels , 2004, ICML.

[13]  George Karypis,et al.  Comparison of descriptor spaces for chemical compound retrieval and classification , 2006, Sixth International Conference on Data Mining (ICDM'06).

[14]  Stephen J. Garland,et al.  Algorithm 97: Shortest path , 1962, Commun. ACM.

[15]  Koji Tsuda,et al.  Graph kernels for chemoinformatics , 2010 .

[16]  David Haussler,et al.  Convolution kernels on discrete structures , 1999 .

[17]  T. Snijders Statistical Models for Social Networks , 2011 .

[18]  Joseph T. Kider,et al.  All-pairs shortest-paths for large graphs on the GPU , 2008, GH '08.

[19]  Christoph H. Lampert Kernel Methods in Computer Vision , 2009, Found. Trends Comput. Graph. Vis..

[20]  Ben D. Lund,et al.  A Multi-Stage CUDA Kernel for Floyd-Warshall , 2010, ArXiv.

[21]  Concha Bielza,et al.  Machine Learning in Bioinformatics , 2008, Encyclopedia of Database Systems.