Skip to content

Commit 250ab6c

Browse files
Merge pull request #651 from mlcommons/main
sync
2 parents 08357b9 + 1660ebd commit 250ab6c

File tree

598 files changed

+4257
-28
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

598 files changed

+4257
-28
lines changed

CONTRIBUTING.md

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1 @@
1-
## Contributing
2-
3-
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).
4-
5-
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.
6-
7-
To get started contributing code, you or your organization needs to sign the MLCommons CLA found at the [MLC policies page](https://mlcommons.org/en/policies/). Once you or your organization has signed the corporate CLA, please fill out this [CLA sign up form](https://forms.gle/Ew1KkBVpyeJDuRw67) form to get your specific GitHub handle authorized so that you can start contributing code under the proper license.
8-
9-
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.
1+
https://github.com/mlcommons/ck/blob/master/CONTRIBUTING.md

COPYRIGHT.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Copyright Notice
2+
3+
© 2022-2025 MLCommons. All Rights Reserved.
4+
5+
Grigori Fursin, the cTuning foundation and OctoML donated the CK and CM projects to MLCommons to benefit everyone and continue development as a community effort.

COPYRIGHT.txt

Lines changed: 0 additions & 5 deletions
This file was deleted.

HISTORY.md

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
This document narrates the history of the creation and design of CM, CM4MLOps and MLPerf automations (also known as CK2)
2+
by [Grigori Fursin](https://cKnowledge.org/gfursin). It also highlights the donation of this open-source technology to MLCommons,
3+
aimed at benefiting the broader community and fostering its ongoing development as a collaborative, community-driven initiative:
4+
5+
* Jan 28, 2021: After delivering an invited ACM TechTalk'21 about the Collective Knowledge framework (CK1)
6+
and reproducibility initiatives for conferences, as well as CK-MLOps and MLPerf automations,
7+
Grigori received useful feedback and suggestions for improvements to workflow automations:
8+
https://learning.acm.org/techtalks/reproducibility.
9+
10+
Following this, Grigori began prototyping CK2 (later CM) to streamline CK1, CK-MLOps and MLPerf benchmarking.
11+
The goal was to dramatically simplify CK1 workflows by introducing just a few core and portable automations,
12+
which eventually evolved into `CM script` and `CM cache`.
13+
14+
At that time, the cTuning foundation hosted CK1 and all the prototypes for the CM framework at https://github.com/ctuning/ck:
15+
[ref1](https://github.com/mlcommons/ck/commit/9e57934f4999db23052531e92160772ab831463a),
16+
[ref2](https://github.com/mlcommons/ck/tree/9e57934f4999db23052531e92160772ab831463a),
17+
[ref3](https://github.com/mlcommons/ck/tree/9e57934f4999db23052531e92160772ab831463a/incubator).
18+
19+
* Sep 23, 2021: donated CK1, CK-MLOps, MLPerf automations and early prototypes of CM from the cTuning repository to MLCommons:
20+
[ref1](https://web.archive.org/web/20240803140223/https://octo.ai/blog/octoml-joins-the-community-effort-to-democratize-mlperf-inference-benchmarking),
21+
[ref2](https://github.com/mlcommons/ck/tree/228f80b0bf44610c8244ff0c3f6bec5bbd25aa6c/incubator),
22+
[ref3](https://github.com/mlcommons/ck/tree/695c3843fd8121bbdde6c453cd6ec9503986b0c6?tab=readme-ov-file#author-and-coordinator),
23+
[ref4](https://github.com/mlcommons/ck/tree/master/ck),
24+
[ref5](https://github.com/mlcommons/ck-mlops).
25+
26+
Prepared MLCommons proposal for the creation of the [MLCommons Task Force on Automation and Reproducibility](https://github.com/mlcommons/ck/blob/master/docs/taskforce.md),
27+
aimed at fostering community-driven support for CK and CM developments to benefit everyone.
28+
29+
* Jan, 2022: hired Arjun Suresh at OctoML to support and maintain CK1 framework and help prepare OctoML's MLPerf submissions using CK1.
30+
Meanwhile, transitioned to focusing on CM and CM-MLOps development, building upon the prototypes created in 2021.
31+
32+
* Mar 1, 2022: started developing cm-mlops: [ref](https://github.com/octoml/cm-mlops/commit/0ae94736a420dfa84f7417fc62d323303b8760c6).
33+
34+
* Mar 24, 2022: after successfully stabilizing the initial prototype of CM, donated it to MLCommons to benefit the entire community:
35+
[ref1](https://github.com/mlcommons/ck/tree/c7918ad544f26b6c499c2fc9c07431a9640fca5a/ck2),
36+
[ref2](https://github.com/mlcommons/ck/tree/c7918ad544f26b6c499c2fc9c07431a9640fca5a/ck2#coordinators),
37+
[ref3](https://github.com/mlcommons/ck/commit/3c146cb3c75a015363f7a96758adf6dcc43032d6),
38+
[ref4](https://github.com/mlcommons/ck/commit/3c146cb3c75a015363f7a96758adf6dcc43032d6#diff-d97f0f6f5a32f16d6ed18b9600ffc650f7b25512685f7a2373436c492c6b52b3R48).
39+
40+
* Apr 6, 2022: started transitioning previous MLOps and MLPerf automations from the mlcommons/ck-mlops format
41+
to the new CM format using the cm-mlops repository (will be later renamed to cm4mlops):
42+
[ref1](https://github.com/octoml/cm-mlops/commit/d1efdc30fb535ce144020d4e88f3ed768c933176),
43+
[ref2](https://github.com/octoml/cm-mlops/blob/d1efdc30fb535ce144020d4e88f3ed768c933176/CONTRIBUTIONS).
44+
45+
* Apr 22, 2022: began architecting "Intelligent Components" in the CM-MLOps repository,
46+
which will be renamed to `CM Script` at a later stage:
47+
[ref1](https://github.com/octoml/cm-mlops/commit/b335c609c47d2c547afe174d9df232652d57f4f8),
48+
[ref2](https://github.com/octoml/cm-mlops/tree/b335c609c47d2c547afe174d9df232652d57f4f8),
49+
[ref3](https://github.com/octoml/cm-mlops/blob/b335c609c47d2c547afe174d9df232652d57f4f8/CONTRIBUTIONS).
50+
51+
At the same time, prototyped other core CM automations, including IC, Docker, and Experiment:
52+
[ref1](https://github.com/octoml/cm-mlops/tree/b335c609c47d2c547afe174d9df232652d57f4f8/automation),
53+
[ref2](https://github.com/mlcommons/ck/commits/master/?before=7f66e2438bfe21b4ce2d08326a5168bb9e3132f6+7001).
54+
55+
* Apr 28, 2022: donated CM-MLOps to MLCommons, which was later renamed to CM4MLOps:
56+
[ref](https://github.com/mlcommons/ck/commit/456e4861056c0e39c4d689c03da91f90a44be058).
57+
58+
* May 9, 2022: developed the initial set of core IC automations for MLOps (aka CM scripts):
59+
[ref1](https://github.com/octoml/cm-mlops/commit/4a4a027f4088ce7e7abcec29c39d98981bf09d4c),
60+
[ref2](https://github.com/octoml/cm-mlops/tree/4a4a027f4088ce7e7abcec29c39d98981bf09d4c),
61+
[ref3](https://github.com/octoml/cm-mlops/blob/7692240becd6397a96c3975388913ea082002e7a/CONTRIBUTIONS).
62+
63+
* May 11, 2022: After successfully prototyping CM and CM-MLOps, deprecated the CK1 framework in favor of CM.
64+
Transferred Arjun Suresh to the CM project as a maintainer and tester for CM and CM-MLOps:
65+
[ref](https://github.com/octoml/cm-mlops/blob/17405833665bc1e93820f9ff76deb28a0f543bdb/CONTRIBUTIONS).
66+
67+
Created a [file](https://github.com/mlcommons/ck/blob/master/cm-mlops/CHANGES.md)
68+
to document and track our public developments at MLCommons.
69+
70+
* Jun 8, 2022: renamed the 'IC' automation to the more intuitive 'CM script' automation.
71+
[ref1](https://github.com/mlcommons/ck/tree/5ca4e2c33e58a660ac20a545d8aa5143ab6e8e81/cm-devops/automation/script),
72+
[ref2](https://github.com/mlcommons/ck/tree/5ca4e2c33e58a660ac20a545d8aa5143ab6e8e81),
73+
[ref3](https://github.com/octoml/cm-mlops/commit/7910fb7ffc62a617d987d2f887d6f9981ff80187).
74+
75+
* Jun 16, 2022: prototyped the `CM cache` automation to facilitate caching and reuse of the outputs from CM scripts:
76+
[ref1](https://github.com/mlcommons/ck/commit/1f81aae8cebd5567ec4ca55f693beaf32b49fb48),
77+
[ref2](https://github.com/mlcommons/ck/tree/1f81aae8cebd5567ec4ca55f693beaf32b49fb48),
78+
[ref3](https://github.com/mlcommons/ck/tree/1f81aae8cebd5567ec4ca55f693beaf32b49fb48?tab=readme-ov-file#contacts).
79+
80+
* Sep 6, 2022: delivered CM demo to run MLPerf while deprecating CK1 automations for MLPerf:
81+
[ref1](https://github.com/mlcommons/ck/commit/2c5d5c5c944ae5f252113c62af457c7a4c5e877a#diff-faac2c4ecfd0bfb928dafc938d3dad5651762fbb504a2544752a337294ee2573R224),
82+
[ref2](https://github.com/mlcommons/ck/blob/2c5d5c5c944ae5f252113c62af457c7a4c5e877a/CONTRIBUTING.md#author-and-coordinator).
83+
84+
Welcomed Arjun Suresh as a contributor to CM automations for MLPerf: [ref](https://github.com/mlcommons/ck/blob/2c5d5c5c944ae5f252113c62af457c7a4c5e877a/CONTRIBUTING.md#contributors-in-alphabetical-order).
85+
86+
* From September 2022: coordinated community development of CM and CM4MLOps
87+
to [modularize and automate MLPerf benchmarks](https://docs.mlcommons.org/inference)
88+
and support [reproducibility initiatives at ML and Systems conferences](https://cTuning.or/ae)
89+
through the [MLCommons Task Force on Automation and Reproducibility](https://github.com/mlcommons/ck/blob/master/docs/taskforce.md).
90+
91+
* Directed and financed the creation of (CM) automations to streamline the MLPerf power measurement processes.
92+
93+
* Proposed to use MLPerf benchmarks for the Student Cluster Competition, led the developments
94+
and prepared a tutorial to run MLPerf inference at SCC'22 via CM: [ref](https://github.com/mlcommons/ck/blob/master/docs/tutorials/sc22-scc-mlperf.md)
95+
96+
* April 2023: departed OctoML to focus on the development of the [CK playground](https://access.cKnowledge.org) and CM automations
97+
to make Mlperf accessible to everyone. Hired Arjun Suresh to help with developments.
98+
99+
* Initiated and funded development of the [MLPerf explorer](https://github.com/ctuning/q2a-mlperf-visualizer)
100+
to improve visualization of results
101+
102+
* August 2023: organized the 1st mass-scale MLPerf community submission of 12217 inference benchmark v3.1 results
103+
out of total 13351 results (including 90% of all power results) across diverse models, software and hardware
104+
from different vendors via [open challenges](https://access.cknowledge.org/playground/?action=challenges) funded by cTuning.org :
105+
[LinkedIn article](https://www.linkedin.com/pulse/new-milestone-make-mlperf-benchmarks-accessible-everyone-fursin/)
106+
with results visualized by the [MLPerf explorer](https://github.com/ctuning/q2a-mlperf-visualizer),
107+
[CM4MLOps challenges at GitHub](https://github.com/mlcommons/cm4mlops/tree/main/challenge).
108+
109+
* February, 2024: proposed to use CM to automate [MLPerf automotive benchmark (ABTF)](https://mlcommons.org/working-groups/benchmarks/automotive/).
110+
111+
* moved my prototypes of the CM automation for ABTF to cm4abtf repo: [ref](https://github.com/mlcommons/cm4abtf/commit/f92b9f464de89a38a4bde149290dede2d94c8631)
112+
* led further CM4ABTF developments funded by cTuning.org.
113+
114+
* Starting in April 2024, began the gradual transfer of ongoing maintenance and enhancement
115+
responsibilities for CM and CM4MLOps, including MLPerf automations, to MLCommons.
116+
Welcomed Anandhu Sooraj as a maintainer and contributor to CM4MLOps with MLPerf automations.
117+
118+
* Took a break from all development activities.
119+
120+
* July 2024: started prototyping the next generation of CM (CMX and CMX4MLOps) with simpler interfaces
121+
based on user feedback while maintaining backward compatibility.
122+
123+
* 2025: continue developing CMX and CMX4MLOPs to make it easier to run and customize MLPerf inference, training
124+
and other benchmarks across diverse models, datasets, software and hardware.
125+
126+
For more details, please refer to the [white paper](https://arxiv.org/abs/2406.16791)
127+
and the [ACM REP'23 keynote](https://doi.org/10.5281/zenodo.8105339).

README.md

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,24 @@ The `mlperf-branch` of the **cm4mlops** repository is dedicated to developments
3131
Please submit any pull requests (PRs) to this branch. For more information about using CM for MLPerf Inference,
3232
refer to the [MLPerf Inference Documentation](https://docs.mlcommons.org/inference/).
3333

34-
## News
35-
36-
* [Ongoing Discussions](https://github.com/mlcommons/cm4mlops/discussions)
37-
3834
## License
3935

4036
[Apache 2.0](LICENSE.md)
4137

38+
## Copyright
39+
40+
© 2022-2025 MLCommons. All Rights Reserved.
41+
42+
Grigori Fursin, the cTuning foundation and OctoML donated the CK and CM projects to MLCommons to benefit everyone and encourage collaborative development.
43+
44+
## Maintainer(s)
45+
46+
* MLCommons
47+
48+
## CM author
49+
50+
[Grigori Fursin](https://cKnowledge.org/gfursin)
51+
4252
## CM concepts
4353

4454
Check our [ACM REP'23 keynote](https://doi.org/10.5281/zenodo.8105339) and the [white paper](https://arxiv.org/abs/2406.16791).
@@ -50,3 +60,8 @@ Arjun Suresh, Anandhu Sooraj, Grigori Fursin
5060
## Parent project
5161

5262
Visit the [parent Collective Knowledge project](https://github.com/mlcommons/ck) for further details.
63+
64+
## Citing this project
65+
66+
If you found the CM automations helpful, kindly reference this article:
67+
[ [ArXiv](https://arxiv.org/abs/2406.16791) ]

automation/COPYRIGHT.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
© 2022-2025 MLCommons. All Rights Reserved.
2+
3+
Grigori Fursin, the cTuning foundation and OctoML donated the CK and CM projects to MLCommons to benefit everyone and continue development as a community effort.

automation/cache/COPYRIGHT.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
© 2022-2025 MLCommons. All Rights Reserved.
2+
3+
Grigori Fursin, the cTuning foundation and OctoML donated the CK and CM projects to MLCommons to benefit everyone and continue development as a community effort.

automation/cache/module.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1+
# Author: Grigori Fursin
2+
# Contributors: Arjun Suresh, Anandhu Sooraj
3+
#
4+
# Copyright: https://github.com/mlcommons/ck/blob/master/cm-mlops/COPYRIGHT.md
5+
# License: https://github.com/mlcommons/ck/blob/master/cm-mlops/LICENSE.md
6+
#
7+
# White paper: https://arxiv.org/abs/2406.16791
8+
# History: https://github.com/mlcommons/ck/blob/master/HISTORY.CM.md
9+
# Original repository: https://github.com/mlcommons/ck/tree/master/cm-mlops
10+
#
11+
# CK and CM project contributors: https://github.com/mlcommons/ck/blob/master/CONTRIBUTING.md
12+
#
13+
114
import os
215

316
from cmind.automation import Automation

automation/cache/module_misc.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1+
# Author: Grigori Fursin
2+
# Contributors: https://github.com/mlcommons/ck/blob/master/CONTRIBUTING.md
3+
#
4+
# Copyright: https://github.com/mlcommons/ck/blob/master/cm-mlops/COPYRIGHT.md
5+
# License: https://github.com/mlcommons/ck/blob/master/cm-mlops/LICENSE.md
6+
#
7+
# White paper: https://arxiv.org/abs/2406.16791
8+
# History: https://github.com/mlcommons/ck/blob/master/HISTORY.CM.md
9+
# Original repository: https://github.com/mlcommons/ck/tree/master/cm-mlops
10+
#
11+
# CK and CM project contributors: https://github.com/mlcommons/ck/blob/master/CONTRIBUTING.md
12+
#
13+
114
import os
215
from cmind import utils
316

automation/cfg/COPYRIGHT.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
© 2022-2025 MLCommons. All Rights Reserved.
2+
3+
Grigori Fursin, the cTuning foundation and OctoML donated the CK and CM projects to MLCommons to benefit everyone and continue development as a community effort.

0 commit comments

Comments
 (0)