Skip to content

Commit 166e8e5

Browse files
authored
Update readme, inference submission cleanups (#117)
* Support docker for mixtral * Added option to automatically submit mlperf inference results while running the submission checker * Cleanups for get-mlperf-inference-src * Create CONTRIBUTORS.md * Update README.md
1 parent 976c927 commit 166e8e5

File tree

7 files changed

+120
-13
lines changed

7 files changed

+120
-13
lines changed

CONTRIBUTORS.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Contributors
2+
3+
Thank you for your interest in contributing to **MLPerf Automations**! We welcome contributions that help improve the project and expand its functionality.
4+
5+
---
6+
7+
## How to Become a Contributor
8+
9+
We value all contributions, whether they are code, documentation, bug reports, or feature suggestions. If you contribute **more than 50 lines of code** (including tests and documentation), you will be officially recognized as a project contributor.
10+
11+
**Note:** Trivial contributions, such as minor typo fixes or small formatting changes, will not count toward the 50-line threshold.
12+
13+
To contribute:
14+
1. **Fork** the repository.
15+
2. **Create** a new branch for your feature or bug fix.
16+
3. **Submit** a pull request (PR) describing your changes.
17+
Please see [here](CONTRIBUTING.md) for further guidelines for official contribution to any MLCommons repository.
18+
19+
---
20+
21+
## Contributor Recognition
22+
23+
Once your contribution exceeds 50 lines of code (in total), we will:
24+
- Add your name to this `CONTRIBUTORS.md` file.
25+
- Highlight your contribution in the next release notes.
26+
- Grant you access to suggest and vote on new features.
27+
28+
---
29+
30+
## Current Contributors
31+
32+
- **Grigori Fursin** - *Initial Development, CLI workflow support via CMind, Added core automation features*
33+
- **Arjun Suresh** - *Initial Development, Added core automation features*
34+
- **Anandhu Sooraj** - *Added multiple CM scripts for MLPerf Inference*
35+
- **Thomaz Zhu** - *Added CPP implementation for MLPerf Inference Onnxruntime*
36+
- **Sahil Avaran** - *Adding logging support in MLPerf script automation*
37+
- **[Your Name Here]** - This could be you! 🎉
38+
39+
---
40+
41+
We believe in collaborative growth, and every contribution makes a difference. Feel free to reach out by opening an issue if you have any questions or ideas.
42+
43+
Happy Coding! 🚀

README.md

Lines changed: 57 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,65 @@
11
# MLPerf Automations and Scripts
22

3-
This repository contains the automations and scripts used to run MLPerf benchmarks, primarily focusing on MLPerf inference benchmarks. The automations used here are largely based on and extended from the [Collective Mind script automations](https://github.com/mlcommons/cm4mlops/tree/main/automation/script).
3+
[![License](https://img.shields.io/badge/License-Apache%202.0-green)](LICENSE.md)
4+
[![Downloads](https://static.pepy.tech/badge/cm4mlops)](https://pepy.tech/project/cm4mlops)
5+
[![CM Script Automation Test](https://github.com/mlcommons/mlperf-automations/actions/workflows/test-cm-script-features.yml/badge.svg)](https://github.com/mlcommons/mlperf-automations/actions/workflows/test-cm-script-features.yml)
6+
[![MLPerf Inference ABTF POC Test](https://github.com/mlcommons/mlperf-automations/actions/workflows/test-mlperf-inference-abtf-poc.yml/badge.svg)](https://github.com/mlcommons/mlperf-automations/actions/workflows/test-mlperf-inference-abtf-poc.yml)
47

8+
Welcome to the **MLPerf Automations and Scripts** repository! This repository provides tools, automations, and scripts to facilitate running MLPerf benchmarks, with a primary focus on **MLPerf Inference benchmarks**.
59

6-
## Collective Mind (CM) Automations
10+
The automations build upon and extend the powerful [Collective Mind (CM) script automations](https://github.com/mlcommons/cm4mlops/tree/main/automation/script) to streamline benchmarking and workflow processes.
711

8-
**CM (Collective Mind)** is a Python package with a CLI and API designed to create and manage automations. Two key automations developed using CM are **Script** and **Cache**, which streamline ML workflows, including managing Docker runs.
12+
---
913

14+
## 🚀 Key Features
15+
- **Automated Benchmarking** – Simplifies running MLPerf Inference benchmarks with minimal manual intervention.
16+
- **Modular and Extensible** – Easily extend the scripts to support additional benchmarks and configurations.
17+
- **Seamless Integration** – Compatible with Docker, cloud environments, and local machines.
18+
- **Collective Mind (CM) Integration** – Utilizes the CM framework to enhance reproducibility and automation.
1019

11-
## License
20+
---
1221

13-
[Apache 2.0](LICENSE.md)
22+
## 🧰 Collective Mind (CM) Automations
23+
24+
The **Collective Mind (CM)** framework is a Python-based package offering both CLI and API support for creating and managing automations. CM automations enhance ML workflows by simplifying complex tasks such as Docker container management and caching.
25+
26+
### Core Automations
27+
- **Script Automation** – Automates script execution across different environments.
28+
- **Cache Management** – Manages reusable cached results to accelerate workflow processes.
29+
30+
Learn more about CM in the [CM4MLOps documentation](https://github.com/mlcommons/cm4mlops).
31+
32+
---
33+
34+
## 🤝 Contributing
35+
We welcome contributions from the community! To contribute:
36+
1. Submit pull requests (PRs) to the **`dev`** branch.
37+
2. Review our [CONTRIBUTORS.md](here) for guidelines and best practices.
38+
3. Explore more about MLPerf Inference automation in the official [MLPerf Inference Documentation](https://docs.mlcommons.org/inference/).
39+
40+
Your contributions help drive the project forward!
41+
42+
---
43+
44+
## 📰 News
45+
Stay tuned for upcoming updates and announcements.
46+
47+
---
48+
49+
## 📄 License
50+
This project is licensed under the [Apache 2.0 License](LICENSE.md).
51+
52+
---
53+
54+
## 💡 Acknowledgments and Funding
55+
This project is made possible through the generous support of:
56+
- [OctoML](https://octoml.ai)
57+
- [cKnowledge.org](https://cKnowledge.org)
58+
- [cTuning Foundation](https://cTuning.org)
59+
- [MLCommons](https://mlcommons.org)
60+
61+
We appreciate their contributions and sponsorship!
62+
63+
---
64+
65+
Thank you for your interest and support in MLPerf Automations and Scripts!

script/generate-mlperf-inference-submission/_cm.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ input_mapping:
6969
device: CM_MLPERF_DEVICE
7070
division: CM_MLPERF_SUBMISSION_DIVISION
7171
duplicate: CM_MLPERF_DUPLICATE_SCENARIO_RESULTS
72+
extra_checker_args: CM_MLPERF_SUBMISSION_CHECKER_EXTRA_ARG
7273
hw_name: CM_HW_NAME
7374
hw_notes_extra: CM_MLPERF_SUT_HW_NOTES_EXTRA
7475
infer_scenario_results: CM_MLPERF_DUPLICATE_SCENARIO_RESULTS

script/get-ml-model-mixtral/_cm.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ category: AI/ML models
66
env:
77
CM_ML_MODEL_DATASET: ''
88
CM_ML_MODEL_WEIGHT_TRANSFORMATIONS: 'no'
9+
docker:
10+
real_run: False
911
input_mapping:
1012
checkpoint: MIXTRAL_CHECKPOINT_PATH
1113
new_env_keys:

script/get-mlperf-inference-src/_cm.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,6 @@ prehook_deps:
5050
_submodules.:
5151
- CM_GIT_SUBMODULES
5252
print_env_at_the_end_disabled:
53-
CM_MLPERF_INFERENCE_CONF_PATH: Path to the MLPerf inference benchmark configuration
54-
file
5553
CM_MLPERF_INFERENCE_SOURCE: Path to MLPerf inference benchmark sources
5654
tags:
5755
- get
@@ -154,31 +152,33 @@ versions:
154152
CM_MLPERF_LAST_RELEASE: v2.1
155153
CM_TMP_GIT_CHECKOUT: v2.1
156154
r3.0:
157-
adr:
155+
ad:
158156
inference-git-repo:
159157
tags: _tag.v3.0
160158
env:
161159
CM_MLPERF_LAST_RELEASE: v3.0
162160
CM_TMP_GIT_CHECKOUT: ''
163161
r3.1:
164-
adr:
162+
ad:
165163
inference-git-repo:
166164
tags: _tag.v3.1
167165
env:
168166
CM_MLPERF_LAST_RELEASE: v3.1
169-
CM_TMP_GIT_CHECKOUT: ''
167+
CM_GIT_CHECKOUT_TAG: 'v3.1'
170168
r4.0:
171-
adr:
169+
ad:
172170
inference-git-repo:
173171
tags: _tag.v4.0
174172
env:
175173
CM_MLPERF_LAST_RELEASE: v4.0
174+
CM_GIT_CHECKOUT_TAG: 'v4.0'
176175
r4.1:
177-
adr:
176+
ad:
178177
inference-git-repo:
179178
tags: _tag.v4.1
180179
env:
181180
CM_MLPERF_LAST_RELEASE: v4.1
181+
CM_GIT_CHECKOUT_TAG: 'v4.1'
182182
r5.0:
183183
env:
184184
CM_MLPERF_LAST_RELEASE: v5.0

script/get-mlperf-inference-src/customize.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ def preprocess(i):
4141
# if not try to assign the values specified in version parameters,
4242
# if version parameters does not have the value to a parameter, set the
4343
# default one
44-
if env.get('CM_GIT_CHECKOUT', '') == '':
44+
if env.get('CM_GIT_CHECKOUT', '') == '' and env.get(
45+
'CM_GIT_CHECKOUT_TAG', '') == '':
4546
if env.get('CM_TMP_GIT_CHECKOUT', '') != '':
4647
env["CM_GIT_CHECKOUT"] = env["CM_TMP_GIT_CHECKOUT"]
4748
else:

script/run-mlperf-inference-submission-checker/_cm.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ deps:
3636
tags: preprocess,mlperf,inference,submission
3737
input_mapping:
3838
extra_args: CM_MLPERF_SUBMISSION_CHECKER_EXTRA_ARGS
39+
extra_checker_args: CM_MLPERF_SUBMISSION_CHECKER_EXTRA_ARGS
3940
extra_model_benchmark_map: CM_MLPERF_EXTRA_MODEL_MAPPING
4041
input: CM_MLPERF_INFERENCE_SUBMISSION_DIR
4142
power: CM_MLPERF_POWER
@@ -50,6 +51,7 @@ input_mapping:
5051
src_version: CM_MLPERF_SUBMISSION_CHECKER_VERSION
5152
submission_dir: CM_MLPERF_INFERENCE_SUBMISSION_DIR
5253
submitter: CM_MLPERF_SUBMITTER
54+
submitter_id: CM_MLPERF_SUBMITTER_ID
5355
tar: CM_TAR_SUBMISSION_DIR
5456
post_deps:
5557
- enable_if_env:
@@ -66,6 +68,12 @@ post_deps:
6668
CM_TAR_SUBMISSION_DIR:
6769
- 'yes'
6870
tags: run,tar
71+
- enable_if_env:
72+
CM_SUBMITTER_ID:
73+
- 'yes'
74+
tags: submit,mlperf,results,_inference
75+
env:
76+
CM_MLPERF_SUBMISSION_FILE: <<<MLPERF_INFERENCE_SUBMISSION_TAR_FILE>>>
6977
tags:
7078
- run
7179
- mlc

0 commit comments

Comments
 (0)