title: Supplying seed to Stan doesn't guarantee the same chains
body: <p>I was trying to compare the run time of two very much equivalent but slightly different models. But the chains will always take very different time based on the random numbers sampled. So I tried to fix this supplying the same <code>seed</code> parameter to <code>stan()</code>. </p>
  
  <p>I tried this running the same model two times. Unfortunatelly, I found out that even the same seed will not guarantee that the process will produce the same samples! And the run time of the chains in both runs is also very different! </p>
  
  <pre><code>100 iterations, 50 warmup, 15 chains
  
  1st run: total 57.42 seconds, chain 14: 4.515 seconds, chain 15: 2.782 seconds; 
  2nd run: total 76.99 seconds, chain 14: 2.703 seconds, chain 15: 4.125 seconds.
  </code></pre>
  
  <ol>
  <li><p>How is it possible that seed doesn't guarantee the same chains in Stan?</p></li>
  <li><p>How can this be guaranteed?</p></li>
  </ol>
  
  <p>The following options were used to run Stan (rstan version 2.5.0):</p>
  
  <pre><code>t1 &lt;- proc.time()
  out7.5b &lt;- out &lt;- stan(fit = fit7.5b, data = win.data, init = inits,
      pars = params,
        iter = ni, warmup = nb, chains = nc, seed = 123)
  t2 &lt;- proc.time()
  print(t2 - t1)
  </code></pre>