# Beyond CUDA: the lock was never the silicon

> Lab 017 · Editorial lab · Status: published  
> Published by The Advisor Bench LLC · Layer2C Labs

**Question:** Lab 002 ruled that the weights are the asset you keep, and every step of that ruling ran on NVIDIA: the box trained, the box served, and the cloud comparison was NVIDIA-backed. So the verdict carried an untested assumption. Does the workflow that produces and serves owned weights actually require CUDA, or is CUDA just where everyone happens to be standing? This lab reran the Lab 002 fine-tune on a rented AMD MI300X, brought the weights home to Apple silicon, and held everything else constant: same base model, same training set, same frozen thirty questions, same recipe down to the learning rate.

**Load:** The Lab 002 fine-tune and serving workload, rerun with the silicon as the only variable: Low-Rank Adaptation (LoRA) training on rented AMD Instinct MI300X, serving on an owned Mac and on the rented card, quality judged under one rebuilt gate.

## Executive Summary

Lab 002 proved the weights are the asset, entirely on NVIDIA silicon. This lab moved every stage of that workflow off CUDA and measured what actually changed. Training: the identical LoRA recipe ran six times faster on a rented MI300X than on the owned Spark, for 29 cents. Serving: the tuned weights came home to a Mac and outran the original box. Quality: parity with the Spark-trained original under every instrument that survived scrutiny. The silicon was never the lock.

The two real findings sit either side of the compute. Below it: access. Three hyperscalers could not or would not rent the AMD part this lab needed, while a neocloud published its shelf inventory in an API and delivered in seconds. Above it: validation. The rebuilt judge gate claimed the 70B beat the 8B by 2.5x, and the claim did not survive a human read or a deterministic quote check. Which model tier pays off turned out to be a property of the validator, not the model.

## DAPM Table — Authority Verdict

| Layer | Placement |
| --- | --- |
| layer0 | Delegated |
| layer2b | Retained |
| layer2c | Retained |

## Detailed Writeup

The availability ladder answered Lab 002’s own open question first. Does a neocloud actually deliver access? Four venues, one afternoon. GCP: no accelerator provisioning at any tier, including a CPU. AWS: rents NVIDIA accelerators fine, and this practice has rented L40S there, but its only AMD GPU is a 2020 graphics part, and an L40S is not an answer to a 192GB high-bandwidth-memory question. Azure: the only hyperscaler that sells the MI300X, in 2 of its 17 priced regions for this account, family quota zero, spot quota 3 virtual CPUs against a 96-CPU box. The scope of that ladder is AMD Instinct-class silicon, not accelerators generally. The wall is specific to leaving CUDA. Hot Aisle: a GET request returned shelf quantity, a POST returned a running VM, and the first inference token came 8 minutes after the provision call.

Training moved without friction that mattered. Identical recipe, identical data. The MI300X ran Lab 002’s 35-minute fine-tune in 5.8 minutes for 29 cents, converging to the same loss over the same 111 steps. The 70B, the tier that was relationship-gated out of existence in June, trained in 89 minutes for $8.89 across two cards. The frictions worth logging were a stale package index, an offline-cache bug in the image’s Python stack, and the author’s own process mistakes. Nothing ROCm-specific broke, at any point, in the whole campaign.

Serving came home. The merged 8B served unquantized on the Mac at 26 tokens per second: the laptop outran the Spark serving the same weights in Lab 002. The dense 31B that crawls at 10 tokens per second across two clustered Sparks ran 5.6x faster on one rented card, and at 64 concurrent streams the card delivered commodity-token economics on owned weights, about 42 cents per million output tokens. Lab 002 found that custom weights cost $27.50 per million on the managed floor. That floor was never physics. It was packaging.

The dual-card question answered itself. A 70B fits whole on one 192GB card; the second card bought 1.6x single-stream speed for 2x cost, a latency purchase, not an efficiency one. And the owned two-Spark cluster, serving the same tuned 70B, delivered 3.2 tokens per second. The rented single card beat the owned cluster 7.2x. Owned compute at this tier is a sovereignty floor, not a serving tier. The weights run at home on nobody’s quota; when speed matters, you rent the hour.

The gate ate the headline. The original judge script was lost and its judge model retired, so the gate was rebuilt from the frozen contract and calibrated against Lab 002’s archived outputs. The rebuilt gate read grounded more strictly: the archived 70% baseline scored 27% under it. Fine. Re-baseline, compare relatively. The AMD-trained 8B matched the Spark-trained original within noise, so the training venue cost nothing. Then the strict gate said the 70B wins by 2.5x, and that number survived exactly until a human read the outputs. The wording difference is not perceptible. Mechanical quote verification agreed with the human: both models cite real quotes at parity, 99 and 100 percent, one fabricated citation out of 178. The judge pair was not detecting fabrication. It was expressing taste.

Four instruments, four verdicts, one set of outputs. The lenient original gate said the 8B was saturated. The strict rebuilt gate said the 70B wins by 2.5x. Deterministic verification said parity. Human reading said parity. So the question an Enterprise Architect actually asks, does the bigger model pay off, has no answer until you answer a prior question: measured by what? The validator is the control point, and the validator itself requires validation. That is the campaign’s standing thesis arriving from the measurement side, and it is the finding this lab keeps.

## Assessments at the Time of the Lab

| Vendor | Layer | Grade | As assessed |
| --- | --- | --- | --- |
| AMD Instinct, EPYC & Enterprise AI Suite | Layer 0 · Compute | The Second Source — Silicon Across All Three Sub-Layers | August 10, 2026 |
| AMD Instinct, EPYC & Enterprise AI Suite | Layer 2B · Runtime | Serving Catalogue on a Standard Endpoint, No Distributed Inference Plane | August 10, 2026 |
| AMD Instinct, EPYC & Enterprise AI Suite | Layer 2C · Reasoning | Structurally Out of Reach Without a Data Layer | August 10, 2026 |
| NVIDIA AI Platform | Layer 0 · Compute | NVIDIA Strength — Silicon Authority | July 31, 2026 |
| NVIDIA AI Platform | Layer 2B · Runtime | NVIDIA Authority — Inference + Agent Runtime | July 31, 2026 |

## Method and Disclosure

Self-funded editorial, no sponsor; the comped Hot Aisle credit is disclosed in the independence line. Every measurement ran under one frozen contract: same training set, same eval set, same retrieval index, same prompts as Lab 002. The only variable was silicon.

Training was Low-Rank Adaptation (LoRA) via the same trainer and recipe as Lab 002, on rented MI300X capacity. Serving was measured on the rented cards, an owned Mac (MLX, fp16), and the owned two-Spark cluster, with the same bench harness throughout. The judge gate was rebuilt from the frozen contract after the original was lost, calibrated against archived outputs, and then itself became a finding when mechanical verification and human reading overruled it.

The raw detail ships at the download link: the availability-ladder data, every bench table, the training configs, the complete friction log including the author’s own mistakes, and the cost ledger with the staging split. The training set, eval set, adapters, and judges stay with the practice.

---
*Layer2C Labs · The Advisor Bench LLC · labs.layer2c.com*
