Skip to content
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
30 changes: 18 additions & 12 deletions automation/script/help.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,20 +32,26 @@ def display_help(self_module, input_params):

scripts_list = search_result['list']
if not scripts_list:
return {'return': 1, 'error': 'No scripts were found'}

generic_inputs = self_module.input_flags_converted_to_env
print("")
print("Please use script tags or alias/uid to get help for a specific script")
print("")
print("Generic Inputs for all Scripts:")
print("")
print_input_descriptions(generic_inputs)

# Step 4: Iterate over scripts and generate help output
for script in sorted(scripts_list, key=lambda x: x.meta.get('alias', '')):
metadata = script.meta
script_path = script.path
print_script_help(
metadata,
script_path,
generic_inputs,
env,
self_module)
else:
# Step 4: Iterate over scripts and generate help output
for script in sorted(
scripts_list, key=lambda x: x.meta.get('alias', '')):
metadata = script.meta
script_path = script.path
print_script_help(
metadata,
script_path,
generic_inputs,
env,
self_module)

return {'return': 0}

Expand Down
2 changes: 2 additions & 0 deletions automation/script/module.py
Original file line number Diff line number Diff line change
Expand Up @@ -2870,6 +2870,8 @@ def search(self, i):
if i.get(key):
ii[key] = i[key]

