Skip to content

Commit

Permalink
finished aggregating legacy CM automations (#1383)
Browse files Browse the repository at this point in the history
All changes should be backward compatible with CM, CMX and MLPerf.
  • Loading branch information
ctuning-admin authored Feb 2, 2025
2 parents c2c073c + 06c9435 commit 7592e7b
Show file tree
Hide file tree
Showing 156 changed files with 7,644 additions and 1,516 deletions.
75 changes: 0 additions & 75 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,78 +13,3 @@ MLCommons project work is tracked with issue trackers and pull requests.
Modify the project in your own fork and issue a pull request once you want other developers
to take a look at what you have done and discuss the proposed changes.
Ensure that cla-bot and other checks pass for your Pull requests.

Collective Knowledge (CK), Collective Mind (CM) and Common Metadata eXchange (CMX)
were created by [Grigori Fursin](https://arxiv.org/abs/2406.16791),
sponsored by cKnowledge.org and cTuning.org, and donated to MLCommons
to benefit everyone. Since then, this open-source automation technology
(CM/CMX, CM4MLOps/MLPerf automations, CM4ABTF, CM4Research, etc) is being extended
as a community effort thanks to all our volunteers, collaborators
and contributors listed here in alphabetical order:

* @Henryfzh
* @Leonard226
* @Oseltamivir
* @Submandarine
* Resmi Arjun
* Omar Benjelloun (Google)
* Alice Cheng (Nvidia)
* Jiahao Chen (MIT)
* Ramesh N Chukka (Intel)
* Ray DeMoss (One Stop Systems)
* Ryan T DeRue (Purdue University)
* Himanshu Dutta (Indian Institute of Technology)
* Nicolas Essayan
* Justin Faust (One Stop Systems)
* Diane Feddema (Red Hat)
* Leonid Fursin (United Silicon Carbide)
* Anirban Ghosh (Nvidia)
* James Goel (Qualcomm)
* Michael Goin (Neural Magic)
* Jose Armando Hernandez (Paris Saclay University)
* Mehrdad Hessar (OctoML)
* Miro Hodak (AMD)
* Sachin Idgunji (Nvidia)
* Tom Jablin (Google)
* Nino Jacob
* David Kanter (MLCommons)
* Alex Karargyris
* Jason Knight (OctoML)
* Ilya Kozulin (Deelvin)
* @makaveli10 (Collabora)
* Steve Leak(NERSC)
* Amija Maji (Purdue University)
* Peter Mattson (Google, MLCommons)
* Kasper Mecklenburg (Arm)
* Pablo Gonzalez Mesa
* Thierry Moreau (OctoML)
* Sachin Mudaliyar
* Stanley Mwangi (Microsoft)
* Ashwin Nanjappa (Nvidia)
* Hai Ah Nam (NERSC)
* Nandeeka Nayak (UIUC)
* Datta Nimmaturi (Nutanix)
* Lakshman Patel
* Arun Tejusve Raghunath Rajan (Cruise)
* Vijay Janapa Reddi (Harvard University)
* Andrew Reusch (OctoML)
* Anandhu Sooraj (Kerala Technical University)
* Sergey Serebryakov (HPE)
* Warren Schultz (Principled Technologies)
* Amrutha Sheleenderan (Kerala Technical University)
* Micah J Sheller (Intel)
* Byoungjun Seo (TTA)
* Aditya Kumar Shaw (Indian Institute of Science)
* Ilya Slavutin (Deelvin)
* Jinho Suh (Nvidia)
* Arjun Suresh
* Badhri Narayanan Suresh (Intel)
* David Tafur (MLCommons)
* Chloe Tessier
* Gaurav Verma (Stony Brook University)
* Zixian Wang
* Nathan Wasson
* Scott Wasson (MLCommons)
* Haoyang Zhang (UIUC)
* Bojian Zheng (University of Toronto)
* Thomas Zhu (Oxford University)
141 changes: 141 additions & 0 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
Collective Knowledge (CK), Collective Mind (CM) and Common Metadata eXchange (CMX)
were created by [Grigori Fursin](https://arxiv.org/abs/2406.16791),
sponsored by cKnowledge.org and cTuning.org, and donated to MLCommons
to benefit everyone. Since then, this open-source automation technology
(CM, CMX, MLPerf automations, etc) is being extended
as a community effort thanks to all our volunteers, collaborators
and contributors listed here in alphabetical order:

# MLCommons Collective Mind (CM)

* @Henryfzh
* @Leonard226
* @Oseltamivir
* @Submandarine
* Resmi Arjun
* Omar Benjelloun (Google)
* Alice Cheng (Nvidia)
* Jiahao Chen (MIT)
* Ramesh N Chukka (Intel)
* Ray DeMoss (One Stop Systems)
* Ryan T DeRue (Purdue University)
* Himanshu Dutta (Indian Institute of Technology)
* Nicolas Essayan
* Justin Faust (One Stop Systems)
* Diane Feddema (Red Hat)
* Leonid Fursin (United Silicon Carbide)
* Anirban Ghosh (Nvidia)
* James Goel (Qualcomm)
* Michael Goin (Neural Magic)
* Jose Armando Hernandez (Paris Saclay University)
* Mehrdad Hessar (OctoML)
* Miro Hodak (AMD)
* Sachin Idgunji (Nvidia)
* Tom Jablin (Google)
* Nino Jacob
* David Kanter (MLCommons)
* Alex Karargyris
* Jason Knight (OctoML)
* Ilya Kozulin (Deelvin)
* @makaveli10 (Collabora)
* Steve Leak(NERSC)
* Amija Maji (Purdue University)
* Peter Mattson (Google, MLCommons)
* Kasper Mecklenburg (Arm)
* Pablo Gonzalez Mesa
* Thierry Moreau (OctoML)
* Sachin Mudaliyar
* Stanley Mwangi (Microsoft)
* Ashwin Nanjappa (Nvidia)
* Hai Ah Nam (NERSC)
* Nandeeka Nayak (UIUC)
* Datta Nimmaturi (Nutanix)
* Lakshman Patel
* Arun Tejusve Raghunath Rajan (Cruise)
* Vijay Janapa Reddi (Harvard University)
* Andrew Reusch (OctoML)
* Anandhu Sooraj (Kerala Technical University)
* Sergey Serebryakov (HPE)
* Warren Schultz (Principled Technologies)
* Amrutha Sheleenderan (Kerala Technical University)
* Micah J Sheller (Intel)
* Byoungjun Seo (TTA)
* Aditya Kumar Shaw (Indian Institute of Science)
* Ilya Slavutin (Deelvin)
* Jinho Suh (Nvidia)
* Arjun Suresh
* Badhri Narayanan Suresh (Intel)
* David Tafur (MLCommons)
* Chloe Tessier
* Gaurav Verma (Stony Brook University)
* Zixian Wang
* Nathan Wasson
* Scott Wasson (MLCommons)
* Haoyang Zhang (UIUC)
* Bojian Zheng (University of Toronto)
* Thomas Zhu (Oxford University)

See more acknowledgments at the end of this [article](https://arxiv.org/abs/2406.16791),
which describes the Collective Mind workflow automation framework.

# Legacy Collective Knowledge framework (CK)

* Sam Ainsworth (University of Cambridge, UK)
* Saheli Bhattacharjee (@sahelib25)
* Gianfranco Costamagna
* Chris Cummins (Facebook)
* Valentin Dalibard <[email protected]>
* Alastair Donaldson <[email protected]>
* Thibaut Dumontet
* Daniil Efremov (Xored)
* Todd Gamblin (LLNL)
* Chandan Reddy Gopal (ENS Paris)
* Leo Gordon (dividiti)
* Dave Greasley (University of Bristol)
* Herve Guillou
* Vincent Grevendonk (Arm)
* Christophe Guillon (STMicroelectronics)
* Sven van Haastregt (Arm)
* Michael Haidl
* Stephen Herbein (LLNL)
* Patrick Hesse (College of Saint Benedict and Saint John's University)
* Nikolay Istomin (Xored)
* Kenan Kalajdzic
* Yuriy Kashnikov
* Alexey Kravets (Arm)
* Michael Kruse <[email protected]>
* Andrei Lascu <[email protected]>
* Anton Lokhmotov (Krai)
* Graham Markall <[email protected]>
* Michael Mcgeagh (Arm)
* Abdul Wahid Memon <[email protected]>
* Sachin Mudaliyar
* Luigi Nardi
* Cedric Nugteren <[email protected]>
* Lucas Nussbaum (Universite de Lorraine)
* Ivan Ospiov (Xored)
* Lakshman Patel @Patel230
* Egor Pasko (Google)
* Ed Plowman (Arm)
* Lahiru Rasnayake (NTNU)
* Vijay Janapa Reddi (Harvard University)
* Alex Redshaw (Arm)
* Vincent Rehm
* Toomas Remmelg (University of Edinburgh)
* Jarrett Revels (MIT)
* Dmitry Savenko (Xored)
* Gavin Simpson (Arm)
* Aaron Smith (Microsoft)
* Michel Steuwer (University of Edinburgh)
* Flavio Vella (Free University of Bozen-Bolzano)
* Gaurav Verma (Stony Brook University)
* Emanuele Vitali
* Dave Wilkinson (University of Pittsburgh)
* Sergey Yakushkin (Synopsys)
* Eiko Yoneki <[email protected]>
* Thomas Zhu (Oxford University) <[email protected]>
* @filven
* @ValouBambou

See more acknowledgments at the end of this [article](https://doi.org/10.1098/rsta.2020.0211),
which describes the original Collective Knowledge workflow automation framework.
12 changes: 5 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,7 @@ The CM/CMX architecture diagram is available for viewing

#### MLOps and MLPerf automations

[CM4MLOPS repository powered by CM](https://github.com/mlcommons/ck/tree/master/cm-mlops) -
a collection of portable, extensible and technology-agnostic automation recipes
We have developed a collection of portable, extensible and technology-agnostic automation recipes
with a common CLI and Python API (CM scripts) to unify and automate
all the manual steps required to compose, run, benchmark and optimize complex ML/AI applications
on diverse platforms with any software and hardware.
Expand All @@ -65,7 +64,7 @@ see [online catalog at CK playground](https://access.cknowledge.org/playground/?

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](https://github.com/mlcommons/ck/blob/master/CONTRIBUTING.md)
[continuously extended by the community and MLCommons members](https://github.com/mlcommons/ck/blob/master/CONTRIBUTORS.md)
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.
Expand All @@ -75,10 +74,9 @@ at MLCommons to run MLPerf inference benchmarks across diverse systems using CM.

#### MLCommons ABTF automation

[CM4ABTF repository powered by CM](https://github.com/mlcommons/cm4abtf) -
a collection of portable automations and CM scripts to run the upcoming
We have developed a collection of portable automations and CM scripts to run the upcoming
automotive MLPerf benchmark across different models, data sets, software
and hardware from different vendors.
and hardware from different vendors: see [CM4ABTF repository](https://github.com/mlcommons/cm4abtf).

#### MLPerf results visualization

Expand Down Expand Up @@ -178,7 +176,7 @@ and to advance its development as a collaborative, community-driven effort.

We thank [MLCommons](https://mlcommons.org), [FlexAI](https://flex.ai)
and [cTuning](https://cTuning.org) for supporting this project,
as well as our dedicated [volunteers and collaborators](https://github.com/mlcommons/ck/blob/master/CONTRIBUTING.md)
as well as our dedicated [volunteers and collaborators](https://github.com/mlcommons/ck/blob/master/CONTRIBUTORS.md)
for their feedback and contributions!

If you found the CM automations helpful, kindly reference this article:
Expand Down
68 changes: 67 additions & 1 deletion cmx4mlops/README.md
Original file line number Diff line number Diff line change
@@ -1 +1,67 @@
TBD
# Aggregated CM and CMX automations for MLOps and MLPerf

[![License](https://img.shields.io/badge/License-Apache%202.0-green)](LICENSE.md)
[![Powered by CM/CMX](https://img.shields.io/badge/Powered_by-MLCommons%20CM-blue)](https://pypi.org/project/cmind).

This repository is powered by the [Collective Mind workflow automation framework](https://github.com/mlcommons/ck/tree/master/cm).

Two key automations developed using CM are **Script** and **Cache**, which streamline machine learning (ML) workflows,
including managing Docker runs. Both Script and Cache automations are part of the **cmx4mlops** repository.

The [CM scripts](https://access.cknowledge.org/playground/?action=scripts),
also housed in this repository, consist of hundreds of modular Python-wrapped scripts accompanied
by `yaml` metadata, enabling the creation of robust and flexible ML workflows.

## License

[Apache 2.0](LICENSE.md)

## Copyright

© 2022-2025 MLCommons. All Rights Reserved.

Grigori Fursin, the cTuning foundation and OctoML donated the CK and CM projects to MLCommons to benefit everyone and encourage collaborative development.

## Maintainers

* CM, CM4MLOps and MLPerf automations: MLCommons
* CMX (the next generation of CM): Grigori Fursin

## Author

[Grigori Fursin](https://cKnowledge.org/gfursin)

We sincerely appreciate all [contributors](https://github.com/mlcommons/ck/blob/master/CONTRIBUTORS.md)
for their invaluable feedback and support!

## Concepts

Check our [ACM REP'23 keynote](https://doi.org/10.5281/zenodo.8105339) and the [white paper](https://arxiv.org/abs/2406.16791).

## Test image classification and MLPerf R-GAT inference benchmark via CMX PYPI package

```bash
pip install cmind
pip install cmx4mlops
cmx run script "python app image-classification onnx" --quiet
cmx run script --tags=run,mlperf,inference,generate-run-cmds,_submission,_short --submitter="MLCommons" --adr.inference-src.tags=_branch.dev --pull_changes=yes --pull_inference_changes=yes --submitter="MLCommons" --hw_name=ubuntu-latest_x86 --model=rgat --implementation=python --backend=pytorch --device=cpu --scenario=Offline --test_query_count=500 --adr.compiler.tags=gcc --category=datacenter --quiet --v --target_qps=1
```

## Test image classification and MLPerf R-GAT inference benchmark via CMX GitHub repo

```bash
pip uninstall cmx4mlops
pip install cmind
cmx pull repo mlcommons@ck --dir=cmx4mlops/cmx4mlops
cmx run script "python app image-classification onnx" --quiet
cmx run script --tags=run,mlperf,inference,generate-run-cmds,_submission,_short --submitter="MLCommons" --adr.inference-src.tags=_branch.dev --pull_changes=yes --pull_inference_changes=yes --submitter="MLCommons" --hw_name=ubuntu-latest_x86 --model=rgat --implementation=python --backend=pytorch --device=cpu --scenario=Offline --test_query_count=500 --adr.compiler.tags=gcc --category=datacenter --quiet --v --target_qps=1
```

## Parent project

Visit the [parent Collective Knowledge project](https://github.com/mlcommons/ck) for further details.

## Citing this project

If you found the CM automations helpful, kindly reference this article:
[ [ArXiv](https://arxiv.org/abs/2406.16791) ]
16 changes: 16 additions & 0 deletions cmx4mlops/cmx4mlops/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
### Contributing to the MLCommons

The best way to contribute to the MLCommons is to get involved with one of our many project communities.
You find more information about getting involved with MLCommons [here](https://mlcommons.org/en/get-involved/#getting-started).

Generally we encourage people to become a MLCommons member if they wish to contribute to MLCommons projects,
but outside pull requests are very welcome too.

Regardless of if you are a member, your organization needs to sign the MLCommons CLA.
Please fill out this [CLA sign up form](https://forms.gle/Ew1KkBVpyeJDuRw67) form to get started.

MLCommons project work is tracked with issue trackers and pull requests.
Modify the project in your own fork and issue a pull request once you want other developers
to take a look at what you have done and discuss the proposed changes.
Ensure that cla-bot and other checks pass for your Pull requests.

Loading

0 comments on commit 7592e7b

Please sign in to comment.