Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
broomva avatar

Remote Gpu

  • 2 installs
  • 3 repo stars
  • Updated August 5, 2026
  • broomva/skills

remote-gpu is a Claude Code skill that orchestrates a headless GPU server from a local Mac, submitting and monitoring jobs over SSH or an HTTP API.

About

remote-gpu is a Claude Code skill that orchestrates a headless GPU server from a local Mac or workstation. It provides shell functions and a FastAPI job server to submit, monitor, cancel, and download GPU jobs over SSH or HTTP. Developers use it to run remote training, inference, and video generation, or to launch Claude Code sessions and agent loops on GPU hardware. It also covers SSH setup, tunnels, and rsync between the control machine and the server.

  • Operate a headless GPU server (NUC, cloud VM, SSH host) from a local Mac
  • Submit, monitor, cancel, and download GPU jobs over SSH or an HTTP API
  • Run remote Claude Code sessions, training, inference, and video generation

Remote Gpu by the numbers

  • 2 all-time installs (skills.sh)
  • Ranked #1,138 of 1,435 DevOps & CI/CD skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

remote-gpu capabilities & compatibility

Free skill; you supply the remote GPU machine (NUC or cloud VM).

Capabilities
orchestration · devops
Use cases
orchestration · devops
Platforms
macOS
Runs
Local or remote
Pricing
Free
From the docs

What remote-gpu says it does

Operate a headless GPU server from your Mac. Submit jobs (training, inference, agents), monitor progress, and retrieve results — all over SSH or HTTP API.
SKILL.md
gpu-submit "python train.py --epochs 10" --workdir ~/project
SKILL.md
Start a Claude Code session on the NUC
SKILL.md
npx skills add https://github.com/broomva/skills --skill remote-gpu

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs2
repo stars3
Last updatedAugust 5, 2026
Repositorybroomva/skills

What it does

Submit and manage GPU training, inference, and agent jobs on a headless remote server from a local Mac over SSH or HTTP.

Who is it for?

Running GPU training, inference, video generation, or remote Claude Code sessions on a headless server from a Mac

Skip if: Local-only GPU work or workflows that do not involve a remote SSH-accessible machine

When should I use this skill?

Running GPU workloads remotely, managing jobs on a headless GPU server, or setting up SSH tunnels to a GPU machine

What you get

A job-based control loop that submits, monitors, cancels, and downloads GPU work over SSH or HTTP.

  • gpu-remote.sh shell functions
  • gpu-server.py FastAPI job server
  • setup-nuc.sh provisioning script

By the numbers

  • 10 gpu-* shell commands
  • 8 HTTP API endpoints
  • default job timeout 3600s

Files

SKILL.mdMarkdownGitHub ↗

Remote GPU Orchestrator

Operate a headless GPU server from your Mac. Submit jobs (training, inference, agents), monitor progress, and retrieve results — all over SSH or HTTP API.

Architecture

┌─────────────────┐         SSH / HTTP API        ┌──────────────────────┐
│  Mac (Control)   │ ──────────────────────────▶  │  NUC / GPU Server    │
│                  │                               │                      │
│  - Claude Code   │  Commands:                    │  - RTX 4090 (12GB)   │
│  - This skill    │    submit_job                  │  - gpu-server.py     │
│  - gpu-remote.sh │    check_status               │  - Job queue         │
│                  │    stream_logs                 │  - Claude Code       │
│                  │    download_results            │  - autoany / symphony│
│                  │    run_claude_session          │  - LTX-2 / training  │
└─────────────────┘                               └──────────────────────┘

Quick Setup

1. Configure SSH Access

# On Mac — set up passwordless SSH to NUC
ssh-keygen -t ed25519 -f ~/.ssh/nuc_gpu
ssh-copy-id -i ~/.ssh/nuc_gpu.pub user@NUC_IP

# Add to ~/.ssh/config
cat >> ~/.ssh/config << 'EOF'
Host nuc-gpu
  HostName NUC_IP_ADDRESS
  User YOUR_USER
  IdentityFile ~/.ssh/nuc_gpu
  Port 22
  ServerAliveInterval 60
EOF

# Test
ssh nuc-gpu "nvidia-smi"

2. Install Server on NUC

# SSH into NUC
ssh nuc-gpu

# Copy and start the server
pip install fastapi uvicorn psutil
python gpu-server.py --port 8420 --workdir ~/gpu-jobs

Or run scripts/setup-nuc.sh nuc-gpu from Mac to automate.

3. Use from Mac

# Via SSH (simplest)
source scripts/gpu-remote.sh
gpu-submit "python train.py --epochs 10" --workdir ~/project
gpu-status
gpu-logs job-abc123
gpu-download job-abc123

