HarkDB icon indicating copy to clipboard operation
HarkDB copied to clipboard

Multi-backend GPU query engine written with Futhark

HarkDB

Build Status

HarkDB is a SQL Query Engine accelerated with the GPU. HarkDB is written in Futhark, which allows it to compile down to a CUDA, OpenCL, or sequential C backend. HarkDB aims to run extremely fast on GPU's leveraging the code optimization of the futhark compiler.

Due to compiler limitations the query engine works with homogenous numeric data. It is SQL compatible and supports the following Clauses

  • Select
  • From
  • Where
  • Group By
  • Having
  • Sort By

HarkDB aims to have very similary calling semantics to BlazingDB.

Requirements

Installation and Building

Installing and building this git repository is as simple as

git clone https://github.com/philiplassen/HarkDB.git && cd HarkDB
./setup.sh

Usage

An example program using HarkDB

from FutharkContext import FutharkContext
import time

fc = FutharkContext()
fc.create_table('game_1', 'data.csv')
sel = fc.sql("select col1, col3 from game_1")
print(sel)