3 ms·
Naw - computers are really deterministic. It's hard to get them to behave otherwise. As I understand it, if you turn down the temperature to 0 you get repeata
by qarl 27d ago
Naw - computers are really deterministic. It's hard to get them to behave otherwise.
As I understand it, if you turn down the temperature to 0 you get repeatable behavior - EXCEPT - on large servers with lots of users - the GPU can sometimes produce slightly different results based on batch size.
- joe_the_user 27d agoUnless you have something exotic, the randomness that's adding to a computer is a combination of how it's configured combined with a pseudo-random number generator. I assume the system adds entropy to the generator regularly but all you need to do is fix the various supposedly random inputs and you can get full determinism even without zero temperature.
- qarl 27d agoYes, in theory, of course. In practice - on a multitasking OS with input from multiple human users - it's hard to get it deterministic because of that GPU scheduling thing I mentioned.
- fc417fc802 27d agoGPU scheduling only affects the result due to buggy optimizations. It's the exact same mechanism as fp rounding error on the CPU or updates to globally shared PRNG state. We use lots of buggy optimizations because they don't matter in practice in most situations (see ex -ffast-math).
- qarl 27d agoI don't know the details but apparently it has something to do with multiprocess contention for the GPU and batch sizing.
- fc417fc802 26d agoRight but regardless, it's a buggy optimization. The calculations are all fully deterministic when done "properly" and fully consistently but we almost never bother with that because it slows things down and the errors don't matter in practice 99% of the time.
- qarl 26d agoAGREED. Although whoever designed that architecture might take issue with your description as "buggy".
- goodmythical 27d agoIf computers were fully deterministic, we wouldn't need error correcting ram. The abstracted design of the machine is meant to be deterministic, but you can't predict before running any command whether or not it will complete because there are externalities that effect the outcome. Electromagnetic interference even happens in-chip where an electron can accidentally escape it's wire and enter another, possibly resulting in an error, but not every time. It's even been used as an attack vector where rapidly flipping a bit increases the likelihood that a neighbor bit is also flipped, but the method is probabalistic, not deterministic.
- qarl 27d agoYes. In theory they are deterministic. In practice, not so much.
- budman1 27d agoThose non-deterministic results are exceedingly rare.
- qarl 27d agoWhen human input is involved, like I described elsewhere, it happens frequently.
- lioeters 27d agoAs long as the machine is part of the larger universe, and not completely isolated in its own bubble of space-time (an impossible situation, an object without an environment) - it cannot be purely deterministic because of the fundamental nature of physics.
- mitxela 26d agoSo your theory is that arithmetic is nondeterministic because very rarely a calculator will say 1+1=3.