17 KiB
id |
---|
cli |
CLI
SuperBench provides a command line interface to help you use, deploy and run benchmarks.
$ sb
_____ ____ _
/ ____| | _ \ | |
| (___ _ _ _ __ ___ _ __| |_) | ___ _ __ ___| |__
\___ \| | | | '_ \ / _ \ '__| _ < / _ \ '_ \ / __| '_ \
____) | |_| | |_) | __/ | | |_) | __/ | | | (__| | | |
|_____/ \__,_| .__/ \___|_| |____/ \___|_| |_|\___|_| |_|
| |
|_|
Welcome to the SB CLI!
SuperBench CLI commands
The following lists sb
commands usages and examples:
sb benchmark list
List benchmarks which match the regular expression.
sb benchmark list [--name]
Optional arguments
Name | Default | Description |
---|---|---|
--name -n |
None |
Benchmark name or regular expression. |
Global arguments
Name | Default | Description |
---|---|---|
--help -h |
N/A | Show help message. |
Examples
List all benchmarks:
sb benchmark list
List all benchmarks ending with "-bw":
sb benchmark list --name [a-z]+-bw
sb benchmark list-parameters
List parameters for benchmarks which match the regular expression.
sb benchmark list-parameters [--name]
Optional arguments
Name | Default | Description |
---|---|---|
--name -n |
None |
Benchmark name or regular expression. |
Global arguments
Name | Default | Description |
---|---|---|
--help -h |
N/A | Show help message. |
Examples
List parameters for all benchmarks:
sb benchmark list-parameters
List parameters for all benchmarks which starts with "pytorch-":
sb benchmark list-parameters --name pytorch-[a-z]+
sb deploy
Deploy the SuperBench environments to all managed nodes.
sb deploy [--docker-image]
[--docker-password]
[--docker-username]
[--host-file]
[--host-list]
[--host-password]
[--host-username]
[--no-image-pull]
[--output-dir]
[--private-key]
Optional arguments
Name | Default | Description |
---|---|---|
--docker-image -i |
superbench/superbench |
Docker image URI, here listed all images. |
--docker-password |
None |
Docker registry password if authentication is needed. |
--docker-username |
None |
Docker registry username if authentication is needed. |
--host-file -f |
None |
Path to Ansible inventory host file. |
--host-list -l |
None |
Comma separated host list. |
--host-password |
None |
Host password or key passphrase if needed. |
--host-username |
None |
Host username if needed. |
--no-image-pull |
False |
Skip pull and use local Docker image. |
--output-dir |
None |
Path to output directory, outputs/{datetime} will be used if not specified. |
--private-key |
None |
Path to private key if needed. |
Global arguments
Name | Default | Description |
---|---|---|
--help -h |
N/A | Show help message. |
Examples
Deploy default image on local GPU node:
sb deploy --host-list localhost
Deploy image superbench/cuda:11.1
to all nodes in ./host.ini
:
sb deploy --docker-image superbench/cuda:11.1 --host-file ./host.ini
sb exec
Execute the SuperBench benchmarks locally.
sb exec [--config-file]
[--config-override]
[--output-dir]
Optional arguments
Name | Default | Description |
---|---|---|
--config-file -c |
None |
Path to SuperBench config file. |
--config-override -C |
None |
Extra arguments to override config_file. |
--output-dir |
None |
Path to output directory, outputs/{datetime} will be used if not specified. |
Global arguments
Name | Default | Description |
---|---|---|
--help -h |
N/A | Show help message. |
Examples
Execute GPT2 model benchmark in default configuration:
sb exec --config-override superbench.enable="['gpt2_models']"
sb node info
Get system info on the local node.
sb node info [--output-dir]
Optional arguments
Name | Default | Description |
---|---|---|
--output-dir |
None |
Path to output directory, outputs/{datetime} will be used if not specified. |
Examples
Get system info on the local node and save it into the outputs
dir:
sb node info --output-dir outputs
sb result diagnosis
Filter the defective machines automatically from benchmarking results according to rules defined in rule file.
sb result diagnosis --baseline-file
--data-file
--rule-file
[--decimal-place-value]
[--rule-file]
[--output-all]
[--output-dir]
[--output-file-format {excel, json, md, html}]
Required arguments
Name | Description |
---|---|
--data-file -d |
Path to raw data file. |
--rule-file -r |
Path to rule file. |
Optional arguments
Name | Default | Description |
---|---|---|
--baseline-file -b |
Path to baseline file. | |
--decimal-place-value |
2 | Number of valid decimal places to show in output. Default: 2. |
--output-all |
N/A | Output diagnosis results for all nodes. |
--output-dir |
None |
Path to output directory, outputs/{datetime} will be used if not specified. |
--output-file-format |
excel |
Format of output file, 'excel', 'json', 'jsonl', 'md' or 'html'. Default: excel. |
Global arguments
Name | Default | Description |
---|---|---|
--help -h |
N/A | Show help message. |
Examples
Run data diagnosis and output the results in excel format:
sb result diagnosis --data-file outputs/results-summary.jsonl --rule-file rule.yaml --baseline-file baseline.json --output-file-format excel
Run data diagnosis and output the results in json format:
sb result diagnosis --data-file outputs/results-summary.jsonl --rule-file rule.yaml --baseline-file baseline.json --output-file-format json
Run data diagnosis and output the results in jsonl format:
sb result diagnosis --data-file outputs/results-summary.jsonl --rule-file rule.yaml --baseline-file baseline.json --output-file-format jsonl
Run data diagnosis and output the results in markdown format with 2 valid decimal places:
sb result diagnosis --data-file outputs/results-summary.jsonl --rule-file rule.yaml --baseline-file baseline.json --output-file-format md --decimal-place-value 2
run data diagnosis and output the results of all nodes in json format:
sb result diagnosis --data-file outputs/results-summary.jsonl --rule-file rule.yaml --baseline-file baseline.json --output-file-format json --output-all
sb result summary
Generate the readable summary report automatically from benchmarking results according to rules defined in rule file.
sb result summary --data-file
--rule-file
[--decimal-place-value]
[--output-dir]
[--output-file-format {md, excel, html}]
Required arguments
Name | Description |
---|---|
--data-file -d |
Path to raw data file. |
--rule-file -r |
Path to rule file. |
Optional arguments
Name | Default | Description |
---|---|---|
--decimal-place-value |
2 | Number of valid decimal places to show in output. Default: 2. |
--output-dir |
None |
Path to output directory, outputs/{datetime} will be used if not specified. |
--output-file-format |
md |
Format of output file, 'excel', 'md' or 'html'. Default: md. |
Global arguments
Name | Default | Description |
---|---|---|
--help -h |
N/A | Show help message. |
Examples
Run result summary and output the results in markdown format with 2 valid decimal places:
sb result summary --data-file outputs/results-summary.jsonl --rule-file rule.yaml --output-file-format md --decimal-place-value 2
Run result summary and output the results in html format:
sb result summary --data-file outputs/results-summary.jsonl --rule-file rule.yaml --output-file-format html
sb result generate-baseline
Generate the baseline file automatically from multiple machines results according to rules defined in rule file.
sb result generate-baseline --data-file
--summary-rule-file
[--diagnosis-rule-file]
[--baseline-file]
[--decimal-place-value]
[--output-dir]
Required arguments
Name | Description |
---|---|
--data-file -d |
Path to raw data file. |
--summary-rule-file -sr |
Path to summary rule file. |
Optional arguments
Name | Default | Description |
---|---|---|
--diagnosis-rule-file -dr |
None |
Path to diagnosis rule file. Default: None. |
--baseline-file -b |
None |
Path to previous baseline file. Default: None. |
--decimal-place-value |
2 | Number of valid decimal places to show in output. Default: 2. |
--output-dir |
None |
Path to output directory, outputs/{datetime} will be used if not specified. |
Global arguments
Name | Default | Description |
---|---|---|
--help -h |
N/A | Show help message. |
Examples
Run result generate-baseline to generate baseline.json file:
sb result generate-baseline --data-file outputs/results-summary.jsonl --summary-rule-file summary-rule.yaml --diagnosis-rule-file diagnosis-rule.yaml
Run result generate-baseline and merge with previous baseline:
sb result generate-baseline --data-file outputs/results-summary.jsonl --summary-rule-file summary-rule.yaml --diagnosis-rule-file diagnosis-rule.yaml --baseline-file previous-baseline.json
sb run
Run the SuperBench benchmarks distributedly.
sb run [--config-file]
[--config-override]
[--docker-image]
[--docker-password]
[--docker-username]
[--get-info]
[--host-file]
[--host-list]
[--host-password]
[--host-username]
[--no-docker]
[--output-dir]
[--private-key]
Optional arguments
Name | Default | Description |
---|---|---|
--config-file -c |
None |
Path to SuperBench config file. |
--config-override -C |
None |
Extra arguments to override config_file. |
--docker-image -i |
superbench/superbench |
Docker image URI. |
--docker-password |
None |
Docker registry password if authentication is needed. |
--docker-username |
None |
Docker registry username if authentication is needed. |
--get-info |
False |
Collect system info. |
--host-file -f |
None |
Path to Ansible inventory host file. |
--host-list -l |
None |
Comma separated host list. |
--host-password |
None |
Host password or key passphrase if needed. |
--host-username |
None |
Host username if needed. |
--no-docker |
False |
Run on host directly without Docker. |
--output-dir |
None |
Path to output directory, outputs/{datetime} will be used if not specified. |
--private-key |
None |
Path to private key if needed. |
Global arguments
Name | Default | Description |
---|---|---|
--help -h |
N/A | Show help message. |
Examples
Run all benchmarks on local GPU node:
sb run --host-list localhost
Run all benchmarks on all managed nodes in ./host.ini
using image superbench/cuda:11.1
and default benchmarking configuration:
sb run --docker-image superbench/cuda:11.1 --host-file ./host.ini
Run kernel launch benchmarks on host directly without using Docker:
sb run --no-docker --host-list localhost --config-override \
superbench.enable=kernel-launch superbench.env.SB_MICRO_PATH=/path/to/superbenchmark
Collect system info on all nodes in ./host.ini" distributed without running benchmarks:
sb run --get-info --host-file ./host.ini -C superbench.enable=none
Collect system info on all nodes in ./host.ini" distributed while running benchmarks:
sb run --get-info --host-file ./host.ini
sb version
Print the current SuperBench CLI version.
sb version
Global arguments
Name | Default | Description |
---|---|---|
--help -h |
N/A | Show help message. |
Examples
Print version:
sb version