All CK components can be found at cKnowledge.io and in one GitHub repository!
This project is hosted by the cTuning foundation.
This is a CK repository for the universal, customizable, multi-dimensional and multi-objective SW/HW benchmarking, autotuning and co-design with a unified JSON API across Linux, Android, MacOS and Windows-based machines.
This repository included CK modules, actions and components for unified
- program compilation and execution (with multiple data sets)
- crowd-benchmarking
- statistical analysis of empirical results
- plugin-based autotuning
- automatic performance modeling
- static and dynamic features extraction
- learning to predict optimizations and run-time adaptation
- reproducibility of experimental results
Further info:
- Shared portable CK program workflows
- Open CK platform to publish and download stable CK components
- MLPerf crowd-benchmarking demo
- Documentation about portable CK workflows
- Related CK publications
- See the list of contributors
- program
- program.output
- pipeline
- pipeline.cmd
- platform.gpgpu
- algorithm
- choice
- compiler
- dataset
- dataset.features
- program.behavior
- program.dynamic.features
- program.experiment.speedup
- program.species
- program.static.features
First install the CK framework as described here.
Then install this CK repository as follows:
$ ck pull repo:ck-autotuning
You can now browse and reuse program workflows shared at the CK portal.
Please refer to the CK online guides including CK portable workflows and the autotuning example.
- Issues with GLIBCXX_3.4.20/3.4.21 when using LLVM installed via CK: These sometimes occur on earlier Ubuntu versions (14.04) on ARM/x86. This can be fixed by upgrading to later versions of Ubuntu, or can sometimes be fixed by:
$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get dist-upgrade
- Issues with libncursesw.so.6 (not found) on some older machines: It can be fixed by compiling and installing lib-ncurses with the support for wide characters. This can be done automatically via CK:
$ ck install package:lib-ncurses-6.0-root
Please feel free to get in touch with the CK community if you have any questions, suggestions and comments!