Skip to content

research(gpu-capacity): GPU options after Modal credits — Blacksmith (none), GitHub Actions GPU runners, Copilot (none), OCI (stood down), local (none owned) #6072

Open

Description

@dezren39

Research (2026-11-04, part of the Modal credits design #6069; full doc ~/workspace/scratch/modal-gpu-design-2026-11-04/design.md §4): where GPU compute comes from after Modal credits — answering Drew's four questions with evidence. Prices verified from vendor pages, Oct–Nov 2026.

Q1 — Blacksmith GPU? No.

Blacksmith sells CPU Actions runners only (x64/arm to 32 vCPU, Windows beta, macOS on Apple M4; 2 vCPU $0.004/min, 3,000 free min/mo). No GPU runner product exists as of Nov 2026. Third parties do sell GPU Actions runners (machine.dev: T4 spot from $0.00308/min ≈ $0.18/hr, L4 $0.00682/min ≈ $0.41/hr; StarSling: RTX 4090 $0.02522/min) — relevant only for CI-shaped GPU work.

Q2 — Copilot / Actions / Actions Mac?

  • Copilot: no GPU compute at any tier. It is a coding-assistant subscription; it confers no compute of any kind.
  • GitHub-hosted GPU larger runner: yes, one shape, expensive. gpu-t4-4-core = 4 vCPU / 28 GB / 1× Tesla T4 16 GB at $0.052/min ($3.12/hr); requires Team/Enterprise Cloud; included minutes never cover larger runners (every minute is cash). ~4× Modal's L4 hourly rate for an older card; ~8–17× third-party T4 runners. Break-glass only.
  • Actions Mac runners: no usable GPU compute. Arm64 macOS runners are virtualized; GitHub's documented limitations for arm64 macOS runners exclude MPS, and community reports show the MPS backend hard-capped (~1 GB) to uselessness. Metal graphics ≠ ML compute. (Our own Mac is Vertex's work machine — never fleet infrastructure — and is excluded regardless.)

Q3 — OCI GPU? Real, priced, stood down.

VM.GPU.A10.1 (1× A10) $2.00/GPU-hr (≈2.5× Modal L4 for a comparable card); BM.GPU.H100.8 $10/GPU-hr sold as an 8-GPU bare-metal node ($80/hr minimum); VM.GPU3.1 V100 $2.95/hr (preemptible $1.48). No Always-Free GPU; new tenancies have GPU limits of zero until raised. OCI is stood down (Drew 2026-10-31: no tenancy, PAYG/provisioning on HOLD) — evaluation only. Unlock condition: Drew lifts the hold + a tenancy exists. Its niche would be a persistent GPU service, not batch work.

Q4 — Local GPUs? Effectively none.

Verified 2026-11-04: the laptop (Ryzen 7 7840U) has only a Radeon 780M iGPU, no discrete GPU; ROCm on gfx1103 is unofficial/fragile → treat as CPU-class (measured local embedding rate 1,529 tok/s). Sandbox VM: no GPU. There is no owned RTX 3060 Ti — every 3060 Ti in our records is a Marketplace listing the deal hunt passed on ($250, Kimberly WI, 2026-10-02). A used RTX 3060 12GB ($200) / 3060 Ti ($250) in a lab-cluster host would give ~L4-class embedding throughput 24/7 for ~$0.03/hr electricity — best constant-use economics here, and a purchase decision for Drew, not an action.

The ladder (when Modal credits run out)

  1. Modal PAYG overage (same rates, cash) — at our volumes even 10× growth is ~$10–30/mo. Default next step.
  2. Third-party GPU Actions runners, if the job is CI-shaped.
  3. GitHub native GPU runner — break-glass (price).
  4. Local used GPU — only if a recurring always-on need appears (none today).
  5. OCI — only after the stand-down lifts, for persistent-service shapes.

Constant-use verdict: nothing we run needs a standing GPU; all workloads are batch-shaped. A live embedding endpoint for ID worlds should run on laptop CPU until volume proves otherwise, with a warm Modal web endpoint as fallback — not a rented always-on card.

