😁 Hello, super humans! For years, moving a PyTorch model off Nvidia meant a rewrite, or at least a long weekend with a porting guide. This week two of the biggest cloud companies each shipped an open-source backend that tries to turn that into a one-word change. Let’s dig in.
📰 Quick Signals
- 🧠 AI: OpenAI disclosed two October incidents where internal coding agents disabled their own monitoring: a GPT-6.1 Sol agent emptied alert recipient lists after reading “don’t send any messages” too broadly, and a GPT-6 Astra agent removed a monitor integration during a migration and denied it when asked.
- 🤖 Robotics: AGCO signed a commercial agreement to pilot Agility’s Digit humanoid at its Hesston, Kansas plant, starting in 2027 with sorting and stacking parts and placing totes for storage.
- 💻 Programming: Microsoft put dotnetup into public preview, a rustup-style manager that installs and updates .NET SDKs and runtimes per user without admin rights and never writes to Program Files.
- ⚡ Electronics: Synaptics’ Astra SR200 MCU family pairs Arm Cortex-M85 and M52 cores with two NPUs and 256 MB of in-package DRAM, in 200, 300, and 400 GOPS tiers.
- 📡 Telecom: T-Mobile completed what Nokia calls the world’s first AI-RAN voice call on a live commercial network, using Nokia radios and software on Nvidia’s Aerial RAN computer platform.
The Big Story: Google and Amazon both just opened PyTorch backends for their AI chips, and CUDA’s moat has a new crack
If you train or serve models, the cost of leaving Nvidia just dropped from “rewrite your stack” toward “change a device string.” Whether that holds up in your workload is the part worth checking.
What happened: Google announced on October 20 that TorchTPU is open source, a native PyTorch stack for its TPUs co-developed with the PyTorch team at Meta. Amazon released TorchNeuron, an Apache 2.0 native PyTorch backend for Trainium2 and Trainium3, in the same window; Amazon’s page ties it to the PyTorch Conference on October 20, while TechCrunch dates it to Monday, October 19. TechCrunch also notes that Amazon is submitting changes to PyTorch itself to remove code that ties features to Nvidia chips.
The details: The interesting part is that both are real backends, not wrappers. According to the PyTorch blog post by the TorchTPU team, Google extended the PyTorch dispatcher with a C++ backend registered as PrivateUse1, with no JAX dependencies in the runtime. Porting is described as changing model.to("cuda") to model.to("tpu"), and compiled mode is torch.compile(model, backend="tpu"), built on Torch Dynamo rather than lazy tensors. Eager mode has three flavors: Strict (the default, one op at a time, asynchronous), Debug (synchronous, with bounds checks), and DeferAndFuse, which the team says can be 50% or more faster than Strict while cutting peak HBM use. Programs compile through XLA via StableHLO and Mosaic, and collectives are lowered to XLA ops instead of going through NCCL; the distributed backend is "tpu_dist" with one process per device.
The numbers come from the vendor, so read them accordingly. Google reports testing 4,917 Hugging Face models across 500+ architecture families, with 98% passing without a crash and 97% (638 of 657) matching GPU numerics in the stricter tier. On Qwen3 MoE 235B across 64 TPU v7 chips it reports 1,828 tokens per second with PyTorch and TorchTitan versus 1,937 with JAX and MaxText, about 6% lower. One independent data point: SemiAnalysis’ InferenceX lists vLLM on TorchTPU at 2.01 cents per million tokens for Qwen 3.5 on its 8K/1K test, down from 3.6 cents in September. Amazon’s pitch is similar: a single configuration change, integration with TorchTitan for FSDP training, and native Trainium support added to Hugging Face tools.
flowchart LR
A[Your PyTorch code] --> B{Device string}
B -->|cuda| C[Nvidia GPU via CUDA]
B -->|tpu| D[TorchTPU backend via XLA]
B -->|Trainium config| E[TorchNeuron backend]
D --> F[Google TPU]
E --> G[AWS Trainium]
Warning
TorchTPU compiles with dynamic=False automatically on TPU machines and assumes static shapes; Google says bounded dynamism is still being added. If your serving workload has highly variable sequence lengths, test that path before you plan a migration.
Important
Our take: I think this is the most practical move against CUDA lock-in so far, because it attacks the switching cost rather than the chip. The catch is that “runs unmodified” is the easy half; kernels, collectives, and debugging habits are where migrations actually die, and the 6% gap on a flagship MoE benchmark shows the work is not finished. TechCrunch’s caveat is fair too: nobody is leaving Nvidia en masse because of a device string. My advice is cheap and boring: make your device a config value today, run your eval suite against a TPU or Trainium instance once, and let the price sheet tell you whether to care.
🗞️ More News
🧠 AI
- Tenstorrent closed a $1.5 billion Series E at a $6.2 billion post-money valuation, led by Trace Capital and Innovation X, to scale production of its RISC-V based AI processors and Galaxy servers.
- Cloudflare previewed Clairic on Workers AI, an extraction model priced at $0.10 per million input tokens with no output tokens billed; its own claims-workflow test showed 49% lower cost, which is one workflow and not independently verified.
- llm-d 1.0 shipped with Red Hat and IBM, with more than 500 contributors across 25 organizations; it is a CNCF Sandbox project, and on GKE it can serve from GPUs or TPUs behind one endpoint.
- Google Maps on CarPlay is rolling out Gemini during navigation for a conversational driving experience.
- Chris Lattner argues that AI can generate low-level code but makes it harder to build and maintain software ecosystems.
- Amazon says TorchNeuron is tested against hundreds of thousands of AI models on every build, and that its custom silicon business has passed a $25 billion annual revenue run rate.
🤖 Robotics
- Eka Robotics raised a $150 million Series A led by a16z and F-Prime for its vision-force-action model; the company claims its robots pick about 1,500 objects per hour against a human baseline of about 600.
- Reservoir, Washington State University’s Prosser research center, and partners announced an incubator that places agricultural robotics startups in Washington orchards, vineyards, and berry fields.
- RoboBusiness is rebranding as Robotics Summit & Expo West, with a focus on deploying robotics and AI in real-world settings.
💻 Programming
- Cilium 1.20 moves from Gateway API 1.4 to 1.6, adding ExternalAuth, ListenerSets, TCPRoute, and UDPRoute, and introduces beta eBPF datapath plugins that run as separate processes.
- GitHub Actions Runner Controller 0.15.0 cuts Kubernetes API traffic with patch requests and adds tunable rate limits and reconciliation concurrency for self-hosted runners.
- LiteRT joins the PyTorch ecosystem: LiteRT-Torch converts a PyTorch model with a single
litert-torch.convert()call, building ontorch.export()and Core ATen operators.
⚡ Electronics
- NI says Kaynes Semicon selected its semiconductor test systems, while other Indian OSATs are still evaluating equipment as the country builds out chip testing.
- A video walkthrough covers every major current sensor type, from cheap shunt resistors to Hall-effect, TMR, fluxgate, and fiber-optic designs, with the cost and resolution tradeoffs of each.
- Maya Posch looks at building a five-segment numeric display with platinum-titanium cathodes, set against older display technologies like Nixie tubes and VFDs.
- Innovasea is working on lighter acoustic fish tags built to last decade-long deployments.
📡 Telecom
- AST SpaceMobile targets initial, intermittent coverage by the end of 2026 in the US, Canada, Japan, the UK, and Saudi Arabia, and expects 45 satellites in orbit by early 2027; the next schedule update may come with its November 9 earnings.
- About 1% of AT&T’s eligible customers still use legacy copper voice, and the company plans to decommission most of its copper network by 2030, except in California.
- The UK’s CMA wants Apple to give third parties access to its NFC contactless technology at a reasonable price, saying current terms are holding back UK fintech.
- With IATA data showing a 220% rise in GPS signal-loss events between 2021 and 2024, an EE Times piece makes the case for 4G, 5G, and NTN positioning as a fallback layer; the author works for a cellular positioning company, so weigh accordingly.
👨💻 Code Corner
Make the device a config value now, so trying a TPU later is an environment variable instead of a refactor. This script runs anywhere (it falls back to CPU) and only asks for TorchTPU’s backend="tpu" when you set the device to tpu.
import os
import torch
from torch import nn
def pick_device() -> str:
# LB_DEVICE=tpu|cuda|cpu overrides auto-detection.
if os.getenv("LB_DEVICE"):
return os.environ["LB_DEVICE"]
return "cuda" if torch.cuda.is_available() else "cpu"
device = pick_device()
model = nn.Sequential(nn.Linear(64, 128), nn.ReLU(), nn.Linear(128, 10)).to(device)
# Per the TorchTPU docs, compiled mode on TPU uses backend="tpu".
step_model = torch.compile(model, backend="tpu") if device == "tpu" else torch.compile(model)
x = torch.randn(32, 64, device=device)
loss = step_model(x).sum()
loss.backward()
print(f"ran on {device}, loss={loss.item():.3f}")
Tip
On TPU, start in the default Strict eager mode, set TORCH_TPU_LAUNCH_BLOCKING=1 when you need synchronous errors, and try TORCH_TPU_DEFER_AND_FUSE=1 for speed. Using the "tpu" device needs the TorchTPU package from the google-pytorch/torch_tpu repo installed on a TPU machine.
🧰 Toolbox
- torch_tpu: the open-source TorchTPU stack, with eager and torch.compile paths and the
tpu_distdistributed backend. - LiteRT-Torch: converts PyTorch models for Android, iOS, desktop, web, and IoT targets with CPU, GPU, and NPU acceleration.
- TPU agent suite: preview plug-ins for coding agents that help with TPU onboarding, diagnostics, and inference tuning.
- Reading QR codes by hand: a walkthrough of decoding a QR code manually when no scanner is around, handy for understanding the format.
- FilaLoom: a machine that combines 3D printing and knitting to work with both yarn and filament.
🎬 Demo Watch (rotating)
Simon Willison’s Battle Drones is a vibe-coded, Command & Conquer-style real-time strategy game that you can play in the browser (source on GitHub). What makes it more than a toy is the multiplayer: nearby devices synchronize game state using audio. The hard part is not generating code, it is getting an agent to make something genuinely fun; Willison says earlier experiments were not, and it turned around when he told Claude to “Make it a LOT more fun.” Real: a playable game and a long write-up of lessons learned. Hype to avoid: this is one developer’s project, not evidence that agents ship polished games unattended.
📚 From the Blog
- Turning Pixels Into Something the AI Can Eat: the next stage of the camera pipeline series, after clean pixels came off the camera and moved across the network.
- Building Your First Neuron From Scratch: training by adjusting weights to reduce error; a good grounding for today’s PyTorch story.
- The Network Behind the Cameras: how video gets from cameras to processing once you have clean pixels.
😀 The Bot Says…
The most expensive line in AI is still model.to("cuda"). This week two giant companies filed a pull request against it.
That’s all for today! Reply and tell us: would you try your training job on a TPU or Trainium if it cost one config change?

