> I don't know about fictional compilers, but gcc and clang will produce programs that behave differently from compile to compile where __DATE__ or __TIME__ is used
That's not non-determinism, is it?
> Where for a stable input the compiler produces a stable output. A non-deterministic compiler does not necessarily equate to a non-deterministic program
In case of LLMs that you're desperately trying to equate compilers to that's exactly what it is.
If I take a compiler and run it on an input in debug and release mode, with an extremely high degree of confidence I'll get the same working program (with the deterministic difference in debug logging etc.)
For most compilers determinism is such that people can often predict the final output (down to assembly instructions emitted by C++ compilers). Or target specific intermediate modes directly when needed.
If I take LLMs and change literally any variable from 0/0/0, I will get entirely unpredictable uncontrollable random output.
> If you wanted to talk about something completely different why not start a new thread?
Your vague and non-vague ad hominims are getting tiresome.
Adieu.
> That's not non-determinism, is it?
In the context of discussion, yes, as the only input is considered to be the source code. It is both non-deterministic in compiler output and in program function (two different builds of the same code will produce programs that do different things). Side channel inputs like time are not considered here. If you are trying to start a new thread again and you want to include time as an input in that discussion, then no. However, the same is true of LLMs. They are 100% always deterministic when all inputs are accounted for.
Obviously. Working computers fundamentally cannot operate non-deterministically, although in the real world can appear to when some or all inputs are not accounted for. The discussion is premised on non-determinism meaning "some inputs are ignored".