Currently, you seem to ask “can I run my stuff anywhere and expect it to be reproducible” and the answer is just “no”.
The first step to a more detailed answer would be to narrow the problem by a lot.
“I want to do X and I have platforms that are exactly identical except for Y.” could be something that could be worked on. (Note, though, that the general interest seems to be mostly in having reproducibility in the sense of non-random behavior rather than implementing it.)
In the end, the crux is that floating point operations don’t commute (nor does the distributive property work out exactly).Then crux is that things are not guaranteed to run in the exact same order e.g. on different hardware because the difference in hardware might actually mean that things are translated to different GPU kernels or some such.
Best regards
Thomas