Welcome to GraphDot’s documentation!

https://gitlab.com/yhtang/graphdot/badges/master/pipeline.svg https://gitlab.com/yhtang/graphdot/badges/master/coverage.svg https://img.shields.io/badge/License-BSD%203--Clause-blue.svg https://badge.fury.io/py/graphdot.svg https://readthedocs.org/projects/graphdot/badge/?version=latest&style=flat

GraphDot is a GPU-accelerated Python library that carries out graph dot product operations to compute graph similarity. Currently, the library implements the Marginalized Graph Kernel algorithm, which uses a random walk process to compare subtree patterns and thus defining a generalized graph convolution process. The library can operate on undirected graphs, either weighted or unweighted, that contain arbitrary nodal and edge labels and attributes. It implements state-of-the-art GPU acceleration algorithms and supports versatile customization through just-in-time code generation and compilation.


  • Compares graph with different number of nodes and/or edges.
  • Allows user to define arbitrary attributes and custom similarity functions on individual nodes and edges.
  • Fast, memory-efficient GPU algorithms for CUDA.
  • Compatible with major graph libraries such as NetworkX and graphviz.
  • Interoperable with scikit-learn.
  • Built-in specialization for chemistry and material science applications.


Like the package? Please cite:

  • Tang, Yu-Hang, and Wibe A. de Jong. “Prediction of atomization energy using graph kernel and active learning.” The Journal of chemical physics 150, no. 4 (2019): 044107.
  • Tang, Yu-Hang, Oguz Selvitopi, Doru Thom Popovici, and Aydın Buluç. “A High-Throughput Solver for Marginalized Graph Kernels on GPU.” In 2020 IEEE International Parallel and Distributed Processing Symposium (IPDPS), pp. 728-738. IEEE, 2020.

Indices and tables


Yu-Hang “Maxin” Tang, Oguz Selvitopi, Doru Popovici, Yin-Jia Zhang

Funding Acknowledgment

This work was supported by the Luis W. Alvarez Postdoctoral Fellowship at Lawrence Berkeley National Laboratory. This work is also supported in part by the Applied Mathematics program of the DOE Office of Advanced Scientific Computing Research under Contract No. DE-AC02-05CH11231, and in part by the Exascale Computing Project (17-SC-20-SC), a collaborative effort of the U.S. Department of Energy Office of Science and the National Nuclear Security Administration.