What's wrong with simd_inverse?

When using simd_inverse functions, the same input yields different results on different devices.

On the Mac mini with M4 pro and M3 ultra, the result is But on the Mac mini of M2 ultra, the result is

Answered by Engineer in 856068022

Hi,

We don't guarantee absolute numerical consistency across different devices. There are many hardware and software factors that can all introduce subtle differences.

Hi,

We don't guarantee absolute numerical consistency across different devices. There are many hardware and software factors that can all introduce subtle differences.

That is accurate and appreciate the helpful reply. ^

As suggested there are a lot of factors with significant impact e.g. pro versus ultra architecture, number of cores, software differences etc.

In Metal, if you need greater precision you can disable fast-math but that doesn't necessarily guarantee lower variance between devices.

What's wrong with simd_inverse?
 
 
Q