Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

compatibility automation workflow

DOI License

CK repository to reproduce SLAMBench from PAMELA project

Shared research artifacts and workflows in the Collective Knowledge format (CK) to unify installation and execution of SLAMBench algorithms from the EPSRC Pamela project across diverse hardware, environments and data sets, perform SW/HW co-design, crowdsource and reproduce experiments.

The vision publication about how Collective Knowledge can assist scientists to develop sustainable research software and help research projects to survive in a Cambrian AI/SW/HW chaos or when leading developers leave:

    title = {{Collective Knowledge}: towards {R\&D} sustainability},
    author = {Fursin, Grigori and Lokhmotov, Anton and Plowman, Ed},
    booktitle = {Proceedings of the Conference on Design, Automation and Test in Europe (DATE'16)},
    year = {2016},
    month = {March},
    url = {}


The non-profit cTuning foundation (France) and dividiti Ltd (UK/US) help academic and industrial projects to use Collective Knowledge framework (CK) and implement sustainable and portable research software, share artifacts and workflows as reusable and customizable components, crowdsource and reproduce experiments, enable collaborative AI/SW/HW co-design from IoT to supercomputers to trade-off speed, accuracy, energy, size and costs, accelerate knowledge discovery, and facilitate technology transfer. Contact them for further details.

Minimal CK installation

The minimal installation requires:

  • Python 2.7 or 3.3+ (limitation is mainly due to unitests)
  • Git command line client.


You can install CK in your local user space as follows:

$ git clone
$ export PATH=$PWD/ck/bin:$PATH

You can also install CK via PIP with sudo to avoid setting up environment variables yourself:

$ sudo pip install ck


First you need to download and install a few dependencies from the following sites:

You can then install CK as follows:

 $ pip install ck


 $ git clone ck-master
 $ set PATH={CURRENT PATH}\ck-master\bin;%PATH%

CK workflow installation for SLAMBench (PAMELA project)

$ ck pull repo:reproduce-pamela-project

Data set repositories

$ ck pull repo:reproduce-pamela-project-small-dataset

To obtain very large data set (4Gb), download it as zip from our shared Google drive:


and then install it via

$ ck add repo:reproduce-pamela-project-large-files --quiet

Running workflow

$ ck compile program:slambench-1.1-cpu
$ ck run program:slambench-1.1-cpu

$ ck compile program:slambench-1.1-cpu-openmp
$ ck run program:slambench-1.1-cpu-openmp

$ ck compile program:slambench-1.1-cuda
$ ck run program:slambench-1.1-cuda

$ ck compile program:slambench-1.1-opencl
$ ck run program:slambench-1.1-opencl

$ ck compile program:slambench-1.1-opencl --target_os=android21-arm64
$ ck run program:slambench-1.1-opencl-dragon-board --target_os=android21-arm64

CK should automatically install missing dependencies, build SLAM and run it with plugged in data sets.


Shared artifacts and workflows from the EPSRC Pamela project in the customizable, portable and reusable Collective Knowledge format:


You can’t perform that action at this time.