Collective Knowledge (software)
From Wikipedia, the free encyclopedia
| Developer(s) | Grigori Fursin and the cTuning foundation |
|---|---|
| Initial release | 2015 |
| Stable release | |
| Written in | Python |
| Operating system | Linux, Mac OS X, Microsoft Windows, Android |
| Type | Knowledge management, FAIR data, MLOps, Data management, Artifact Evaluation, Package management system, Scientific workflow system, DevOps, Continuous integration, Reproducibility |
| License | Apache License for version 2.0 and BSD License 3-clause for version 1.0 |
| Website | github |
The Collective Knowledge (CK) project is an open-source framework and repository to enable collaborative, reproducible and sustainable research and development of complex computational systems.[2] CK is a small, portable, customizable and decentralized infrastructure helping researchers and practitioners:
- share their code, data and models as reusable Python components and automation actions[3] with unified JSON API, JSON meta information, and a UID based on FAIR principles[2]
- assemble portable workflows from shared components (such as multi-objective autotuning and Design space exploration[4])
- automate, crowdsource and reproduce benchmarking of complex computational systems[5]
- unify predictive analytics (scikit-learn, R, DNN)
- enable reproducible and interactive papers[6]
- ARM uses CK to accelerate computer engineering[7]
- Several ACM-sponsored conferences use CK to automate the Artifact Evaluation process[8][9]
- Imperial College (London) uses CK to automate and crowdsource compiler bug detection[10]
- Researchers from the University of Cambridge used CK to help the community reproduce results of their publication in the International Symposium on Code Generation and Optimization (CGO'17) during Artifact Evaluation[11]
- General Motors (USA) uses CK to crowd-benchmark convolutional neural network optimizations [12][13]
- The Raspberry Pi Foundation and the cTuning foundation released a CK workflow with a reproducible "live" paper to enable collaborative research into multi-objective autotuning and machine learning techniques[4]
- IBM uses CK to reproduce quantum results from nature[14]
- CK is used to automate MLPerf benchmark[15][16]