Collective Knowledge (software)

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.[1] 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[2] with unified JSON API, JSON meta information, and a UID
  • assemble portable workflows from shared components (such as multi-objective autotuning[3])
  • automate, crowdsource and reproduce benchmarking of complex computational systems[4]
  • unify predictive analytics (scikit-learn, R, DNN)
  • enable reproducible and interactive papers[5]
Collective Knowledge (CK)
Developer(s)Grigori Fursin and the cTuning foundation
Initial release2014 (2014)
Stable release
1.12.1 / January 27, 2020 (2020-01-27)
Written inPython
Operating systemLinux, Mac OS X, Microsoft Windows, Android
TypeKnowledge management, Artifact Evaluation, Package management system, Scientific workflow system, DevOps, Continuous integration, Reproducibility
LicenseBSD License 3-clause
Websitecknowledge.io, github.com/ctuning/ck

Notable usages

Portable package manager for portable workflows

CK has an integrated cross-platform package manager with Python scripts, JSON API and JSON meta-description to automatically rebuild software environment on a user machine required to run a given research workflow.[16]

Reproducibility of experiments

CK enables reproducibility of experimental results via community involvement similar to Wikipedia and physics. Whenever a new workflow with all components is shared via GitHub, anyone can try it on a different machine, with different environment and using slightly different choices (compilers, libraries, data sets). Whenever an unexpected or wrong behavior is encountered, the community explains it, fixes components and shares them back as described in.[3]

gollark: ++fortune
gollark: Truly thought-provoking.
gollark: ++fortune
gollark: ++fortune
gollark: Such a useful command.

References

  • Development site:
  • Documentation:
  • Public repository with crowdsourced experiments:
  • International Workshop on Adaptive Self-tuning Computing System (ADAPT) uses CK to enable public reviewing of publications and artifacts via Reddit:
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.