For two different machines to produce the same output (GPU speaking), they must follow these rules:
Therein lies the difference between the two arguments we're making.
Is floating point arithmetic deterministic? Yes.
Can I run the same code across multiple vendors' hardware and expect identical results? No, that's not what I said or claimed.
The fact that the same code can produce different results on different hardware doesn't make "float operations non-deterministic". Saying things like "non-deterministic across machines" is a not really a very good use of terms. The results are deterministic on machine A and deterministic on machine B, but the fact that you can't predict the output on Machine C doesn't mean "float operations are non-deterministic".
If floating point operations were non-deterministic they'd be great source of random numbers!