Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CM v2.3.0 release #1235

Merged
merged 11 commits into from
Apr 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/test-cm-script-features.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ jobs:
- name: Install dependencies
run: |
python -m pip install cmind
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
# cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }}
cm run script --quiet --tags=get,sys-utils-cm
- name: Test CM Script Features
run: |
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/test-cm-scripts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ jobs:
- name: Install dependencies
run: |
python -m pip install cmind
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
# cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }}
cm run script --quiet --tags=get,sys-utils-cm
- name: Test CM Script Automation
run: |
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/test-cm-tutorial-retinanet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ jobs:
- name: Install dependencies
run: |
python -m pip install cmind
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
# cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }}
cm run script --quiet --tags=get,sys-utils-cm
- name: Test CM Tutorial Retinanet
run: |
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/test-cm-tutorial-tvm-pip.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ jobs:
- name: Install dependencies
run: |
python -m pip install cmind
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
# cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }}
cm run script --quiet --tags=get,sys-utils-cm
- name: Test CM Tutorial TVM pip install with VirtualMachine Runtime
run: |
Expand All @@ -50,7 +51,8 @@ jobs:
- name: Install dependencies
run: |
python -m pip install cmind
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
# cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }}
cm run script --quiet --tags=get,sys-utils-cm
- name: Test CM Tutorial TVM pip install with GraphExecutor Runtime
run: |
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/test-cm-tutorial-tvm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ jobs:
- name: Install dependencies
run: |
python -m pip install cmind
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
# cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }}
cm run script --quiet --tags=get,sys-utils-cm
- name: Test CM Tutorial TVM
run: |
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/test-cm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@ jobs:
cd cm
python setup.py install
python -m cmind
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
# cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }}
- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
Expand Down Expand Up @@ -62,7 +63,8 @@ jobs:
run: |
python -m pip install --upgrade pip
python -m pip install cmind
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
# cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }}
- name: Test CM
run: |
python tests/test_cm.py
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/test-image-classification-onnx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ jobs:
- name: Install dependencies
run: |
python3 -m pip install cmind
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
# cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }}
cm run script --quiet --tags=get,sys-utils-cm
- name: Test image classification with ONNX
run: |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@ jobs:
- name: Install dependencies
run: |
python3 -m pip install cmind
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
# cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }}
cm run script --quiet --tags=get,sys-utils-cm
- name: Test MLPerf Inference Bert (DeepSparse, TF, ONNX, PyTorch)
run: |
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/test-mlperf-inference-gptj.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ jobs:
- name: Install dependencies
run: |
python3 -m pip install cmind
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
# cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }}
cm run script --quiet --tags=get,sys-utils-cm
- name: Test MLPerf Inference GPTJ
run: |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@ jobs:
- name: Install dependencies
run: |
python3 -m pip install cmind
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
# cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }}
cm run script --quiet --tags=get,sys-utils-cm
cm run script --quiet --tags=install,prebuilt,llvm --version=${{ matrix.llvm-version }}
- name: Test MLPerf Inference MLCommons C++ ResNet50
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/test-mlperf-inference-resnet50.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,8 @@ jobs:
- name: Install dependencies
run: |
python3 -m pip install cmind
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
# cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }}
cm run script --quiet --tags=get,sys-utils-cm
- name: Test MLPerf Inference ResNet50
run: |
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/test-mlperf-inference-retinanet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@ jobs:
- name: Install dependencies
run: |
python3 -m pip install cmind
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
# cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }}
cm run script --quiet --tags=get,sys-utils-cm
- name: Test MLPerf Inference Retinanet using ${{ matrix.backend }}
run: |
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/test-mlperf-inference-rnnt.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ jobs:
- name: Install dependencies
run: |
python3 -m pip install cmind
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
# cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }}
cm run script --quiet --tags=get,sys-utils-cm
- name: Test MLPerf Inference RNNT
run: |
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/test-mlperf-inference-tvm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ jobs:
- name: Install dependencies
run: |
python3 -m pip install cmind
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
# cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }}
cm run script --quiet --tags=get,sys-utils-cm
- name: MLPerf Inference ResNet50 using TVM
run: |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ jobs:
- name: Install dependencies
run: |
python3 -m pip install cmind
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
# cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }} --checkout=${{ github.event.pull_request.head.ref }}
cm pull repo --url=${{ github.event.pull_request.head.repo.html_url }}
cm run script --quiet --tags=get,sys-utils-cm
- name: Test MLPerf loadgen with HuggingFace bert onnx fp32 squad model
run: |
Expand Down
41 changes: 0 additions & 41 deletions .github/workflows/update-script-dockerfiles.yml

This file was deleted.

46 changes: 0 additions & 46 deletions .github/workflows/update-script-readme.yml

This file was deleted.

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
9 changes: 6 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,20 @@ across diverse and continuously changing models, data, software and hardware.

CK consists of several ongoing sub-projects:

* [Collective Mind framework (CM)](cm) - a very light-weight Python-based framework with minimal dependencies
* [Collective Mind framework (CM)](cm) (*~1MB*) - a very light-weight Python-based framework with minimal dependencies
to help the community implement, share and reuse cross-platform automation recipes to
build, benchmark and optimize applications on any platform
with any software and hardware. It extends the cmake concept with
with any software and hardware. Very simply, it extends the cmake concept with
reusable automation recipes and workflows written in plain Python or native OS scripts,
accessible via a human readable interface with simple tags,
and shareable in public and private repositories in a decentralized way.
Furthermore, in comparison with cmake, these automation recipes can not only detect missing code
but also download artifacts (models, data sets), preprocess them, build missing
dependencies, install them and run the final code on diverse platforms in a unified and automated way.
You can read more about the CM concept in this [presentation](https://doi.org/10.5281/zenodo.8105339).


* [CM automation recipes for MLOps and DevOps](cm-mlops) - a collection of portable, extensible and technology-agnostic automation recipes
* [CM automation recipes for MLOps and DevOps](cm-mlops) (*~6MB*) - a small collection of portable, extensible and technology-agnostic automation recipes
with a human-friendly interface (aka 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: see [online catalog](https://access.cknowledge.org/playground/?action=scripts)
and [source code](https://github.com/mlcommons/cm4mlops/blob/master/script).
Expand Down
2 changes: 2 additions & 0 deletions cm-mlops/script/app-loadgen-generic-python/customize.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Developer: Grigori Fursin

#

from cmind import utils
import os
import shutil
Expand Down
7 changes: 7 additions & 0 deletions cm/CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
## V2.3.0
- added automatic CM repo alias from mlcommons@ck to mlcommons@cm4mlops
unless branch and checkout are used!
- improved CM python package API generation and uploaded to https://cknowledge.org/docs/cm
(should move to MLCommons when ready)
- added timezone to utils.get_current_date_time to correctly time stamp various experiments!

## V2.2.0
- fixed detection of a CM artifact using 'cm info .' when inside virtual env entries.
- added "cmind.utils.debug_here" function to attach remote Python debugger
Expand Down
6 changes: 5 additions & 1 deletion cm/cmind/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
__version__ = "2.2.0"
# Collective Mind init
#
# Written by Grigori Fursin

__version__ = "2.3.0"

from cmind.core import access
from cmind.core import error
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
Loading
Loading