A TPU precision trap that silently changes fp32 matmuls
JFPuget · x · 2026-07-20
The post highlights a TPU-specific pitfall: although users may request fp32 matmuls, TPUs can still execute them in bf16 by default.
A training flag called --lm-head-precision highest may look like it protects quality, but the author says it does nothing in practice because of this TPU behavior. The screenshot shows a JAX example where an fp32 input still ends up using the default precision path on TPU, and the point is that this is documented behavior — not a hidden bug.
The author says even Google researchers have been bitten by this issue repeatedly. The takeaway is that precision assumptions on TPU can be misleading, so practitioners need to understand the platform’s default execution semantics rather than relying on flags that appear reassuring.
More from Infra
- Nvidia Rubin is coming, pointing to the next AI compute platform — ezyang · 2026-07-21
- Tesla’s FSD v14 Lite is reportedly headed to 4 million older HW3 cars — MatthewBerman · 2026-07-21
- TSMC’s 3nm utilization reportedly tops 120% as AI demand drives a $190B capex cycle — tengyanAI · 2026-07-21
- Nativ brings local AI model running to Mac with a desktop app and localhost API — Simon Willison · 2026-07-21
- Octen says agent search now runs at 62ms P50 with only a 6ms P90 gap — aakashgupta · 2026-07-21
- Zhipu acquires a compiler-team spinout to optimize AI inference on domestic chips — zephyr_z9 · 2026-07-21