cli.md 4.85 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
---
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 deploy`

Deploy the SuperBench environments to all managed nodes.
```bash title="SB CLI"
sb deploy [--docker-image]
          [--docker-password]
          [--docker-username]
          [--host-file]
          [--host-list]
          [--host-password]
          [--host-username]
38
          [--output-dir]
39
40
41
42
43
44
45
          [--private-key]
```

#### Optional arguments

| Name | Default | Description |
| --- | --- | --- |
46
| `--docker-image` `-i` | `superbench/superbench` | Docker image URI, [here](./tutorial/container-images) listed all images. |
47
48
49
50
51
52
| `--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 passphase if needed. |
| `--host-username` | `None` | Host username if needed. |
53
| `--output-dir` | `None` | Path to output directory, outputs/{datetime} will be used if not specified. |
54
55
56
57
58
59
60
61
62
63
| `--private-key` | `None` | Path to private key if needed. |

#### Global arguments

| Name | Default | Description |
| --- | --- | --- |
| `--help` `-h` | N/A | Show help message. |

#### Examples

64
Deploy default image on local GPU node:
65
```bash title="SB CLI"
66
67
68
69
70
71
sb deploy --host-list localhost
```

Deploy image `superbench/cuda:11.1` to all nodes in `./host.ini`:
```bash title="SB CLI"
sb deploy --docker-image superbench/cuda:11.1 --host-file ./host.ini
72
73
74
75
76
77
78
79
```

### `sb exec`

Execute the SuperBench benchmarks locally.
```bash title="SB CLI"
sb exec [--config-file]
        [--config-override]
80
        [--output-dir]
81
82
83
84
85
86
87
88
```

#### Optional arguments

| Name | Default | Description |
| --- | --- | --- |
| `--config-file` `-c` | `None` | Path to SuperBench config file. |
| `--config-override` `-C` | `None` | Extra arguments to override config_file. |
89
| `--output-dir` | `None` | Path to output directory, outputs/{datetime} will be used if not specified. |
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116

#### Global arguments

| Name | Default | Description |
| --- | --- | --- |
| `--help` `-h` | N/A | Show help message. |

#### Examples

Execute GPT2 model benchmark in default configuration:
```bash title="SB CLI"
sb exec --config-override superbench.enable="['gpt2_models']"
```

### `sb run`

Run the SuperBench benchmarks distributedly.
```bash title="SB CLI"
sb run [--config-file]
       [--config-override]
       [--docker-image]
       [--docker-password]
       [--docker-username]
       [--host-file]
       [--host-list]
       [--host-password]
       [--host-username]
117
       [--output-dir]
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
       [--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. |
| `--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 passphase if needed. |
| `--host-username` | `None` | Host username if needed. |
134
| `--output-dir` | `None` | Path to output directory, outputs/{datetime} will be used if not specified. |
135
136
137
138
139
140
141
142
143
144
| `--private-key` | `None` | Path to private key if needed. |

#### Global arguments

| Name | Default | Description |
| --- | --- | --- |
| `--help` `-h` | N/A | Show help message. |

#### Examples

145
146
147
148
149
150
Run all benchmarks on local GPU node:
```bash title="SB CLI"
sb run --host-list localhost
```

Run all benchmarks on all managed nodes in `./host.ini` using image `superbench/cuda:11.1`
151
152
and default benchmarking configuration:
```bash title="SB CLI"
153
sb run --docker-image superbench/cuda:11.1 --host-file ./host.ini
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
```

### `sb version`

Print the current SuperBench CLI version.
```bash title="SB CLI"
sb version
```

#### Global arguments

| Name | Default | Description |
| --- | --- | --- |
| `--help` `-h` | N/A | Show help message. |

#### Examples

Print version:
```bash title="SB CLI"
sb version
```