Skip to content

Commit 584ccb6

Browse files
CM/CMX v3.4.0: added pyproject.toml to install CM and deprecated setup.py (#1349)
## V3.4.0 - added pyproject.toml to install CM and deprecated setup.py: #1345
2 parents 212d825 + d0de459 commit 584ccb6

File tree

14 files changed

+137
-31
lines changed

14 files changed

+137
-31
lines changed

Diff for: CONTRIBUTING.md

+8-6
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,13 @@ Modify the project in your own fork and issue a pull request once you want other
1414
to take a look at what you have done and discuss the proposed changes.
1515
Ensure that cla-bot and other checks pass for your Pull requests.
1616

17-
Collective Knowledge (CK) and Collective Mind (CM) were created by [Grigori Fursin](https://cKnowledge.org/gfursin),
18-
sponsored by cKnowledge.org and cTuning.org, and donated to MLCommons to benefit everyone.
19-
Since then, this open-source technology (CM, CM4MLOps, CM4ABTF, CM4Research, etc)
20-
is being developed as a community effort thanks to all our volunteers, collaborators and contributors
21-
listed here in alphabetical order:
17+
Collective Knowledge (CK) and Collective Mind (CM)
18+
were created by [Grigori Fursin](https://arxiv.org/abs/2406.16791),
19+
sponsored by cKnowledge.org and cTuning.org, and donated to MLCommons
20+
to benefit everyone. Since then, this open-source automation technology
21+
(CM/CMX, CM4MLOps, CM4ABTF, CM4Research, etc) is being extended
22+
as a community effort thanks to all our volunteers, collaborators
23+
and contributors listed here in alphabetical order:
2224

2325
* Resmi Arjun
2426
* Omar Benjelloun (Google)
@@ -62,7 +64,7 @@ listed here in alphabetical order:
6264
* Arun Tejusve Raghunath Rajan (Cruise)
6365
* Vijay Janapa Reddi (Harvard University)
6466
* Andrew Reusch (OctoML)
65-
* Anandhu S (Kerala Technical University)
67+
* Anandhu Sooraj (Kerala Technical University)
6668
* Sergey Serebryakov (HPE)
6769
* Warren Schultz (Principled Technologies)
6870
* Amrutha Sheleenderan (Kerala Technical University)

Diff for: README.md

+11-5
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,9 @@ CK consists of several sub-projects:
3535
to run automotive benchmark across different models, data sets, software and hardware from different vendors.
3636

3737
* [CMX (the next generation of CM)](cm/docs/cmx) - we are developing the next generation of CM
38-
to make it simpler and more flexible based on user feedback. Please follow
39-
this project [here](https://github.com/orgs/mlcommons/projects/46).
38+
to make it simpler and more flexible based on user feedback. Please follow
39+
this project [here]( https://github.com/orgs/mlcommons/projects/46 ).
40+
4041

4142
* [Collective Knowledge Playground](https://access.cKnowledge.org) - a unified platform
4243
to list CM scripts similar to PYPI, aggregate AI/ML Systems benchmarking results in a reproducible format with CM workflows,
@@ -56,6 +57,11 @@ CK consists of several sub-projects:
5657
* Copyright (c) 2021-2024 MLCommons
5758
* Copyright (c) 2014-2021 cTuning foundation
5859

60+
### Maintainers
61+
62+
* CM/CMX/CM4Research: [Grigori Fursin](https://cKnowledge.org/gfursin)
63+
* CM4MLOps: [Arjun Suresh](https://github.com/arjunsuresh) and [Anandhu Sooraj](https://github.com/anandhu-eng)
64+
5965
### Motivation and long-term vision
6066

6167
You can learn more about the motivation behind these projects from the following articles and presentations:
@@ -79,8 +85,8 @@ You can learn more about the motivation behind these projects from the following
7985

8086
### Acknowledgments
8187

82-
Collective Knowledge (CK) and Collective Mind (CM) were created by [Grigori Fursin](https://cKnowledge.org/gfursin),
88+
The Collective Mind automation framework (CM) was created by [Grigori Fursin](https://cKnowledge.org/gfursin),
8389
sponsored by cKnowledge.org and cTuning.org, and donated to MLCommons to benefit everyone.
84-
Since then, this open-source technology (CM, CM4MLOps, CM4MLPerf, CM4ABTF, CM4Research, etc)
85-
is being developed as a community effort thanks to all our
90+
This open-source technology (CM, CM4MLOps, CM4MLPerf, CM4ABTF, CM4Research, etc)
91+
is being developed as a community effort thanks to all our fantastic
8692
[volunteers, collaborators and contributors](https://github.com/mlcommons/ck/blob/master/CONTRIBUTING.md)!

Diff for: cm/CHANGES.md

+6
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
## V3.4.1
2+
- reduced Python min version in pyproject.toml to 3.7 for backwards compatibility
3+
4+
## V3.4.0
5+
- added pyproject.toml to install CM and deprecated setup.py
6+
17
## V3.3.4
28
- added utils.path2:
39
add quotes if spaces in path

Diff for: cm/README.md

+13-9
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,16 @@ from Nvidia, Intel, AMD, Google, Qualcomm, Amazon and other vendors:
4444
and simple JSON/YAML descriptions instead of inventing new workflow languages;
4545
* must have the same interface to run all automations natively, in a cloud or inside containers.
4646

47+
### Maintainers
48+
49+
* [Grigori Fursin](https://cKnowledge.org/gfursin)
50+
4751
### Resources
4852

49-
* CM v2.x (stable version 2022-cur): [installation on Linux, Windows, MacOS](https://access.cknowledge.org/playground/?action=install) ;
53+
* CM v2.x (2022-cur) (stable): [installation on Linux, Windows, MacOS](https://access.cknowledge.org/playground/?action=install) ;
5054
[docs](https://docs.mlcommons.org/ck) ; [popular commands](https://github.com/mlcommons/ck/tree/master/cm/docs/demos/some-cm-commands.md) ;
5155
[getting started guide](https://github.com/mlcommons/ck/blob/master/docs/getting-started.md)
52-
* CM v3.x (prototype 2024-cur): [docs](https://github.com/mlcommons/ck/tree/master/cm/docs/cmx)
56+
* CM v3.x aka CMX (2024-cur) (stable): [docs](https://github.com/orgs/mlcommons/projects/46)
5357
* MLPerf inference benchmark automated via CM
5458
* [Run MLPerf for submissions](https://docs.mlcommons.org/inference)
5559
* [Run MLPerf at the Student Cluster Competition'24](https://docs.mlcommons.org/inference/benchmarks/text_to_image/reproducibility/scc24)
@@ -61,21 +65,21 @@ from Nvidia, Intel, AMD, Google, Qualcomm, Amazon and other vendors:
6165

6266
[Apache 2.0](LICENSE.md)
6367

64-
### Citing CM and CM4MLOps
68+
### Citing CM project
6569

66-
If you found CM useful, please cite this article:
70+
If you found CM automations useful, please cite this article:
6771
[ [ArXiv](https://arxiv.org/abs/2406.16791) ], [ [BibTex](https://github.com/mlcommons/ck/blob/master/citation.bib) ].
6872

69-
You can learn more about the motivation behind these projects from the following articles and presentations:
73+
You can learn more about the motivation behind these projects from the following presentations:
7074

71-
* "Enabling more efficient and cost-effective AI/ML systems with Collective Mind, virtualized MLOps, MLPerf, Collective Knowledge Playground and reproducible optimization tournaments": [ [ArXiv](https://arxiv.org/abs/2406.16791) ]
75+
* "Enabling more efficient and cost-effective AI/ML systems with Collective Mind, virtualized MLOps, MLPerf, Collective Knowledge Playground and reproducible optimization tournaments": [ [ArXiv](https://arxiv.org/abs/2406.16791) ]
7276
* ACM REP'23 keynote about the MLCommons CM automation framework: [ [slides](https://doi.org/10.5281/zenodo.8105339) ]
7377
* ACM TechTalk'21 about Collective Knowledge project: [ [YouTube](https://www.youtube.com/watch?v=7zpeIVwICa4) ] [ [slides](https://learning.acm.org/binaries/content/assets/leaning-center/webinar-slides/2021/grigorifursin_techtalk_slides.pdf) ]
7478

7579
### Acknowledgments
7680

77-
The Collective Mind framework (CM) was created by [Grigori Fursin](https://cKnowledge.org/gfursin),
81+
The Collective Mind automation framework (CM) was created by [Grigori Fursin](https://cKnowledge.org/gfursin),
7882
sponsored by cKnowledge.org and cTuning.org, and donated to MLCommons to benefit everyone.
79-
Since then, this open-source technology (CM, CM4MLOps, CM4MLPerf, CM4ABTF, CM4Research, etc)
80-
is being developed as a community effort thanks to all our
83+
This open-source technology (CM, CM4MLOps, CM4MLPerf, CM4ABTF, CM4Research, etc)
84+
is being developed as a community effort thanks to all our fantastic
8185
[volunteers, collaborators and contributors](https://github.com/mlcommons/ck/blob/master/CONTRIBUTING.md)!

Diff for: cm/cmind/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#
33
# Written by Grigori Fursin
44

5-
__version__ = "3.3.4"
5+
__version__ = "3.4.1"
66

77
from cmind.core import access
88
from cmind.core import x

Diff for: cm/dev/cmx/README.md

-6
This file was deleted.

Diff for: cm/docs/cmx/README.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
# Collective Mind v3 aka CMX
22

3-
We prototype the next generation of CM.
3+
CMX is the next generation of the CM automation framework
4+
being developed by [Grigori Fursin](https://cKnowledge.org/gfursin)
5+
based on extensive feedback from CM users.
6+
47

58
## Documentation
69

Diff for: cm/pyproject.toml

+94
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
# Developer(s): Grigori Fursin
2+
3+
[build-system]
4+
build-backend = "setuptools.build_meta"
5+
requires = ["setuptools"]
6+
7+
[project]
8+
name = "cmind"
9+
10+
authors = [
11+
{name = "Grigori Fursin", email = "[email protected]"}
12+
]
13+
14+
maintainers = [
15+
{name = "Grigori Fursin", email = "[email protected]"}
16+
]
17+
18+
description = "Collective Mind automation framework (CM)"
19+
20+
requires-python = ">=3.7"
21+
22+
dependencies = [
23+
"pyyaml",
24+
"requests",
25+
"setuptools",
26+
"wheel",
27+
"giturlparse"
28+
]
29+
30+
keywords = [
31+
"cmind",
32+
"cm",
33+
"cmx",
34+
"collective mind",
35+
"automation",
36+
"portability",
37+
"reusability",
38+
"mlops",
39+
"devops",
40+
"vmlops",
41+
"api",
42+
"cli"
43+
]
44+
45+
license = {text = "Apache 2.0"}
46+
47+
classifiers = [
48+
"License :: OSI Approved :: Apache Software License",
49+
"Operating System :: OS Independent",
50+
"Programming Language :: Python :: 3.8",
51+
"Programming Language :: Python :: 3.9",
52+
"Programming Language :: Python :: 3.10",
53+
"Programming Language :: Python :: 3.11",
54+
"Programming Language :: Python :: 3.12",
55+
]
56+
57+
dynamic = ["readme", "version"]
58+
59+
[tool.setuptools.dynamic]
60+
readme = {file = "README.md", content-type = "text/markdown"}
61+
version = {attr = "cmind.__version__"}
62+
63+
[tool.setuptools]
64+
zip-safe = false
65+
66+
[tool.setuptools.package-data]
67+
cmind = ["repo/*",
68+
"repo/automation/automation/*",
69+
"repo/automation/ckx/*",
70+
"repo/automation/core/*",
71+
"repo/automation/core/cm_60cb625a46b38610/*",
72+
"repo/automation/repo/*"
73+
]
74+
75+
[tool.setuptools.packages.find]
76+
where = ["."]
77+
include = ["cmind"]
78+
exclude = ["docs", "docs.*", "tests", "tests.*"]
79+
80+
81+
[project.urls]
82+
Homepage = "https://cKnowledge.org"
83+
Repository = "https://github.com/mlcommons/ck/tree/master/cm"
84+
Issues = "https://github.com/mlcommons/ck/issues"
85+
Changelog = "https://github.com/mlcommons/ck/blob/master/cm/CHANGES.md"
86+
87+
[project.scripts]
88+
cmind = "cmind.cli:run"
89+
cm = "cmind.cli:run"
90+
cmx = "cmind.cli:runx"
91+
cmr = "cmind.cli:run_script"
92+
cmrd = "cmind.cli:docker_script"
93+
cmg = "cmind.cli:gui_script"
94+
cme = "cmind.cli:run_experiment"

Diff for: cm/setup.py renamed to cm/setup_.py

File renamed without changes.

Diff for: cm/setup_install.bat

-1
This file was deleted.

Diff for: dev/common-paper/README.md

-1
This file was deleted.

Diff for: dev/reproducibility/README.md

-1
This file was deleted.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)