A GPU-acceleration of the graph database Neo4j
Switch branches/tags
Clone or download
Latest commit 81bbebb Jul 17, 2017
Type Name Latest commit message Commit time
Failed to load latest commit information.
results QueryGenerator does not get stuck in a loop anymore Sep 7, 2015
src Removed old kernels from JavaCL tutorials. Mar 20, 2016
.gitignore Initial commit May 12, 2015
README.md Update README.md Jul 17, 2017
pom.xml Gpu accelerated version now returns correct amount of solutions Jul 8, 2015



This repository contains the source code of my master's thesis where I've accelerated graph pattern queries by querying data stored in Neo4j using the GPU and comparing the performance to Cypher-queries in Neo4j.

Thesis report

The published thesis can be found here and its full-text can be read here.


Over the last decade the popularity of utilizing the parallel nature of the graphical processing unit in general purpose problems has grown a lot. Today GPUs are used in many different fields where one of them is the acceleration of database systems. Graph databases are a kind of database systems that have gained popularity in recent years. Such databases excel especially for data which is highly interconnected. Querying a graph database often requires finding subgraphs which structurally matches a query graph, i.e. isomorphic subgraphs. In this thesis a method for performing subgraph isomorphism queries named GPUGDA is proposed, extending previous work of GPU-accelerating subgraph isomorphism queries. The query performance of GPUGDA was evaluated and compared to the performance of storing the same graph in Neo4j and making queries in Cypher, the query language of Neo4j. The results show large speedups of up to 470x when the query graph is dense whilst performing slightly worse than Neo4j for sparse query graphs in larger databases.