AMD readies a fix for Ryzen FMA3 bug

The first major bug affecting AMD's new Ryzen processors was found a couple weeks ago by folks using the open-source processor benchmark Flops. In short, certain sequences of code using instructions from the FMA3 expansion to the x86-64 ISA can cause Ryzen machines to hang irrevocably. That means that even software running inside a VM could force a hang-and-restart on a Ryzen host. Fortunately, just days after the discovery was made, AMD confirmed to Digital Trends that it has already identified the issue and that it's preparing firmware updates to distribute to motherboard vendors.

Originally created by Alexander "Mystical" Yee for his own purposes, Flops first appeared on the web as a response to a question at Stack Overflow. In the creator's own words, the app seeks to "get as many FLOPS as possible from an x64 processor." The software's first version was targeted at Intel Sandy Bridge processors. Mystical eventually updated the app with five specific branches targeting Core 2, Bulldozer, Piledriver, and Haswell CPUs.

It's the Haswell build that gives Ryzen trouble, as it makes heavy use of FMA3 instructions to extract maximum parallelism from the CPU cores. Loading up the Haswell build of Flops v2 on a Ryzen machine will quickly make it hang. Folks on the HWBOT forums leaped into action testing Flops in other scenarios to confirm that the issue is related to the Zen core. As a result, all current Ryzen processors and motherboards are affected.

It's good news that AMD already has a fix coming, although it's worth noting that the likelihood of encountering this bug in the wild is vanishingly small. Not only is there little software using FMA instructions (after all, they're only supported on Haswell and later Intel processors), but the hang is triggered by a specific series of instructions. Other applications using FMA instructions, including Prime95 and Y-Cruncher, aren't affected by the bug. Still, if you have a Ryzen machine, best go ahead and install those BIOS updates when they arrive.

Tip: You can use the A/Z keys to walk threads.
View options

This discussion is now closed.