Skip to main content

Collective Mind automation framework (CM)

Project description

PyPI version Python Version License Downloads

arXiv CM test CM script automation features test

About

Collective Mind (CM) is a small, modular, cross-platform and decentralized workflow automation framework with a human-friendly interface to make it easier to build, run, benchmark and optimize applications across diverse models, data sets, software and hardware.

CM is a part of Collective Knowledge (CK) - an educational community project to learn how to run emerging workloads in the most efficient and cost-effective way across diverse and continuously changing systems.

CM includes a collection of portable, extensible and technology-agnostic automation recipes with a common API and CLI (aka CM scripts) to unify and automate different steps required to compose, run, benchmark and optimize complex ML/AI applications on any platform with any software and hardware.

CM scripts extend the concept of cmake with simple Python automations, native scripts and JSON/YAML meta descriptions. They require Python 3.7+ with minimal dependencies and are continuously extended by the community and MLCommons members to run natively on Ubuntu, MacOS, Windows, RHEL, Debian, Amazon Linux and any other operating system, in a cloud or inside automatically generated containers while keeping backward compatibility.

CM scripts were originally developed based on the following requirements from the MLCommons members to help them automatically compose and optimize complex MLPerf benchmarks, applications and systems across diverse and continuously changing models, data sets, software and hardware from Nvidia, Intel, AMD, Google, Qualcomm, Amazon and other vendors:

  • must work out of the box with the default options and without the need to edit some paths, environment variables and configuration files;
  • must be non-intrusive, easy to debug and must reuse existing user scripts and automation tools (such as cmake, make, ML workflows, python poetry and containers) rather than substituting them;
  • must have a very simple and human-friendly command line with a Python API and minimal dependencies;
  • must require minimal or zero learning curve by using plain Python, native scripts, environment variables and simple JSON/YAML descriptions instead of inventing new workflow languages;
  • must have the same interface to run all automations natively, in a cloud or inside containers.

Maintainers

Resources

License

Apache 2.0

Citing CM project

If you found CM automations useful, please cite this article: [ ArXiv ], [ BibTex ].

You can learn more about the motivation behind these projects from the following presentations:

  • "Enabling more efficient and cost-effective AI/ML systems with Collective Mind, virtualized MLOps, MLPerf, Collective Knowledge Playground and reproducible optimization tournaments": [ ArXiv ]
  • ACM REP'23 keynote about the MLCommons CM automation framework: [ slides ]
  • ACM TechTalk'21 about Collective Knowledge project: [ YouTube ] [ slides ]

Acknowledgments

The Collective Mind automation framework (CM) was created by Grigori Fursin, sponsored by cKnowledge.org and cTuning.org, and donated to MLCommons to benefit everyone. This open-source technology (CM, CM4MLOps, CM4MLPerf, CM4ABTF, CM4Research, etc) is being developed as a community effort thanks to all our fantastic volunteers, collaborators and contributors!

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cmind-3.4.1.tar.gz (68.3 kB view details)

Uploaded Source

Built Distribution

cmind-3.4.1-py3-none-any.whl (78.2 kB view details)

Uploaded Python 3

File details

Details for the file cmind-3.4.1.tar.gz.

File metadata

  • Download URL: cmind-3.4.1.tar.gz
  • Upload date:
  • Size: 68.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for cmind-3.4.1.tar.gz
Algorithm Hash digest
SHA256 0bf3a0a9354f36586e754e93950e3201d0a5b1fe1a57ebc4c0806c9f30c5c8ad
MD5 427533e5ce84406590e4e3d17a7a2d1d
BLAKE2b-256 3daed55fcf23dfa5d2ee59943afd96631a6aaf44360ee4f93c337df7082bd6e5

See more details on using hashes here.

File details

Details for the file cmind-3.4.1-py3-none-any.whl.

File metadata

  • Download URL: cmind-3.4.1-py3-none-any.whl
  • Upload date:
  • Size: 78.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for cmind-3.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d5605a1302acb84798946c0c188fb8cbd6420525a426fde132f98295c5ada48f
MD5 86bb6c6ca0188322e01eed5b14c759ae
BLAKE2b-256 129cf0fcc9637291f4c7bea3a576058981c1414af6b10f67bb142682ec40c42e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page