A Datalog Engine for GPUs

Carlos Alberto Martínez-Angeles, Inês Dutra, Vítor Santos Costa and Jorge Buenabad-Chávez

September 2013


Abstract

We present the design and evaluation of a Datalog engine for execution in Graphics Processing Units (GPUs). The engine evaluates recursive and non-recursive Datalog queries using a bottom-up approach based on typical relational operators. It includes a memory management scheme that automatically swaps data between memory in the host platform (a multicore) and memory in the GPU in order to reduce the number of memory transfers.
To evaluate the performance of the engine, three Datalog queries were run on the engine and on a single CPU in the multicore host. One query runs up to 200 times faster on the (GPU) engine than on the CPU.

Bibtex

@InProceedings{angeles-wflp13,
  author =    {C. A. Martínez-Angeles and I. Dutra and V. Santos Costa and J. Buenabad-Chavez},
  title =     {{A Datalog Engine for GPUs}},
  booktitle = {Proceedings of the 22nd International Workshop on Functional and (Constraint)
               Logic Programming (WFLP 2013)},
  pages =     {239--253},
  editor =    {M. Hanus},
  month =     {September},
  year =      {2013},
  address =   {Kiel, Germany},
}

Download Paper

PDF file