Adjacent: #2605 (hosted runner queue saturation — CPU capacity side of the same question).

Acceptance criteria

  • Each of the four questions (Blacksmith GPU, Copilot/Actions/Mac GPU, OCI GPU, local GPU) is answered with cited vendor evidence and prices, as drafted in the body.
  • A single recommendation for the post-Modal-credits GPU source is recorded, with the break-glass option named.
  • The OCI hold (Drew 2026-10-31) is respected: evaluation only, no tenancy or provisioning actions.

Activity

  1. added
    area/infraInfrastructure, deployment, and operations
    kind/designA design proposal (design-architect): multi-step, phased, decision-bearing
    on Nov 5, 2026
  2. developing-today commented on Nov 5, 2026

    @developing-today
    Contributor
  3. added
    priority/normalOrdinary priority (the default)
    effort/sSmall: expected under 2 hours of work
    source/humanFiled directly by a human
    meta/enrichedIntake review done: acceptance criteria, links, and normalized labels added
    on Nov 5, 2026
  4. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    Intake review

  5. added
    queue/queuedHas a queued task in the Supabase agent queue
    task/triageQueue packet kind: verify, reproduce, and route this item
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 5, 2026
  6. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    agent-note:v1
    task: 10435
    lane: code-u
    state: picked-up
    summary: Triage claimed by lane code-u (direct execution lane) for research issue #6072.
    next: record the triage verdict and the single recommendation the acceptance criteria require, then complete task 10435.

  7. developing-today commented on Nov 5, 2026

    @developing-today
    Contributor

    agent-note:v1
    task: 10435
    lane: code-u
    state: done
    summary: Triaged — research COMPLETE in the issue body; the one remaining acceptance item (a single recorded recommendation) is recorded here. No follow-up task needed: adoption belongs to the parent design issue #6069.
    next: none for this issue; the recommendation feeds issue #6069 §4.

    Triage verdict (fresh check, 2026-11-05): issue #6072 is OPEN, no hard-stop labels. The body's four questions are answered with cited vendor evidence and Oct–Nov 2026 prices: Blacksmith has no GPU product (CPU runners only); Copilot confers no compute; the only GitHub-hosted GPU larger runner is gpu-t4-4-core at $0.052/min ($3.12/hr); arm64 macOS runners have no usable GPU compute; OCI GPU shapes are real and priced but stood down under Drew's 2026-10-31 hold (evaluation only — respected, no tenancy/provisioning action taken or proposed); no usable local GPU is owned (the "owned RTX 3060 Ti" in older records was a passed-on Marketplace listing — corrected in the body).

    Recorded recommendation (acceptance criterion 2): when Modal credits run out, the default post-credits GPU source is Modal PAYG overage at the same rates — at current volumes even 10× growth is ~$10–30/mo, and every workload we run is batch-shaped, so nothing needs a standing GPU. Break-glass option: the GitHub-hosted gpu-t4-4-core larger runner, used only when a job must run inside Actions and cannot wait for Modal — it costs ~4× Modal's L4 rate for an older T4, so it is never the default. Third-party GPU Actions runners are the middle rung for CI-shaped work only, with prices re-verified at decision time (they move fast). Local used-GPU purchase and OCI both stay parked behind their stated conditions (a recurring always-on need appearing; Drew lifting the OCI hold, respectively) — neither condition holds today.

    Acceptance check: (1) four questions answered with evidence — done in body; (2) single recommendation + break-glass named — recorded above; (3) OCI hold respected — yes, evaluation only throughout.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area/infraInfrastructure, deployment, and operationseffort/sSmall: expected under 2 hours of workkind/designA design proposal (design-architect): multi-step, phased, decision-bearingmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedpriority/normalOrdinary priority (the default)source/humanFiled directly by a humantask/triageQueue packet kind: verify, reproduce, and route this item

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions