If you ran an LLM with infinite precision and guaranteed order of execution, it would be deterministic.
(I think determinism is overrated. Being deterministic does not make LLMs more reliable or correct.)
At the end of the day, an LLM is just a very big mathematical function. That is, by definition, deterministic. A particular implementation might give up on determinism for the sake of higher efficiency, but it you want a deterministic LLM, it can absolutely be done.
Put another way: if you could have a virtualization layer that guarantees deterministic floating point operations then a LLM set to 0.0 temp would produce deterministic output.