Skip to content

Commit

Permalink
added aliasing of mlcommons@ck to mlcommons@cm4mlops and clean up of …
Browse files Browse the repository at this point in the history
…docs
  • Loading branch information
gfursin committed Apr 28, 2024
1 parent e7d7f34 commit 9594de1
Show file tree
Hide file tree
Showing 34 changed files with 116 additions and 44 deletions.
8 changes: 3 additions & 5 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,11 @@ Modify the project in your own fork and issue a pull request once you want other
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.

### Contributing to this project
## CM project coordinator

Please check the [MLCommons TaskForce on Automation and Reproducibility](docs/taskforce.md)
and join our [Discord server](https://discord.gg/JjWNWXKxwT)
to learn more about this project.
* Grigori Fursin (cTuning.org and cKnowledge.org)

### Contributors to the MLCommons Collective Mind project in alphabetical order
## CM contributors in alphabetical order (suggestions and/or scripts)

* Resmi Arjun
* Alice Cheng (Nvidia)
Expand Down
2 changes: 1 addition & 1 deletion COPYRIGHT.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Copyright (c) 2021-2024 MLCommons

cTuning foundation and OctoML donated this project to MLCommons to benefit everyone.
The cTuning foundation and OctoML donated this project to MLCommons to benefit everyone.

Copyright (c) 2014-2021 cTuning foundation
8 changes: 8 additions & 0 deletions cm-mlops/automation/script/module.py
Original file line number Diff line number Diff line change
Expand Up @@ -692,6 +692,14 @@ def _run(self, i):
meta = script_artifact.meta
path = script_artifact.path

# Check min CM version requirement
input('xyz2')
min_cm_version = meta.get('min_cm_version','').strip()
if min_cm_version != '':
print (min_cm_version)
input('xyz')


# Check path to repo
script_repo_path = script_artifact.repo_path

Expand Down
4 changes: 4 additions & 0 deletions cm/cmind/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# Collective Mind init
#
# Written by Grigori Fursin

__version__ = "2.2.0.1"

from cmind.core import access
Expand Down
4 changes: 4 additions & 0 deletions cm/cmind/__main__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# Collective Mind CLI entry point
#
# Written by Grigori Fursin

import cmind.cli as cli

cli.run()
2 changes: 2 additions & 0 deletions cm/cmind/artifact.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Collective Mind artifact
#
# Written by Grigori Fursin

import os

Expand Down
6 changes: 4 additions & 2 deletions cm/cmind/automation.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Collective Mind automation
#
# Written by Grigori Fursin

import os

Expand Down Expand Up @@ -120,9 +122,9 @@ def test(self, i):

print ('')
print ('GitHub for CM developments: https://github.com/mlcommons/ck/tree/master/cm')
print ('GitHub for CM automation scripts: https://github.com/mlcommons/ck/tree/master/cm-mlops')
print ('GitHub for CM automation scripts: https://github.com/mlcommons/cm4mlops')
print ('Reporting issues and ideas: https://github.com/mlcommons/ck/issues')
print ('Joining the open MLPerf workgroup: https://cKnowledge.org/mlcommons-taskforce')
print ('MLCommons taskforce developing CM: https://github.com/mlcommons/ck/blob/master/docs/taskforce.md')

return {'return':0}

Expand Down
2 changes: 2 additions & 0 deletions cm/cmind/cli.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Collective Mind command line wrapper
#
# Written by Grigori Fursin

import sys

Expand Down
2 changes: 2 additions & 0 deletions cm/cmind/config.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Collective Mind configuration
#
# Written by Grigori Fursin

import os

Expand Down
2 changes: 2 additions & 0 deletions cm/cmind/core.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Collective Mind core functions
#
# Written by Grigori Fursin

from cmind.config import Config
from cmind.repos import Repos
Expand Down
2 changes: 2 additions & 0 deletions cm/cmind/index.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Collective Mind index
#
# Written by Grigori Fursin

import os
import json
Expand Down
2 changes: 2 additions & 0 deletions cm/cmind/net.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Reused from the CK framework for compatibility
#
# Written by Grigori Fursin

import urllib
import json
Expand Down
2 changes: 2 additions & 0 deletions cm/cmind/repo.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Collective Mind repository
#
# Written by Grigori Fursin

import os

Expand Down
2 changes: 1 addition & 1 deletion cm/cmind/repo/automation/automation/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,4 +64,4 @@

### Maintainers

* [Open MLCommons taskforce on automation and reproducibility](https://cKnowledge.org/mlcommons-taskforce)
* [Open MLCommons taskforce on automation and reproducibility](https://github.com/mlcommons/ck/blob/master/docs/taskforce.md)
4 changes: 4 additions & 0 deletions cm/cmind/repo/automation/automation/module.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# CM automation module to add or document all automations
#
# Written by Grigori Fursin

import os

from cmind.automation import Automation
Expand Down
6 changes: 5 additions & 1 deletion cm/cmind/repo/automation/automation/module_misc.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# Documenting CM automations
#
# Written by Grigori Fursin

import os
from cmind import utils

Expand Down Expand Up @@ -187,7 +191,7 @@ def doc(i):
# Add maintainers
md_script_readme.append('### Maintainers')
md_script_readme.append('')
md_script_readme.append('* [Open MLCommons taskforce on automation and reproducibility](https://cKnowledge.org/mlcommons-taskforce)')
md_script_readme.append('* [MLCommons taskforce on automation and reproducibility](https://github.com/mlcommons/ck/blob/master/docs/taskforce.md)')


# Check README and if it's already automatically generated
Expand Down
2 changes: 1 addition & 1 deletion cm/cmind/repo/automation/ckx/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@

### Maintainers

* [Open MLCommons taskforce on automation and reproducibility](https://cKnowledge.org/mlcommons-taskforce)
* [Open MLCommons taskforce on automation and reproducibility](https://github.com/mlcommons/ck/blob/master/docs/taskforce.md)
4 changes: 4 additions & 0 deletions cm/cmind/repo/automation/ckx/module.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# CM wrapper for older CK framework in case it is still needed
#
# Written by Grigori Fursin

import os

from cmind.automation import Automation
Expand Down
2 changes: 1 addition & 1 deletion cm/cmind/repo/automation/core/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@

### Maintainers

* [Open MLCommons taskforce on automation and reproducibility](https://cKnowledge.org/mlcommons-taskforce)
* [Open MLCommons taskforce on automation and reproducibility](https://github.com/mlcommons/ck/blob/master/docs/taskforce.md)
4 changes: 4 additions & 0 deletions cm/cmind/repo/automation/core/module.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# CM core automation with a few universal functions
#
# Written by Grigori Fursin

import os

from cmind.automation import Automation
Expand Down
4 changes: 4 additions & 0 deletions cm/cmind/repo/automation/core/module_misc.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# Generate CM UID
#
# Written by Grigori Fursin

import cmind.utils as utils

############################################################
Expand Down
2 changes: 1 addition & 1 deletion cm/cmind/repo/automation/repo/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -264,4 +264,4 @@

### Maintainers

* [Open MLCommons taskforce on automation and reproducibility](https://cKnowledge.org/mlcommons-taskforce)
* [Open MLCommons taskforce on automation and reproducibility](https://github.com/mlcommons/ck/blob/master/docs/taskforce.md)
1 change: 0 additions & 1 deletion cm/cmind/repo/automation/repo/_cm.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
"automation_alias": "automation",
"automation_uid": "bbeb15d8f0a944a4",
"desc": "Managing CM repositories and software projects",
"developers": "[Grigori Fursin](https://cKnowledge.org/gfursin) and [Arjun Suresh](https://www.linkedin.com/in/arjunsuresh)",
"sort": 2000,
"tags": [
"automation",
Expand Down
27 changes: 25 additions & 2 deletions cm/cmind/repo/automation/repo/module.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# CM automation to manage CM repositories
#
# Written by Grigori Fursin

import os

from cmind.automation import Automation
Expand Down Expand Up @@ -99,10 +103,29 @@ def pull(self, i):
pull_repos.append({'alias': os.path.basename(repo_path),
'path_to_repo': repo_path})
else:
# We are migrating cm-mlops repo from mlcommons@ck to a clean and new mlcommons@cm4mlops:
# https://github.com/mlcommons/ck/issues/1215
# As discussed, we should have a transparent redirect with a warning
# unless branch/checkout is used - in such case we keep old repository
# for backwards compatibility and reproducibility

branch = i.get('branch', '')
checkout = i.get('checkout', '')

if alias == 'mlcommons@ck' and branch == '' and checkout == '':
print ('=========================================================================')
print ('Warning: mlcommons@ck was automatically changed to mlcommons@cm4mlops.')
print ('If you want to use older mlcommons@ck repository, use branch or checkout.')
print ('=========================================================================')

alias = 'mlcommons@cm4mlops'
url = url.replace('mlcommons/ck', 'mlcommons/cm4mlops')


pull_repos = [{'alias':alias,
'url':url,
'branch': i.get('branch', ''),
'checkout': i.get('checkout', ''),
'branch': branch,
'checkout': checkout,
'depth': i.get('depth', '')}]


Expand Down
2 changes: 2 additions & 0 deletions cm/cmind/repos.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Collective Mind repositories
#
# Written by Grigori Fursin

import os

Expand Down
4 changes: 3 additions & 1 deletion cm/cmind/utils.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# Auxilary functions for CM

#
# Some functionality was reused from the CK framework for compatibility
#
# Written by Grigori Fursin

import os

Expand Down
4 changes: 2 additions & 2 deletions docs/archive/taskforce-2022.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@
* help the community reproduce MLPerf benchmarks, prepare their own submissions and deploy Pareto-optimal ML/AI systems in the real world;
* support student competitions, reproducibility initiatives and artifact evaluation at ML and Systems conferences using the rigorous MLPerf methodology and the MLCommons automation meta-framework.

## Moderators
## Co-chairs and tech leads

* [Grigori Fursin](https://cKnowledge.org/gfursin)
* [Grigori Fursin](https://cKnowledge.org/gfursin) (CM project coordinator)
* [Arjun Suresh](https://www.linkedin.com/in/arjunsuresh)

## Discord server
Expand Down
2 changes: 0 additions & 2 deletions docs/interface.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,8 +143,6 @@ without breaking automation workflows):

"desc": "Managing CM repositories and software projects",

"developers": "Grigori Fursin and Arjun Suresh",

"tags": [
"automation",
"repo"
Expand Down
1 change: 1 addition & 0 deletions docs/news.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
### [News from the MLCommons Task Force on Automation and Reproducibility](taskforce.md)

#### 202403

* [cKnowledge](https://cKnowledge.org) has completed a collaborative engineering project with MLCommons
to enhance CM workflow automation to run MLPerf inference benchmarks
across different models, software and hardware from different vendors in a unified way: [GUI](https://access.cknowledge.org/playground/?action=howtorun).
Expand Down
27 changes: 12 additions & 15 deletions docs/taskforce.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,23 @@

# MLCommons Task force on Automation and Reproducibility

***Announcement: we are peparing new tasks for Q2-Q3 2024 with MLCommons and looking for volunteers and an extra co-chair.
Please get in touch via [email](mailto:gfursin@cknowledge.org) or [Discord](https://discord.gg/JjWNWXKxwT) for more details!***
***Announcement: we are peparing new tasks for Q3-Q4 2024 - please stay tuned
or get in touch via [email](mailto:gfursin@cknowledge.org) for more details!***

## Mission

* Develop [reusable automation recipes and workflows](https://access.cknowledge.org/playground/?action=scripts)
with [a common and human-friendly interface (Collective Mind aka CM)](https://github.com/mlcommons/ck)
with [a common and human-friendly interface (Collective Mind aka CM)]( https://github.com/mlcommons/ck/tree/master/cm )
to support MLCommons projects and help everyone assemble, run, reproduce, customize and optimize ML(Perf) benchmarks
in a unified and automated way across diverse models, data sets, software and hardware from different vendors.
* Gradually extend a unified MLCommons CM interface to automate [all MLPerf inference submissions](https://github.com/mlcommons/ck/issues/1052) starting from v3.1.
* Continuously encode MLPerf rules and best practices in the [CM automation recipes and workflows for MLPerf](https://github.com/mlcommons/ck/tree/master/cm-mlops/script)
* Continuously encode MLPerf rules and best practices in the [CM automation recipes and workflows for MLPerf](https://github.com/mlcommons/cm4mlops/tree/main/script)
to reduce the burden for submitters to go through numerous README files
and track all the latest changes and updates.
* [Automatically compose high-performance and cost-efficient AI applications and systems using MLPerf and CM](https://doi.org/10.5281/zenodo.10786893).

## Chairs and Tech Leads

* [Grigori Fursin](https://cKnowledge.org/gfursin)
* [Grigori Fursin](https://cKnowledge.org/gfursin) (CM project coordinator)
* [Arjun Suresh](https://www.linkedin.com/in/arjunsuresh)

## Discussions
Expand All @@ -43,16 +42,14 @@ You can participate in our discussions via [public Discord server](https://disco

* Develop a more universal Python and C++ wrapper for the MLPerf loadgen
with the CM automation to support different models, data sets, software
and hardware: [Python prototype](https://github.com/mlcommons/ck/blob/master/docs/tutorials/scc23-mlperf-inference-bert.md);
[C++ prototype](https://github.com/mlcommons/ck/tree/master/cm-mlops/script/app-mlperf-inference-mlcommons-cpp).
and hardware: [Python prototype](https://github.com/mlcommons/cm4mlops/tree/main/script/app-loadgen-generic-python);
[C++ prototype](https://github.com/mlcommons/cm4mlops/tree/main/script/app-mlperf-inference-mlcommons-cpp).

* Introduce [CM automation badge](https://github.com/mlcommons/ck/tree/master/cm-mlops/script/app-mlperf-inference-mlcommons-cpp)
to MLPerf inference v4.1 submission
similar to ACM/IEEE/NeurIPS reproducibility badges to make it easier for
all submitters to re-run and reproduce each others’ results before the
publication date.
* Discuss how to introduce the [CM automation badge](https://github.com/mlcommons/ck/tree/master/cm-mlops/script/app-mlperf-inference-mlcommons-cpp)
to MLPerf inference v4.1 submission similar to ACM/IEEE/NeurIPS reproducibility badges to make it easier for
all submitters to re-run and reproduce each others’ results before the publication date.

* Collaborate with system vendors and cloud providers to quickly benchmark
* Collaborate with system vendors and cloud providers to help them benchmark
their platforms using the best available MLPerf inference implementation.

* Collaborate with other MLPerf working groups to modularize their
Expand Down Expand Up @@ -103,7 +100,7 @@ You can participate in our discussions via [public Discord server](https://disco
* [CM-MLPerf commands](https://github.com/mlcommons/ck/tree/master/docs/mlperf)
* [CM-MLPerf GUI](https://access.cknowledge.org/playground/?action=howtorun)
* [Invited talk at MLPerf-Bench @ HPCA'24 about Automatically Composing High-Performance and Cost-effective AI Systems with MLCommons' CM and MLPerf](https://doi.org/10.5281/zenodo.10786893)
* [Invited keynote about CM framework at ACM REP'23](https://doi.org/10.5281/zenodo.8105339)
* [Invited keynote about CM framework at ACM REP'23]( https://doi.org/10.5281/zenodo.8105339 )
* [ACM artifact review and badging methodology](https://www.acm.org/publications/policies/artifact-review-and-badging-current)
* [Artifact Evaluation at ML and systems conferences](https://cTuning.org/ae)
* [Terminology (ACM/NISO): Repeatability, Reproducibility and Replicability](artifact-evaluation/faq.md#what-is-the-difference-between-repeatability-reproducibility-and-replicability)
Expand Down
4 changes: 2 additions & 2 deletions docs/tutorials/mlperf-inference-submission.md
Original file line number Diff line number Diff line change
Expand Up @@ -351,8 +351,8 @@ See the development roadmap [here](https://github.com/mlcommons/ck/issues/536).

# Authors

* [Grigori Fursin](https://cKnowledge.org/gfursin) (MLCommons, cTuning foundation, cKnowledge Ltd)
* [Arjun Suresh](https://www.linkedin.com/in/arjunsuresh) (MLCommons, cTuning foundation)
* [Grigori Fursin](https://cKnowledge.org/gfursin) (cTuning foundation and cKnowledge.org)
* [Arjun Suresh](https://www.linkedin.com/in/arjunsuresh) (cTuning foundation and cKnowledge.org)

# Acknowledgments

Expand Down
4 changes: 2 additions & 2 deletions docs/tutorials/sc22-scc-mlperf-part2.md
Original file line number Diff line number Diff line change
Expand Up @@ -525,8 +525,8 @@ See the development roadmap [here](https://github.com/mlcommons/ck/issues/536).

# Authors

* [Grigori Fursin](https://cKnowledge.org/gfursin) (cTuning foundation, cKnowledge Ltd, MLCommons)
* [Arjun Suresh](https://www.linkedin.com/in/arjunsuresh) (cTuning foundation, cKnowledge Ltd, MLCommons)
* [Grigori Fursin](https://cKnowledge.org/gfursin) (cTuning foundation and cKnowledge.org)
* [Arjun Suresh](https://www.linkedin.com/in/arjunsuresh) (cTuning foundation and cKnowledge.org)


# Acknowledgments
Expand Down
4 changes: 2 additions & 2 deletions docs/tutorials/sc22-scc-mlperf-part3.md
Original file line number Diff line number Diff line change
Expand Up @@ -426,8 +426,8 @@ See the development roadmap [here](https://github.com/mlcommons/ck/issues/536).

# Authors

* [Grigori Fursin](https://cKnowledge.org/gfursin) (cTuning foundation, cKnowledge Ltd, MLCommons)
* [Arjun Suresh](https://www.linkedin.com/in/arjunsuresh) (cTuning foundation, cKnowledge Ltd, MLCommons)
* [Grigori Fursin](https://cKnowledge.org/gfursin) (cTuning foundation and cKnowledge.org)
* [Arjun Suresh](https://www.linkedin.com/in/arjunsuresh) (cTuning foundation and cKnowledge.org)


# Acknowledgments
Expand Down
Loading

0 comments on commit 9594de1

Please sign in to comment.