56 ms·
Determinism is largely impossible due to arbitrary ordering of GPU threads and non-associativity of floating point operations
by beecafe 4y ago
Determinism is largely impossible due to arbitrary ordering of GPU threads and non-associativity of floating point operations
- thewataccount 4y agoIs this true for LLMs and not for at least Stable Diffusion? Stable Diffusion is largely deterministic, with the main issues mainly when switching between software or hardware versions of torch, GPU architectures, CUDA/CUDANN, etc. Or perhaps I'm wrong about Stable Diffusion too?
- mattnewton 4y agoI thought so too, but I run a stable diffusion service, and we see small differences between generations with the same seed and same hardware class on different machines with the same CUDA drivers running in parallel. It’s really close but there will be subtle differences, (that a downstream upscaler sometimes magnifies), and I haven’t had the time to debug/understand this.
- thewataccount 4y agoAh okay that makes sense. In my experience I've only noticed differences when the entire composition changes so I'm guessing it's near pixel level or something? I assume they're the most noticeable with the ancestral samplers like euler a and the DPM2 a (and variants)?