Skip to content

Commit 2fecdb0

Browse files
authored
Merge pull request #75 from anandhu-eng/docs
Add documentation website for MLCFlow
2 parents f4b03f0 + fbef40e commit 2fecdb0

File tree

10 files changed

+428
-3
lines changed

10 files changed

+428
-3
lines changed

.github/workflows/publish.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Publish MLCFlow documentation site
2+
3+
4+
on:
5+
release:
6+
types: [published]
7+
push:
8+
branches:
9+
- main
10+
- dev
11+
12+
jobs:
13+
14+
publish:
15+
name: Publish the site
16+
runs-on: ubuntu-latest
17+
18+
steps:
19+
- name: Checkout repository normally
20+
uses: actions/checkout@v3
21+
22+
- name: Set up Python
23+
uses: actions/setup-python@v4
24+
with:
25+
python-version: "3.11"
26+
27+
- name: Install Mkdocs
28+
run: pip install -r docs/requirements.txt
29+
30+
- name: Run Mkdocs deploy
31+
run: mkdocs gh-deploy --force

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
**MLCFlow: Simplifying MLPerf Automations**
22

3-
[![License](https://img.shields.io/badge/License-Apache%202.0-green)](LICENSE.md)
3+
[![License](https://img.shields.io/badge/License-Apache%202.0-green)](https://github.com/mlcommons/mlcflow/blob/main/LICENSE.md)
44
[![Downloads](https://static.pepy.tech/badge/mlcflow)](https://pepy.tech/project/mlcflow)
55

66
[![MLC core actions test](https://github.com/mlcommons/mlcflow/actions/workflows/test-mlc-core-actions.yaml/badge.svg)](https://github.com/mlcommons/mlcflow/actions/workflows/test-mlc-core-actions.yaml)
@@ -9,11 +9,11 @@
99
[![MLPerf inference bert (deepsparse, tf, onnxruntime, pytorch)](https://github.com/mlcommons/mlcflow/actions/workflows/mlperf-inference-bert.yml/badge.svg)](https://github.com/mlcommons/mlcflow/actions/workflows/mlperf-inference-bert.yml)
1010

1111

12-
MLCFlow is a versatile CLI and Python interface developed by MLCommons in collaboration with a dedicated team of volunteers (see [Contributors](CONTRIBUTORS.md)). It serves as a streamlined replacement for the [CMind](https://github.com/mlcommons/ck/tree/master/cm) tool, designed to drive the automation workflows of MLPerf benchmarks more efficiently.
12+
MLCFlow is a versatile CLI and Python interface developed by MLCommons in collaboration with a dedicated team of volunteers (see [Contributors](https://github.com/mlcommons/mlcflow/blob/main/CONTRIBUTORS.md)). It serves as a streamlined replacement for the [CMind](https://github.com/mlcommons/ck/tree/master/cm) tool, designed to drive the automation workflows of MLPerf benchmarks more efficiently.
1313

1414
The concept behind CMind originated from **Grigori Fursin**, while the **MLPerf Automations** project was created by **Grigori Fursin** and **Arjun Suresh**, whose collective contributions laid the foundation for modernizing MLPerf benchmarking tools.
1515

16-
On February 9, 2025, MLCFlow is releasing its first stable version, 1.0.0. This milestone was led by **Arjun Suresh** and **Anandhu Sooraj**, with support from the [MLCFlow community](CONTRIBUTORS.md).
16+
On February 9, 2025, MLCFlow is releasing its first stable version, 1.0.0. This milestone was led by **Arjun Suresh** and **Anandhu Sooraj**, with support from the [MLCFlow community](https://github.com/mlcommons/mlcflow/blob/main/CONTRIBUTORS.md).
1717

1818
### Key Features
1919
Building upon the core idea of CMind—wrapping native scripts with Python wrappers and YAML metadata—MLCFlow focuses exclusively on key automation components: **Scripts**, along with its complementary modules: **Cache**, **Docker**, and **Experiments**. This targeted design simplifies both implementation and interface, enabling a more user-friendly experience.

docs/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../README.md

docs/img/logo_v2.svg

Lines changed: 6 additions & 0 deletions
Loading

docs/install/install.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
hide:
3+
- toc
4+
---
5+
6+
# Installation
7+
8+
MLCFlow needs `python>=3.7`, `python3-pip` installed on your system.
9+
10+
## Activate a Virtual ENV for MLCFlow (Optional)
11+
This step is not mandatory. But the latest `pip` install requires this or else will need the `--break-system-packages` flag while installing.
12+
13+
```bash
14+
python3 -m venv mlcflow
15+
source mlcflow/bin/activate
16+
```
17+
18+
## Install MLCFLow
19+
=== "Use the latest stable release"
20+
```bash
21+
pip install mlcflow
22+
```
23+
=== "To use mlcflow with latest changes"
24+
Fetches the latest changes developers are working on from the `dev` branch.
25+
```bash
26+
pip install git+https://github.com/mlcommons/mlcflow.git@dev
27+
```
28+
29+
Now, you are ready to use the `mlc` commands. Currently, `mlc` is being used to automating the benchmark runs for:
30+
31+
* [MLCOMMONS MLPerf Inference](https://docs.mlcommons.org/inference/)
32+
* [MLCOMMONS MLPerf Automotive]()
33+
* [MLCOMMONS MLPerf Training]()

docs/requirements.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
mkdocs-material
2+
swagger-markdown
3+
mkdocs-macros-plugin
4+
ruamel.yaml
5+
mkdocs-redirects
6+
mkdocs-site-urls

docs/targets/cache/index.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Cache
2+
3+
Currently, the following actions are supported for cache:
4+
5+
## Find
6+
7+
`find` action is used to list the path of the cache generated while running scripts through MLC.
8+
9+
**Syntax**
10+
11+
```bash
12+
mlc find cache --tags=<list_of_tags_used_while_running_script>
13+
```
14+
15+
Examples of `find` action for `cache` target could be found inside the GitHub action workflow [here](https://github.com/mlcommons/mlcflow/blob/d0269b47021d709e0ffa7fe0db8c79635bfd9dff/.github/workflows/test-mlc-core-actions.yaml).
16+
17+
18+
19+
## Show
20+
21+
`show` action is used to list the path and meta data of the cache generated while running scripts through MLC.
22+
23+
**Syntax**
24+
25+
```bash
26+
mlc show cache --tags=<list_of_tags_used_while_running_script>
27+
```
28+
29+
Examples of `show` action for `cache` target could be found inside the GitHub action workflow [here](https://github.com/mlcommons/mlcflow/blob/d0269b47021d709e0ffa7fe0db8c79635bfd9dff/.github/workflows/test-mlc-core-actions.yaml).
30+
31+
## Rm
32+
33+
`rm` action is used to remove one/more caches generated while running scripts through MLC.
34+
35+
**Syntax**
36+
37+
```bash
38+
mlc rm cache --tags=<list_of_tags_used_while_running_script>
39+
```
40+
41+
A user could delete the entire generated caches through the following command:
42+
43+
```bash
44+
mlc rm cache
45+
```
46+
47+
`-f` could be used to force remove caches. Without `-f`, user would be prompted for confirmation to delete a cache.
48+
49+
Examples of `rm` action for `cache` target could be found inside the GitHub action workflow [here](https://github.com/mlcommons/mlcflow/blob/d0269b47021d709e0ffa7fe0db8c79635bfd9dff/.github/workflows/test-mlc-core-actions.yaml).
50+

docs/targets/repo/index.md

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
# Repo
2+
3+
Currently, the following actions are supported for repos:
4+
5+
## Add
6+
7+
`add` action is used to create a new MLC repo and register in MLCFlow. The newly created repo folder would be present inside the `repos` folder present inside the parent `MLC` folder.
8+
9+
**Syntax**
10+
11+
```bash
12+
mlc add repo <repo_name/github_link>
13+
```
14+
15+
Examples of `add` action for `repo` target could be found inside the GitHub action workflow [here](https://github.com/mlcommons/mlcflow/blob/d0269b47021d709e0ffa7fe0db8c79635bfd9dff/.github/workflows/test-mlc-core-actions.yaml).
16+
17+
## Find
18+
19+
`find` action is used to get the path of a particular repository registered in MLCFlow.
20+
21+
**Syntax**
22+
23+
```bash
24+
mlc find repo <repo_owner@repo_name>
25+
```
26+
27+
OR
28+
29+
```bash
30+
mlc find repo <repo_url>
31+
```
32+
33+
OR
34+
35+
```bash
36+
mlc find repo <repo_uid>
37+
```
38+
39+
OR
40+
41+
```bash
42+
mlc find repo <repo_alias>
43+
```
44+
45+
OR
46+
47+
```bash
48+
mlc find repo <repo_alias>,<repo_uid>
49+
```
50+
51+
Examples of `find` action for `repo` target could be found inside the GitHub action workflow [here](https://github.com/mlcommons/mlcflow/blob/d0269b47021d709e0ffa7fe0db8c79635bfd9dff/.github/workflows/test-mlc-core-actions.yaml).
52+
53+
## Pull
54+
55+
`pull` action is used to clone a MLC repo and register in MLC.
56+
57+
**Syntax**
58+
59+
```bash
60+
mlc pull repo <repo_owner>@<repo_name>
61+
```
62+
63+
OR
64+
65+
```bash
66+
mlc pull repo <repo_urll>
67+
```
68+
69+
`--checkout` could be added if an user needs to checkout to a specific branch after cloning.
70+
71+
Examples of `pull` action for `repo` target could be found inside the GitHub action workflow [here](https://github.com/mlcommons/mlcflow/blob/d0269b47021d709e0ffa7fe0db8c79635bfd9dff/.github/workflows/test-mlc-core-actions.yaml).
72+
73+
## List
74+
75+
`list` action is used to list the alias and path of the MLC repos registered in MLC.
76+
77+
**Syntax**
78+
79+
```bash
80+
mlc list repo
81+
```
82+
Example of `list` action for `repo` target could be found inside the GitHub action workflow [here](https://github.com/mlcommons/mlcflow/blob/d0269b47021d709e0ffa7fe0db8c79635bfd9dff/.github/workflows/test-mlc-core-actions.yaml).
83+
84+
## Rm (Remove)
85+
86+
`rm` action is used to remove the specified repo registered in MLC.
87+
88+
**Syntax**
89+
90+
```bash
91+
mlc rm repo <repo_owner>@<repo_name>
92+
```
93+
Example of `rm` action for `repo` target could be found inside the GitHub action workflow [here](https://github.com/mlcommons/mlcflow/blob/d0269b47021d709e0ffa7fe0db8c79635bfd9dff/.github/workflows/test-mlc-core-actions.yaml).

0 commit comments

Comments
 (0)