logicsrc/docs/opengpu.md
Anthony Ettinger be2d67b8c3
docs: OpenCPU, OpenMemory, OpenGPU and OpenBandwidth, the resources of a server purchase (#163)
Four resource specifications under OpenServer, one per thing that is
negotiable when a server is bought. Each is the block of an OpenServer
offer (compute, memory, gpu, network) written down on its own, with the
units OpenServer 0.1 already uses (vcpu, cores, ram_mb, vram_mb,
bandwidth_mbps, transfer_gb, ipv4, ipv6) and one new shape shared by all
four: `range`, the field a buyer can dial at checkout, its bounds, the
step and what a step costs on top of the base price.

- OpenCPU: threads against cores, the processor by its vendor name,
  dedicated, shared or burstable allocation.
- OpenMemory: mebibytes, DDR generation, ECC as three states, reserved,
  balloonable or shared; wins over compute.ram_mb when both are present.
- OpenGPU: the card by its vendor name, count and VRAM per device,
  interconnect, passthrough, MIG, vGPU or shared access.
- OpenBandwidth: port, four meters (transfer, unmetered, percentile,
  flat), overage, IPv4 and IPv6 addresses as a priced resource.

A provider that sells only one resource lists it as an OpenServer offer
and may serve the same document at /.well-known/<slug>.json. Landing
pages share one component (resource-spec-page.tsx). Registered in
DOC_SLUGS, NAV, STATIC_ROUTES and llms.txt. OpenServer, OpenFile and
OpenDisk arrive in sibling PRs.


Claude-Session: https://claude.ai/code/session_014cmNRtR2vL1p89dbVQ7FZJ

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-12 18:59:05 -07:00

7.3 KiB

OpenGPU

OpenGPU is the shape of one resource in a server purchase: the accelerator. It says which GPU an offer has, how many, how much memory each carries, how they are joined, whether the buyer gets the whole card or a slice of it, and how many more a buyer may add at checkout and for how much. It is the gpu block of an OpenServer offer, written down on its own so a cloud selling H100 hours, a peer renting a gaming card and a directory that filters on VRAM all mean the same thing by the same key. It is maintained by Profullstack, Inc. as part of the LogicSRC open-standards surface.

Status: 0.1. One of five resource specifications under OpenServer: OpenCPU, OpenMemory, OpenDisk, OpenGPU and OpenBandwidth. Each describes one thing that is negotiable when a server is bought.

Slug: opengpu

The problem

GPU pricing is the most volatile and least comparable line in hosting. The same card is sold whole, as a MIG slice, as a time-shared vGPU and as a peer's idle desktop, at prices an order of magnitude apart, and a listing that says "1x A100" has said almost nothing: 40 GB or 80 GB, PCIe or SXM, NVLinked to its neighbours or not. The peer-to-peer markets move by the minute and publish their own schemas. A buyer's agent asked for "two 80 GB cards with NVLink, under 4 an hour, in stock" reads six catalogs six ways.

This document fixes the words, and it fixes them so a marketplace listing and a hyperscaler SKU can sit in one column.

Terms

  • The gpu block is the gpu object on an OpenServer offer, inside compute as OpenServer 0.1 places it, or beside it.
  • Access is how the buyer reaches the silicon: the whole device, a hardware partition, a virtualised share, or a time-shared queue.
  • An interconnect is how the cards in one offer talk to each other.
  • A range is what the buyer may change at checkout, with the price of changing it.

The gpu block

{
  "gpu": {
    "model": "NVIDIA H100 SXM",
    "vendor": "NVIDIA",
    "count": 8,
    "vram_mb": 81920,
    "arch": "Hopper",
    "interconnect": "nvlink",
    "access": "passthrough",
    "fraction": 1,
    "driver": "550",
    "runtime": "CUDA 12.4",
    "range": {
      "key": "count",
      "min": 1,
      "max": 8,
      "step": 1,
      "price": { "amount": 2.49, "currency": "USD", "interval": "hour", "per": 1 }
    }
  }
}

The smallest valid block states the model:

{ "gpu": { "model": "NVIDIA RTX 4090" } }

The rules, and every one degrades:

  1. model is required. It is the card as the vendor names it, unchanged, including the form factor when the vendor distinguishes one (NVIDIA H100 SXM, NVIDIA H100 PCIe, AMD Instinct MI300X). vendor is the maker. arch is the vendor's architecture name.
  2. count is how many devices the offer includes; absent means 1. vram_mb is the memory of one device in mebibytes, the same unit OpenServer uses. 80 GB is 81920. A reader multiplies by count for the total and never assumes the provider did.
  3. interconnect is how the devices in the offer are joined: nvlink, nvswitch, infinity-fabric, pcie, or none when they are independent cards. It describes the offer, so a single card states nothing here.
  4. access is one of passthrough, mig, vgpu, shared. passthrough is the whole device. mig is a hardware partition and fraction or profile says which: profile is the vendor's name (1g.10gb), fraction the share as a decimal (0.125). vgpu is a virtualised share with fraction. shared is time-sliced with neighbours and no fixed share. Absent means unstated, and a directory that sorts by VRAM says so beside the number.
  5. driver and runtime are what the provider installs by default, as version strings; absent means the buyer installs their own. A bare-metal offer usually states nothing here.
  6. range is the negotiable part. key is count, min, max and step bound it, and price is the cost per per devices at the offer's interval, on top of the base price. A provider that offers several cards lists one offer per model, because a model is a name, not a number.
  7. Position. OpenServer 0.1 places gpu inside compute. A provider may also place it at the top level of the offer; a reader looks in both places and a block at the top level wins.
  8. Unknown keys are kept. A provider may say more; a reader passes it through under the provider's key.

GPU as its own offer

GPU is already an OpenServer kind, because the accelerator is what is sold and the host beside it is incidental. An offer of kind: gpu states the block and a price, and the compute and memory around it describe the host:

{
  "id": "h100-1",
  "name": "H100 80GB x1",
  "kind": "gpu",
  "compute": { "vcpu": 26, "arch": "x86_64" },
  "memory": { "ram_mb": 229376 },
  "gpu": { "model": "NVIDIA H100 SXM", "count": 1, "vram_mb": 81920, "access": "passthrough" },
  "price": { "amount": 2.49, "currency": "USD", "interval": "hour" },
  "stock": "in_stock"
}

A peer-to-peer market lists each ask the same way with model: p2p on the offer, and the market's updated on the offer says how fresh the price is. A provider whose file is only accelerator offers may serve it at /.well-known/opengpu.json; the shape is OpenServer's and the name says what is in it. A reader that only wants accelerators filters on the presence of a gpu block or kind: gpu.

What a directory does with it

  1. Keeps the model string and normalises beside it. NVIDIA H100 SXM and H100-SXM5-80GB are the same card; the directory matches them for search and shows the provider's spelling.
  2. Shows access beside VRAM. A MIG slice of an H100 and a whole H100 share a model and differ in everything else.
  3. Computes the per-device price from price and count, so a row for 8 cards and a row for 1 sort together, and says it did.
  4. Reads stock with its timestamp. GPU stock is the field that goes stale first, and a directory shows when each row was read.

What is deliberately absent

No benchmarks or TFLOPS. Vendor throughput figures depend on precision, sparsity and clock, and no two vendors quote them alike. A provider that wants to state them does so under its own key; a directory that measures publishes its own numbers under its own name.

No reservation calendar. Whether a card is free next Tuesday is the provider's scheduler. stock says now.

No spot or preemptible flag. OpenServer's price.commitment and the offer's url carry the terms; a provider selling the same card at a spot price lists a second offer.

  • OpenServer: the descriptor, the gpu kind and the offer this block sits in.
  • OpenCPU, OpenMemory, OpenDisk, OpenBandwidth: the other four resources of a purchase, each with the same range shape.
  • OpenSwarm and c0mpute: a peer renting its card lists it with this block and settles under OpenSwarm.

Version history

Version Date Change
0.1 2026-09-13 First publication: the gpu block, four access modes, interconnects, the range, position inside or beside compute.

License

The specification text is CC BY 4.0. Serve it, copy it, extend it.