Re: [DISCUSS] Seeding and determinism on multi-gpu systems.

2018-01-19 Thread Domhan, Tobias
thanks for bringing this topic up, Kellen! It would indeed be great if we could make sure to have reproducible results indepent of the concrete device id someone is using. Just a thought: How about decoupling the seeding from the concrete device ids while still allowing a different seed for

Re: [DISCUSS] Seeding and determinism on multi-gpu systems.

2018-01-09 Thread Chris Olivier
This is what I was asking about: https://www.unix.com/man-page/POSIX/3posix/random/ POSIX standard stating that given a seed, the output must be deterministic. On Tue, Jan 9, 2018 at 7:58 AM, kellen sunderland < kellen.sunderl...@gmail.com> wrote: > Sorry if I'm misunderstanding your question

Re: [DISCUSS] Seeding and determinism on multi-gpu systems.

2018-01-09 Thread kellen sunderland
I think the convention is that random generators in most modern languages are always seeded, and always deterministic. If a user seed isn't supplied, implementations generally provide their own seed, which they attempt to make unique. Often they generate a seed that takes into account the

Re: [DISCUSS] Seeding and determinism on multi-gpu systems.

2018-01-09 Thread Chris Olivier
wait wait — i don’t think that random number generators should return deterministic lists of numbers. i’m asking if something says it’s supposed to. i know they tend to, but my understanding is that they tend to because of the challenge of generating true random numbers from hardware. IMHO the

Re: [DISCUSS] Seeding and determinism on multi-gpu systems.

2018-01-09 Thread kellen sunderland
Thanks Asmus, yes this is also the approach I would be in favour of. I think we should optionally allow the user to specify if they want deterministic behaviour independent of the GPU they run on. If MXNet is going to support more arbitrary linear algabra operations I could see a lot of use

Re: [DISCUSS] Seeding and determinism on multi-gpu systems.

2018-01-09 Thread Asmus Hetzel
The issue is tricky. Number generators should return deterministic sets of numbers as Chris said, but that usually only applies to non-distributed systems. And to some extend, we have already a distributed system as soon as one cpu and one gpu is involved. For the usual setup like distributed

Re: [DISCUSS] Seeding and determinism on multi-gpu systems.

2018-01-08 Thread Chris Olivier
Is it explicitly defined somewhere that random number generators should always return a deterministic set of numbers given the same seed, or is that just a side-effect of some hardware not having a better way to generate random numbers so they use a user-defined seed to kick off the randomization