Dear mailing list subscribers, Parallel programming excels at computing vast amounts of data simultaneously. This leads to high demands on random number generators, both when it comes to producing random numbers quickly and with a good quality factor/high period. Good random number generators like Ranlux provides the ability to choose what trade-off you want between speed and quality (the "luxuary" factor).
As many of you might know, there are a lot of issues with clrandom, for example the high execution time on some platforms. Also, some of my colleagues recently discovered that with more and more random numbers, the quality quickly become worse and worse. I've been talking a bit to Andreas about implementing a better PRNG in PyOpenCL, for example Ranlux or Mersenne Twister (which I believe numpy is based on). Unfortunatley, I am not skilled enough to do so, and Andreas seems to have a lot on his plate at the moment. So what I'm asking is if anyone already has implemented a better PRNG in PyOpenCL, or is interested in doing so. I suspect that it would be possible to get a lot of the job done for free by using implementations done directly in OpenCL. Here is an example of implementing Mersenne Twister: http://www.pgroup.com/lit/articles/insider/v2n2a4.htm I also happen to have the source code for a Ranlux implementation with C++ as host programming language, if anyone is interested. I believe that a better PRNG is something that all of us will benefit greatly from. Yours sincerely, Patric Holmvall
_______________________________________________ PyOpenCL mailing list [email protected] http://lists.tiker.net/listinfo/pyopencl