# Via HTTP API (if gpu-server.py running)
curl http://nuc-gpu:8420/submit -d '{"command":"python train.py"}'
curl http://nuc-gpu:8420/jobs

Job Types

Training Runs

# Submit a training job
gpu-submit "cd ~/project && python train.py --config config.yaml" \
  --name "lora-training-v2" \
  --workdir ~/project

# Monitor GPU usage during training
gpu-watch  # streams nvidia-smi every 5s

Video Generation (LTX-2)

gpu-submit "cd ~/LTX-2 && source .venv/bin/activate && \
  python -m ltx_pipelines.run \
    --config configs/ltx-2.3-22b-distilled-2stage.yaml \
    --quantization fp8-cast \
    --prompt 'A drone shot over mountains at dawn' \
    --height 704 --width 1216 --num_frames 97 \
    --output /tmp/output.mp4" \
  --name "ltx-mountains" \
  --download /tmp/output.mp4

Claude Code Sessions

# Start a Claude Code session on the NUC
gpu-claude "Fix the failing tests in ~/project" --workdir ~/project

# Start with a specific branch
gpu-claude "Implement the feature described in PLAN.md" \
  --workdir ~/project --branch feature/new-api

Autoany EGRI Loops

# Run an EGRI optimization loop on GPU
gpu-submit "cd ~/autoany && cargo run -- \
  --config egri.toml \
  --max-iterations 50 \
  --target-metric accuracy" \
  --name "egri-optimization"

Symphony Orchestrations

# Launch a symphony workflow on GPU
gpu-submit "cd ~/symphony && cargo run -- \
  orchestrate workflow.toml" \
  --name "symphony-pipeline"

Commands Reference

All commands work via the gpu-remote.sh shell functions:

CommandDescription
gpu-submit CMDSubmit a job, returns job ID
gpu-statusShow all jobs and GPU state
gpu-logs JOB_IDStream logs from a job
gpu-cancel JOB_IDCancel a running job
gpu-download JOB_ID [FILE]Download job output files
gpu-watchLive GPU monitoring (nvidia-smi)
gpu-claude PROMPTStart Claude Code session on NUC
gpu-sshInteractive SSH to NUC
gpu-sync DIRrsync a directory to/from NUC
gpu-tunnel PORTSSH tunnel a port from NUC to localhost

Options

--name NAME        Human-readable job name
--workdir DIR      Working directory on NUC
--branch BRANCH    Git branch to checkout before running
--download FILE    Auto-download this file when job completes
--gpu GPU_ID       Target GPU index (default: 0)
--timeout SECS     Job timeout (default: 3600)

HTTP API (gpu-server.py)

If running the Python API server on the NUC:

EndpointMethodDescription
/submitPOSTSubmit job {command, name, workdir, timeout}
/jobsGETList all jobs with status
/jobs/{id}GETJob detail (status, logs, files)
/jobs/{id}/logsGETStream job logs (SSE)
/jobs/{id}/cancelPOSTCancel running job
/jobs/{id}/filesGETList output files
/jobs/{id}/files/{name}GETDownload a file
/statusGETGPU info, disk, memory

See references/api-reference.md for full API documentation.

Configuration

Create ~/.config/gpu-remote/config.toml on Mac:

[server]
host = "nuc-gpu"          # SSH host alias or IP
port = 8420               # API server port (if using HTTP)
user = "your-user"        # SSH user
mode = "ssh"              # "ssh" or "api"

[defaults]
workdir = "~/gpu-jobs"
timeout = 3600
gpu_id = 0

[sync]
exclude = [".git", "node_modules", "__pycache__", ".venv"]

Troubleshooting

  • SSH timeout: Add ServerAliveInterval 60 to SSH config
  • CUDA OOM: Check gpu-status for other jobs using VRAM, cancel or wait
  • Job stuck: Use gpu-logs JOB_ID to check output, gpu-cancel JOB_ID to kill
  • Server down: SSH in and restart: ssh nuc-gpu "python gpu-server.py &"
  • File transfer slow: Use gpu-sync (rsync) instead of individual downloads

Related skills

FAQ

How do I submit a job to the remote GPU?

Source scripts/gpu-remote.sh and run gpu-submit with a command and workdir, or POST to the /submit HTTP endpoint on gpu-server.py.

Does it require an HTTP server on the GPU box?

No. The simplest mode is SSH via gpu-remote.sh shell functions; the FastAPI gpu-server.py HTTP API is optional.

DevOps & CI/CDinfradeploy

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.