We have developed Collective Knowledge aka CK
as a cross-platform customizable Python framework and repository to help researchers
share artifacts as reusable components with JSON API,
quickly prototype their research ideas,
crowdsource experiments, unify predictive analytics and reproduce results
(see our CK vision paper).
CK enables collaborative and reproducible research, and helps computer systems researchers
from leading universities and companies to:
- share realistic workloads, data sets and models in a common format with JSON API and meta information (see shared CK repos);
- assemble customizable and reusable experimental workflows from shared components as LEGO® and considerably simplify Artifact Evaluation at conferences, workshops and journals (see CGO'17 distinguished artifact in the CK format , portable CK workflows , CK intro , AE vision paper);
- crowdsource your experiments and quickly validate your ideas across diverse hardware provided by volunteers (example: CK-powered Android app to crowd-benchmark deep learning , online crowd results);
- automate and crowdsource performance analysis, benchmarking and autotuning of realistic workloads (see CK-powered projects at ARM);
- unify multi-objective compile-time and run-time workload optimizations (e.g. cost vs. performance vs. energy vs. accuracy) achieving 10x speedups and 50% energy reductions with the same accuracy for real OpenCL/CUDA applications on latest heterogeneous platforms (see dividiti's projects);
- unify statistical, machine learning and deep learning techniques to continuously learn and optimize behavior of complex computer systems (e.g. automatically build performance/energy models, quickly identify performance bottlenecks, accelerate optimization, enable run-time adaptation) (more details);
- simplify optimization knowledge sharing across communities of hardware vendors and software developers (see demo of a live CK repo);
- stress-test compilers and crowd-tune their optimization heuristics on representative workloads (see CK-CLsmith);
- enable interactive graphs and papers (see a demo).
See Wikipedia article about CK for notable use cases. Find more details about CK at this wiki. Check our live CK demo and examples of collaborative R&D at cKnowledge.org/repo.
Demo of a community-driven and CK-powered performance analysis and optimization of AI across diverse ARM-based devices
at Embedded Vision Summit'17 (Santa Clara, California):