Skip to content

Voicebox initial commit#139

Open
robballantyne wants to merge 2 commits intomainfrom
voicebox
Open

Voicebox initial commit#139
robballantyne wants to merge 2 commits intomainfrom
voicebox

Conversation

@robballantyne
Copy link
Copy Markdown
Collaborator

No description provided.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new “Voicebox” derivative image to the Vast.ai PyTorch derivatives suite, including container build logic, Supervisor wiring, and end-user documentation for running the Voicebox TTS server.

Changes:

  • Added a Voicebox Supervisor startup script and Supervisor program configuration.
  • Added Voicebox derivative Dockerfile to build/install Voicebox (backend + frontend) on top of a Vast PyTorch base image.
  • Added Voicebox documentation (template README + repo README) and a scheduled/manual GitHub Actions workflow to build/push images.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
derivatives/pytorch/derivatives/voicebox/ROOT/opt/supervisor-scripts/voicebox.sh Starts Voicebox under Supervisor, waits for provisioning, sets up persistent data dir, launches backend.
derivatives/pytorch/derivatives/voicebox/ROOT/etc/supervisor/conf.d/voicebox.conf Registers Voicebox as a Supervisor-managed service with stdout logging to container logs.
derivatives/pytorch/derivatives/voicebox/README.template.md Vast template-facing documentation for using the Voicebox instance (ports, token, HTTPS, etc.).
derivatives/pytorch/derivatives/voicebox/README.md Repository documentation for the derivative image (tags, CUDA notes, build instructions).
derivatives/pytorch/derivatives/voicebox/Dockerfile Builds the Voicebox image (clone/install deps, build frontend, patch URLs, validate torch unchanged).
.github/workflows/build-voicebox.yml CI workflow to detect new upstream releases and build/push Voicebox images across a base-image matrix.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread derivatives/pytorch/derivatives/voicebox/Dockerfile

Images are tagged with the CUDA version they were built against (e.g. `v0.3.1-cuda-12.9-py312`). This does not mean you need that exact CUDA version on the host.

**Minor version compatibility:** NVIDIA guarantees that an application built with any CUDA toolkit within a major version family will run on a driver from the same family. A `cuda-12.9` image runs on any CUDA 12.x driver (driver >= 525), and a `cuda-13.1` image runs on any CUDA 13.x driver (driver >= 580). The 12.x and 13.x families are separate.
Copy link

Copilot AI Mar 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The CUDA compatibility section references a cuda-13.1 image/tag, but the build workflow for Voicebox builds against cuda-13.2 base images (cu130). To avoid confusing users, update these examples to match the actual tags being produced (or generalize the wording to cuda-13.x).

Suggested change
**Minor version compatibility:** NVIDIA guarantees that an application built with any CUDA toolkit within a major version family will run on a driver from the same family. A `cuda-12.9` image runs on any CUDA 12.x driver (driver >= 525), and a `cuda-13.1` image runs on any CUDA 13.x driver (driver >= 580). The 12.x and 13.x families are separate.
**Minor version compatibility:** NVIDIA guarantees that an application built with any CUDA toolkit within a major version family will run on a driver from the same family. A `cuda-12.9` image runs on any CUDA 12.x driver (driver >= 525), and a `cuda-13.2` image runs on any CUDA 13.x driver (driver >= 580). The 12.x and 13.x families are separate.

Copilot uses AI. Check for mistakes.
Comment on lines +19 to +30
- A `cuda-12.9` image will run on any machine with a CUDA 12.x driver (driver >= 525).
- A `cuda-13.1` image will run on any machine with a CUDA 13.x driver (driver >= 580).
- The 12.x and 13.x families are separate — a `cuda-13.1` image will not work with a 12.x driver under minor version compatibility alone.

Choose the CUDA variant that matches your driver's major version. Within that family, any minor version will work.

### Forward Compatibility

[Forward compatibility](https://docs.nvidia.com/deploy/cuda-compatibility/forward-compatibility.html) allows newer CUDA toolkit versions to run on older drivers. It is only available on **datacenter GPUs** (and select NGC Server Ready RTX cards). All of our images include the CUDA Compatibility Package (`cuda-compat`) to support this.

For example, with forward compatibility a `cuda-12.9` image could run on a datacenter machine with a CUDA 12.1 driver, or a `cuda-13.1` image could run with a CUDA 12.x driver. Consumer GPUs do not support forward compatibility and require a driver that natively supports the image's CUDA version.

Copy link

Copilot AI Mar 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This README refers to a cuda-13.1 image/tag, but the Voicebox GitHub Actions workflow matrix uses cuda-13.2 (cu130) PyTorch base images and will publish tags like ...-cuda-13.2-py312. Please update the examples/wording to match the produced tags (or generalize to cuda-13.x).

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generic info

Comment on lines +72 to +76
docker buildx build \
--build-arg PYTORCH_BASE=vastai/pytorch:2.9.1-cu128-cuda-12.9-mini-py312-2026-03-19 \
--build-arg VOICEBOX_REF=v0.3.1 \
-t yournamespace/voicebox .
```
Copy link

Copilot AI Mar 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PYTORCH_BASE example tag uses a different datestamp (...-2026-03-19) than the current default in the Dockerfile / workflow matrix (...-2026-03-26). Consider updating the example to the current default (or wording it as a placeholder) so copy/paste builds don’t fail due to a non-existent/old tag.

Copilot uses AI. Check for mistakes.
stopasgroup=true
killasgroup=true
stopsignal=TERM
stopwaitsecs=10
Copy link

Copilot AI Mar 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All other Supervisor program configs in this repo include the standard note above stdout_logfile=/dev/stdout explaining why stdout must be used for Vast logging (e.g. derivatives/pytorch/derivatives/a1111/ROOT/etc/supervisor/conf.d/a1111.conf:12). Consider adding the same comment here for consistency and to avoid accidental regressions during future edits.

Suggested change
stopwaitsecs=10
stopwaitsecs=10
; NOTE: Vast expects container logs on stdout; do not change this to a file path.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants