Skip to content

CK automation actions to let users implement portable, customizable and reusable program workflows for reproducible, collaborative and multi-objective benchmarking, optimization and SW/HW co-design:

License

ctuning/ck-autotuning

Repository files navigation

Universal, customizable and multi-objective software and hardware autotuning

All CK components can be found at cKnowledge.io and in one GitHub repository!

This project is hosted by the cTuning foundation.

compatibility automation License

Linux & MacOS: Travis Build Status Windows: AppVeyor Build status

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.

logo

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:

Author

Contributors

Shared CK modules with actions

Installation

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.

Troubleshooting

  • 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

Questions and comments

Please feel free to get in touch with the CK community if you have any questions, suggestions and comments!