Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -426,7 +426,7 @@ Filter dimensions: `--since` (`7d` / `24h` / `30m`), `--task` (case-insensitive
| Ampere (RTX 30-series, A10G, A100) | sm_8.0–8.6 | ✅ Supported | Tested on Modal A10G + A100, RTX 4090 |
| Ada Lovelace (RTX 40-series, L4) | sm_8.9 | ✅ Supported | |
| Hopper (H100, H200) | sm_9.0 | ✅ Supported | |
| Jetson Orin (Orin Nano / NX / AGX) | sm_8.7 | ✅ Supported | JetPack 5.x or 6.x |
| Jetson Orin (Orin Nano / NX / AGX) | sm_8.7 | ✅ Supported | JetPack 6.x |
| Jetson Thor | sm_10.x | ⚠️ Untested | Should work — same Blackwell silicon as desktop, but ORT-bundled CUDA EP needs Blackwell support (see below) |
| **Blackwell desktop (RTX 5090, RTX PRO 6000, B200, GB200)** | **sm_10.0** | **❌ Not yet supported** | ORT's bundled cuBLAS/cuDNN don't ship sm_100 kernels. Server segfaults at `InferenceSession` init. **Workaround:** use `tether chat` (no GPU needed), or `/act` testing on Modal cloud or non-Blackwell GPU until ORT updates ship. Tracking: [microsoft/onnxruntime#blackwell](https://github.com/microsoft/onnxruntime/issues) |
| Older NVIDIA (Turing RTX 20, GTX 16) | sm_7.5 | ⚠️ Best-effort | Should work but not in CI matrix |
Expand Down
6 changes: 4 additions & 2 deletions install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -301,8 +301,10 @@ if [ "$IS_JETSON" -eq 1 ] || [ "$FORCE_JETSON" -eq 1 ]; then
echo " tether go --preset franka # one-command deploy (after ONNX export)"
echo " tether serve /path/to/export # serve a pre-exported model"
echo
note "For a fully-bundled JetPack Docker image:"
note " docker pull ghcr.io/fastcrest/tether:latest-jetpack"
note "For the published Jetson/arm64 Docker image:"
note " docker pull ghcr.io/fastcrest/tether:latest-arm64"
note " # Bring-your-own JetPack CUDA/cuDNN/TensorRT via nvidia-container-runtime."
note " # For fully-bundled local experiments, build Dockerfile.jetpack yourself."
fi

note "Source: https://github.com/FastCrest/tether"
13 changes: 13 additions & 0 deletions tests/test_docker_arm64.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ def test_tags_with_arm64_suffix(self):
Multi-arch manifest merging is a separate future workflow."""
content = self.WORKFLOW_PATH.read_text()
assert "-arm64" in content
assert "latest-arm64" in content

def test_uses_dockerfile_arm64(self):
"""The workflow must point at Dockerfile.arm64, not the default
Expand All @@ -99,3 +100,15 @@ def test_valid_yaml(self):
# PyYAML maps the 'on:' key to Python True (bool) because `on`
# is a YAML 1.1 boolean. Accept either spelling.
assert "on" in parsed or True in parsed


class TestJetsonPublishedTagDocs:
def test_installer_points_to_published_arm64_tag(self):
content = (REPO_ROOT / "install.sh").read_text()
assert "ghcr.io/fastcrest/tether:latest-arm64" in content
assert "latest-jetpack" not in content

def test_readme_points_to_published_arm64_tag(self):
content = (REPO_ROOT / "README.md").read_text()
assert "ghcr.io/fastcrest/tether:latest-arm64" in content
assert "latest-jetpack" not in content
Loading