-
Notifications
You must be signed in to change notification settings - Fork 86
Docs - Add documentation for --no-docker parameter requirements (#715) #783
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
9c7ca44
6902328
38b11d9
7e28d3e
839df0d
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -375,7 +375,7 @@ sb run [--config-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. | | ||
| | `--no-docker` | `False` | Run on host directly without Docker. When using remote nodes, SuperBench (`sb` binary and dependencies) must be pre-installed on each target host; otherwise `command not found` will occur. See [Run SuperBench - Using --no-docker on Remote Nodes](getting-started/run-superbench.md) for details. | | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [SHOULD-FIX] (Correctness + Maintainability) Table cell is ~280 chars vs ≤80 in every sibling rowIssue: Valid Markdown, but ~280 chars in one cell forces the rendered Description column to balloon dramatically, breaks the visual alignment of every sibling row, and duplicates content that already lives at the link target. Every other Description cell in this table is one short sentence. Impact: Source diffing / future column-width edits become painful. Readers scanning the flag table get a wall of text in one cell instead of a uniform reference table. Recommendation: Reduce to a single-line caveat + deep link (also fixes the anchor and label findings): Agreement: 2/3 reviewers (1 NON-BLOCKING / 1 SHOULD-FIX, escalated).
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [SHOULD-FIX] (Correctness) Cross-link omits the section anchorIssue:
Impact: Worse UX (extra scrolling) and inconsistent with the established Recommendation: Append the Docusaurus-slugified fragment (verify the slug against a local [Using --no-docker on Remote Nodes](getting-started/run-superbench.md#using---no-docker-on-remote-nodes)Agreement: 3/3 reviewers.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [SHOULD-FIX] (Maintainability) Cross-link label uses non-standard "Page - Section" formatIssue: The new link is the only "Page - Section" composite label in
Also, Docusaurus / typography pipelines may render the literal Impact: Inconsistent navigation labels; future editors will copy whichever style they see first. Also a real risk that Recommendation: Adopt the established short-label form (combined with the anchor fix above): See [Using --no-docker on Remote Nodes](getting-started/run-superbench.md#using---no-docker-on-remote-nodes).Agreement: 2/3 reviewers. |
||
| | `--output-dir` | `None` | Path to output directory, outputs/{datetime} will be used if not specified. | | ||
| | `--private-key` | `None` | Path to private key if needed. | | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -47,3 +47,18 @@ You can create a privileged container with `superbench/superbench` image, skip ` | |
| `sb run --no-docker -l localhost -c resnet.yaml`. | ||
|
|
||
| ::: | ||
|
|
||
| ## Using `--no-docker` on Remote Nodes | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [SHOULD-FIX] (Maintainability) New section ignores the file's paragraph + bash-fence + admonition styleIssue: Every other prose unit in this file follows "1 short paragraph → The new section uses none — it is one dense 4-item bold-led numbered list, zero runnable code blocks, no admonitions. Items 1 ( Impact: Future editors will see one section that looks foreign to the rest of the page, increasing drift over time. Recommendation: Restructure as paragraphs + 1–2 ### Using `--no-docker` on Remote Nodes
When you run `sb run --no-docker` against remote hosts (via `--host-file` or
`--host-list`), Ansible SSHes into each node and invokes the `sb` binary
directly, so SuperBench must already be installed on every target host.
\`\`\`bash
sb run --no-docker -f remote.ini -c resnet.yaml \\
--config-override superbench.env.SB_MICRO_PATH=/opt/superbench
\`\`\`
:::caution
If `sb` is not on `PATH` on a remote host, the run fails with
`sb: command not found` (exit code 127).
:::
:::note
Set `SB_MICRO_PATH` (env var or `superbench.env.SB_MICRO_PATH` via
`--config-override`) to the on-host install path of the micro-benchmark
binaries.
:::Agreement: 2/3 reviewers.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [SHOULD-FIX] (Maintainability) New section should be H3 under
|
||
|
|
||
| When running `sb run` with `--no-docker` on **remote nodes** (via `--host-file` or `--host-list`), the following requirements apply: | ||
|
|
||
| 1. **SuperBench must be pre-installed on each remote node.** The `sb` CLI binary and its dependencies must be available in the PATH on every target host. Running without Docker means Ansible will SSH into each node and execute `sb exec` directly; if `sb` is not installed, you will see `command not found` (exit code 127). | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [NON-BLOCKING] (Maintainability) "execute
|
||
|
|
||
| 2. **Deployment options:** | ||
| - **Option A:** Extract the contents of the `superbench/superbench` Docker image onto each node (e.g., copy binaries, Python environment, and micro-benchmark executables to a consistent path), then ensure `sb` is in PATH. | ||
| - **Option B:** Install SuperBench from source or pip on each node, and build/install the required micro-benchmark binaries (see `third_party/` and build instructions). | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [SHOULD-FIX] (Correctness)
|
||
| - **Option C (requires Docker on remote nodes):** If Docker is available on the remote nodes for deployment but you still want to execute benchmarks without containers, you can first use `sb deploy` to pull the image and prepare the container, then manually extract the container filesystem to the host and run subsequent `sb run --no-docker` commands against that host installation. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [BLOCKER] (Correctness) Option C documents an unsupported "extract container filesystem to host" workflowIssue (verified facts):
Impact: Readers who try to follow Option C will hand-roll fragile Recommendation: Delete Option C. If the underlying intent is "Docker is available but we cannot nest containers", point readers to the existing Agreement: 3/3 reviewers (severity 1 BLOCKER / 2 SHOULD-FIX, escalated to the highest per orchestrator policy). |
||
|
|
||
| 3. **Environment configuration:** Ensure the `SB_MICRO_PATH` environment variable is set on each remote node so that it matches the on-host installation path of SuperBench micro-benchmark binaries when using `--no-docker`. Alternatively, you can set the config key `superbench.env.SB_MICRO_PATH` via `--config-override` so that SuperBench exports this environment variable for remote executions. | ||
|
|
||
| 4. **Use case:** `--no-docker` is intended for environments where Docker-in-Docker or nested containers are not supported (e.g., certain Kubernetes setups, HPC clusters with restricted container runtimes). For standard deployments, prefer `sb deploy` + `sb run` without `--no-docker`. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [NON-BLOCKING] (Maintainability) No back-link from
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[SHOULD-FIX] (Correctness) Cell omits the actual failing binary name (
sb exec/sb)Issue: The user types
sb run --no-docker …on the control node, but the command Ansible actually runs on each remote host issb exec …(superbench/runner/runner.py:127, wrapped viabash -c '... && cd $SB_WORKSPACE && {command}'atrunner.py:494-498whenself._docker_config.skipis True). The shell error on a non-prepared host is thereforesb: command not found(rc 127). A user grepping logs forsb run: command not foundwill not find it.Impact: Diagnostic ambiguity for the exact failure mode the PR is trying to document (fixes #715, which is precisely this
command not found/ rc=127 confusion).Recommendation: Reword the cell (combine with the anchor and label fixes — see other comments on this line):
Agreement: 1/3 reviewers (cross-references finding 11 below).