Add documentation for --no-docker parameter requirements (#715)#783
Add documentation for --no-docker parameter requirements (#715)#783NJX-njx wants to merge 1 commit intomicrosoft:mainfrom
Conversation
- Add new section 'Using --no-docker on Remote Nodes' in run-superbench.md - Document that sb binary and dependencies must be pre-installed on each remote host - Describe deployment options (extract container, install from source, etc.) - Note environment variables and use cases - Update --no-docker description in cli.md with link to detailed docs Fixes microsoft#715 Made-with: Cursor
|
@NJX-njx please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
Contributor License AgreementContribution License AgreementThis Contribution License Agreement (“Agreement”) is agreed to by the party signing below (“You”),
|
There was a problem hiding this comment.
Pull request overview
This PR updates SuperBench documentation to clarify the requirements for running sb run --no-docker against remote nodes, addressing failures where remote hosts don’t have the sb CLI installed.
Changes:
- Added a new “Using
--no-dockeron Remote Nodes” section to describe prerequisites and deployment approaches. - Expanded the
--no-dockerCLI flag description to call out remote-node requirements and link to the detailed guide.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| docs/getting-started/run-superbench.md | Adds a dedicated section documenting remote-node prerequisites and guidance for --no-docker. |
| docs/cli.md | Updates --no-docker help text with a brief prerequisite note and link to detailed docs. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| 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). | ||
| - **Option C:** Use `sb deploy` first to pull the image, then manually extract the container filesystem to the host if you need to run without containers. |
There was a problem hiding this comment.
"Option C" suggests running sb deploy and then extracting the container filesystem to run without containers. However, sb deploy itself relies on Docker on the target nodes (there is no --no-docker for deploy), so this option won’t be viable in the same environments where --no-docker is needed. Consider clarifying the prerequisite (Docker available at least for deployment/pulling) or removing this option to avoid contradicting the stated use cases.
| - **Option C:** Use `sb deploy` first to pull the image, then manually extract the container filesystem to the host if you need to run without containers. | |
| - **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. |
| | `--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#using---no-docker-on-remote-nodes) for details. | |
There was a problem hiding this comment.
The anchor in this link (#using---no-docker-on-remote-nodes) depends on how the docs site generates heading IDs for inline-code headings. To avoid a potentially broken link, consider either (a) making the target heading plain text (no backticks) so the slug is predictable, or (b) adding an explicit heading id on the target section and linking to that stable id.
| | `--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#using---no-docker-on-remote-nodes) for details. | | |
| | `--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. | |
| | `--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#using---no-docker-on-remote-nodes) for details. | |
There was a problem hiding this comment.
For readability in this table cell, consider formatting the literal error text as code (e.g., command not found) and/or shortening the row by moving the longer explanation into the linked getting-started section. Very long table cells can make the markdown harder to maintain and review.
| | `--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#using---no-docker-on-remote-nodes) for details. | | |
| | `--no-docker` | `False` | Run on host directly without Docker. See [Run SuperBench - Using --no-docker on Remote Nodes](getting-started/run-superbench.md#using---no-docker-on-remote-nodes) for details on using this option with remote nodes. | |
| - **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). | ||
| - **Option C:** Use `sb deploy` first to pull the image, then manually extract the container filesystem to the host if you need to run without containers. | ||
|
|
||
| 3. **Environment variables:** Set `superbench.env.SB_MICRO_PATH` (and other required env vars) to match the installation path on each node when using `--no-docker`. |
There was a problem hiding this comment.
The section label "Environment variables" is a bit misleading here: superbench.env.SB_MICRO_PATH is a SuperBench config key (used via --config-override) rather than an environment variable name. Consider rewording to clarify that users must set the SB_MICRO_PATH environment variable on each remote node (or set it via superbench.env.SB_MICRO_PATH in config overrides) so it matches the on-host installation path when using --no-docker.
| 3. **Environment variables:** Set `superbench.env.SB_MICRO_PATH` (and other required env vars) to match the installation path on each node when using `--no-docker`. | |
| 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. |
Summary
Fixes #715 - Documents the requirements and expectations when using
--no-dockeron remote nodes.Problem
Users running
sb run --no-dockeron remote nodes encounteredcommand not found(rc=127) because the documentation did not explain that SuperBench must be pre-installed on each target host.Changes
sbCLI and dependencies must be pre-installed on each remote nodeSB_MICRO_PATH)--no-dockerdescription with brief requirements and link to detailed docs