On Mon, Jan 30, 2012 at 8:21 PM, Andreas Kloeckner
On Sat, 28 Jan 2012 18:21:29 -0500, Thomas Wiecki
> I am currently revisiting this but having some problems with the
> random number generator.
> generator.generators_per_block is 512 on my card, so I initialize 512
> generators, but I see that some of them don't produce random numbers
> when sampling from them. I notice that in some subtle ways (mainly
> that the distribution is not correct or all numbers are the same) if I
> sample from more than 300-350 generators (always the last ones are
> affected), but it's fine when using e.g. 128. So it seems I can only
> use a smaller number of generators than what the card says I should be
> able to use.
> Any idea on why that might be or how to investigate this further?
Mysterious. What generator is this using? XORWOW? Tomasz, any ideas?
Currently revisiting this with updated everything. So far I can't
reproduce my earlier odd behavior (after a certain size the random
numbers generated did not look random anymore).
One thing I did notice was that before generators_per_block returned
512, while now it returns 384. Interestingly that seems in the same
ball-park as the number I found empirically before (see above).
Was that a (Py)Cuda/curand bug perhaps that got fixed in the interim?
On Fri, Dec 23, 2011 at 10:21 PM, Andreas Kloeckner
Not for 2D arrays, but for 1D-arrays-viewed-as-2D-arrays--that's
generator.fill_uniform() for example. There was a doc bug that kept
these from showing up, fixed.
What is a 1D-arrays-viewed-as-2D-arrays?
Is the key the call to prepared_async_call()? Does this method take
care of calling the function the appropriate number of times if the
array to fill is bigger than generators_per_block?
Would this method help me if I had my own random process that I wanted
to use on arbitrary large array sizes?