if i.get('all'):
ii['all'] = i['all']
r = super(ScriptAutomation, self).search(ii)
if r['return'] > 0:
return r
Expand Down
10 changes: 6 additions & 4 deletions script/app-mlperf-inference-mlcommons-python/README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# README for app-mlperf-inference-mlcommons-python
This README is automatically generated. Add custom content in [info.md](info.md). Please follow the [script execution document](https://docs.mlcommons.org/mlcflow/targets/script/execution-flow/) to understand more about the MLC script execution.

`mlcflow` stores all local data under `$HOME/MLC` by default. So, if there is space constraint on the home directory and you have more space on say `/mnt/user`, you can do
`mlcflow` stores all local data under `$HOME/MLC` by default. So, if there is space constraint on the home directory and you have more space on say `/mnt/$USER`, you can do
```
mkdir /mnt/user/MLC
ln -s /mnt/user/MLC $HOME/MLC
mkdir /mnt/$USER/MLC
ln -s /mnt/$USER/MLC $HOME/MLC
```
You can also use the `ENV` variable `MLC_REPOS` to control this location but this will need a set after every system reboot.

Expand Down Expand Up @@ -136,7 +136,7 @@ mlcr app,vision,language,mlcommons,mlperf,inference,reference,ref
- `llama2-70b-99` (base: llama2-70b_)
- `llama2-70b-99.9` (base: llama2-70b_)
- `llama3_1-405b`
- `llama3_1-8b`
- `llama3_1-8b_`
- `mixtral-8x7b`
- `pointpainting`
- `resnet50` (default)
Expand Down Expand Up @@ -166,6 +166,8 @@ mlcr app,vision,language,mlcommons,mlperf,inference,reference,ref
- `dlrm-v2_`
- `gptj_`
- `llama2-70b_`
- `llama3_1-8b` (base: llama3_1-8b_)
- `llama3_1-8b-edge` (base: llama3_1-8b_)
- `multistream`
- `offline`
- `r2.1_default`
Expand Down
212 changes: 210 additions & 2 deletions script/app-mlperf-inference-nvidia/README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,96 @@
# README for app-mlperf-inference-nvidia
This README is automatically generated. Add custom content in [info.txt](info.txt). Please follow the [script execution document](https://docs.mlcommons.org/mlcflow/targets/script/execution-flow/) to understand more about the MLC script execution.
This README is automatically generated. Add custom content in [info.md](info.md). Please follow the [script execution document](https://docs.mlcommons.org/mlcflow/targets/script/execution-flow/) to understand more about the MLC script execution.

`mlcflow` stores all local data under `$HOME/MLC` by default. So, if there is space constraint on the home directory and you have more space on say `/mnt/$USER`, you can do
```
mkdir /mnt/$USER/MLC
ln -s /mnt/$USER/MLC $HOME/MLC
```
You can also use the `ENV` variable `MLC_REPOS` to control this location but this will need a set after every system reboot.

## Setup

If you are not on a Python development environment please refer to the [official docs](https://docs.mlcommons.org/mlcflow/install/) for the installation.

```bash
python3 -m venv mlcflow
. mlcflow/bin/activate
pip install mlcflow
```

- Using a virtual environment is recommended (per `pip` best practices), but you may skip it or use `--break-system-packages` if needed.

### Pull mlperf-automations

Once `mlcflow` is installed:

```bash
mlc pull repo mlcommons@mlperf-automations --pat=<Your Private Access Token>
```
- `--pat` or `--ssh` is only needed if the repo is PRIVATE
- If `--pat` is avoided, you'll be asked to enter the password where you can enter your Private Access Token
- `--ssh` option can be used instead of `--pat=<>` option if you prefer to use SSH for accessing the github repository.
## Run Commands

```bash
mlcr reproduce,mlcommons,mlperf,inference,harness,nvidia-harness,nvidia
```

No script specific inputs
### Script Inputs

| Name | Description | Choices | Default |
|------|-------------|---------|------|
| `--count` | | | `` |
| `--max_batchsize` | | | `` |
| `--mlperf_conf` | | | `` |
| `--mode` | | | `performance` |
| `--output_dir` | | | `` |
| `--scenario` | | | `Offline` |
| `--user_conf` | | | `` |
| `--devices` | | | `` |
| `--skip_preprocess` | | | `no` |
| `--skip_preprocessing` | Alias for skip_preprocess | | `` |
| `--target_qps` | | | `` |
| `--offline_target_qps` | | | `` |
| `--server_target_qps` | | | `` |
| `--target_latency` | | | `` |
| `--singlestream_target_latency` | | | `` |
| `--multistream_target_latency` | | | `` |
| `--use_triton` | | | `` |
| `--gpu_copy_streams` | | | `` |
| `--gpu_inference_streams` | | | `` |
| `--gpu_batch_size` | | | `` |
| `--dla_copy_streams` | | | `` |
| `--dla_inference_streams` | | | `` |
| `--dla_batch_size` | | | `` |
| `--input_format` | | | `` |
| `--performance_sample_count` | | | `` |
| `--workspace_size` | | | `` |
| `--log_dir` | | | `` |
| `--use_graphs` | | | `` |
| `--run_infer_on_copy_streams` | | | `` |
| `--start_from_device` | | | `` |
| `--end_on_device` | | | `` |
| `--max_dlas` | | | `` |
| `--power_setting` | | | `` |
| `--make_cmd` | | | `` |
| `--rerun` | | | `` |
| `--extra_run_options` | | | `` |
| `--use_deque_limit` | | | `` |
| `--deque_timeout_usec` | | | `` |
| `--use_cuda_thread_per_device` | | | `` |
| `--num_warmups` | | | `` |
| `--graphs_max_seqlen` | | | `` |
| `--num_issue_query_threads` | | | `` |
| `--soft_drop` | | | `` |
| `--use_small_tile_gemm_plugin` | | | `` |
| `--audio_buffer_num_lines` | | | `` |
| `--use_fp8` | | | `` |
| `--enable_sort` | | | `` |
| `--num_sort_segments` | | | `` |
| `--skip_postprocess` | | | `` |
| `--embedding_weights_on_gpu_part` | | | `` |
| `--sdxl_batcher_time_limit` | | | `` |
### Generic Script Inputs

| Name | Description | Choices | Default |
Expand All @@ -26,3 +109,128 @@ No script specific inputs
| `--gh_token` | Github Token | | `` |
| `--hf_token` | Huggingface Token | | `` |
| `--verify_ssl` | Verify SSL | | `False` |
## Variations

### Backend

- `tensorrt` (default)

### Batch-size

- `batch_size.#` _(# can be substituted dynamically)_

### Batchsize-format-change

- `pre5.0`
- `v5.0+`

### Build-engine-options

- `build_engine_options.#` _(# can be substituted dynamically)_

### Device

- `cpu`
- `cuda` (default)

### Device-memory

- `gpu_memory.#` _(# can be substituted dynamically)_
- `gpu_memory.16`
- `gpu_memory.24`
- `gpu_memory.32`
- `gpu_memory.40`
- `gpu_memory.48`
- `gpu_memory.8`
- `gpu_memory.80`

### Dla-batch-size

- `dla_batch_size.#` _(# can be substituted dynamically)_

### Gpu-connection

- `pcie`
- `sxm`

### Gpu-name

- `a100`
- `a6000`
- `custom`
- `l4`
- `orin`
- `rtx_4090`
- `rtx_6000_ada`
- `t4`

### Graphs

- `use-graphs`

### Loadgen-scenario

- `multistream`
- `offline`
- `server`
- `singlestream`

### Model

- `3d-unet-99` (base: 3d-unet_)
- `3d-unet-99.9` (base: 3d-unet_)
- `bert-99` (base: bert_)
- `bert-99.9` (base: bert_)
- `dlrm-v2-99` (base: dlrm_)
- `dlrm-v2-99.9` (base: dlrm_)
- `gptj-99` (base: gptj_)
- `gptj-99.9` (base: gptj_)
- `llama2-70b-99` (base: llama2-70b_)
- `llama2-70b-99.9` (base: llama2-70b_)
- `resnet50` (default)
- `retinanet`
- `rnnt`
- `sdxl`

### Num-gpus

- `num-gpus.#` _(# can be substituted dynamically)_
- `num-gpus.1` (default)

### Power-mode

- `maxn`
- `maxq`

### Run-mode

- `build`
- `build_engine` (alias: build-engine)
- `calibrate`
- `download_model`
- `prebuild`
- `preprocess_data` (alias: preprocess-data)
- `run_harness` (default)

### Triton

- `use_triton`

### Ungrouped

- `3d-unet_`
- `bert_`
- `default_variations`
- `dlrm_`
- `env`
- `gptj_`
- `llama2-70b_`
- `run-harness`
- `v3.1` (base: pre5.0)

### Version

- `v4.0` (base: pre5.0)
- `v4.1` (base: pre5.0)
- `v4.1-dev` (base: pre5.0) (default)
- `v5.0` (base: v5.0+)
10 changes: 6 additions & 4 deletions script/app-mlperf-inference/README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# README for app-mlperf-inference
This README is automatically generated. Add custom content in [info.md](info.md). Please follow the [script execution document](https://docs.mlcommons.org/mlcflow/targets/script/execution-flow/) to understand more about the MLC script execution.

`mlcflow` stores all local data under `$HOME/MLC` by default. So, if there is space constraint on the home directory and you have more space on say `/mnt/user`, you can do
`mlcflow` stores all local data under `$HOME/MLC` by default. So, if there is space constraint on the home directory and you have more space on say `/mnt/$USER`, you can do
```
mkdir /mnt/user/MLC
ln -s /mnt/user/MLC $HOME/MLC
mkdir /mnt/$USER/MLC
ln -s /mnt/$USER/MLC $HOME/MLC
```
You can also use the `ENV` variable `MLC_REPOS` to control this location but this will need a set after every system reboot.

Expand Down Expand Up @@ -166,7 +166,7 @@ mlcr app,vision,language,mlcommons,mlperf,inference,generic
- `llama2-70b-99` (base: llama2-70b_)
- `llama2-70b-99.9` (base: llama2-70b_)
- `llama3_1-405b`
- `llama3_1-8b`
- `llama3_1-8b_`
- `mixtral-8x7b` (base: mixtral-8x7b)
- `mobilenet`
- `pointpainting`
Expand Down Expand Up @@ -207,4 +207,6 @@ mlcr app,vision,language,mlcommons,mlperf,inference,generic
- `dlrm_`
- `gptj_` (alias: gptj)
- `llama2-70b_`
- `llama3_1-8b` (base: llama3_1-8b_)
- `llama3_1-8b-edge` (base: llama3_1-8b_)
- `power`
6 changes: 3 additions & 3 deletions script/build-mlperf-inference-server-nvidia/README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# README for build-mlperf-inference-server-nvidia
This README is automatically generated. Add custom content in [info.md](info.md). Please follow the [script execution document](https://docs.mlcommons.org/mlcflow/targets/script/execution-flow/) to understand more about the MLC script execution.

`mlcflow` stores all local data under `$HOME/MLC` by default. So, if there is space constraint on the home directory and you have more space on say `/mnt/user`, you can do
`mlcflow` stores all local data under `$HOME/MLC` by default. So, if there is space constraint on the home directory and you have more space on say `/mnt/$USER`, you can do
```
mkdir /mnt/user/MLC
ln -s /mnt/user/MLC $HOME/MLC
mkdir /mnt/$USER/MLC
ln -s /mnt/$USER/MLC $HOME/MLC
```
You can also use the `ENV` variable `MLC_REPOS` to control this location but this will need a set after every system reboot.

Expand Down
8 changes: 4 additions & 4 deletions script/download-file/README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# README for download-file
This README is automatically generated. Add custom content in [info.md](info.md). Please follow the [script execution document](https://docs.mlcommons.org/mlcflow/targets/script/execution-flow/) to understand more about the MLC script execution.

`mlcflow` stores all local data under `$HOME/MLC` by default. So, if there is space constraint on the home directory and you have more space on say `/mnt/user`, you can do
`mlcflow` stores all local data under `$HOME/MLC` by default. So, if there is space constraint on the home directory and you have more space on say `/mnt/$USER`, you can do
```
mkdir /mnt/user/MLC
ln -s /mnt/user/MLC $HOME/MLC
mkdir /mnt/$USER/MLC
ln -s /mnt/$USER/MLC $HOME/MLC
```
You can also use the `ENV` variable `MLC_REPOS` to control this location but this will need a set after every system reboot.

Expand Down Expand Up @@ -72,7 +72,7 @@ mlcr download file
- `curl`
- `gdown`
- `mlcutil` (alias: cmutil) (default)
- `r2_downloader`
- `r2-downloader`
- `rclone`
- `wget`

Expand Down
6 changes: 3 additions & 3 deletions script/generate-mlperf-inference-submission/README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# README for generate-mlperf-inference-submission
This README is automatically generated. Add custom content in [info.md](info.md). Please follow the [script execution document](https://docs.mlcommons.org/mlcflow/targets/script/execution-flow/) to understand more about the MLC script execution.

`mlcflow` stores all local data under `$HOME/MLC` by default. So, if there is space constraint on the home directory and you have more space on say `/mnt/user`, you can do
`mlcflow` stores all local data under `$HOME/MLC` by default. So, if there is space constraint on the home directory and you have more space on say `/mnt/$USER`, you can do
```
mkdir /mnt/user/MLC
ln -s /mnt/user/MLC $HOME/MLC
mkdir /mnt/$USER/MLC
ln -s /mnt/$USER/MLC $HOME/MLC
```
You can also use the `ENV` variable `MLC_REPOS` to control this location but this will need a set after every system reboot.

Expand Down
Loading
Loading