I started playing with CUDA some days ago. Now I want to move into more serious stuff. But therefor I need several functions not available within the SDK. The GSL (http://www.gnu.org/software/gsl/) is a collection of C-functions containing more than I need.
It would be great to have at least a subset of the functionality available on our device. I would start with the random number generators.
Some questions on how to procceed:
0) Does it make sense? Is work in that direction done already?
Would one generate separate functions for the host and the device. Like hostFunc() and devFunc() or is there a more elegant way to do so? Well, the hostFunc() could just be left as func() in the GSL and a new function devFunc() could be generated.
Anybody interested in joining into this effort. My time (as probably the time of many of you) is limited, a joined effort would increasee power. Going paralllel all way :)
A scalable parallel random number generator can be found here http://sprng.cs.fsu.edu/. Maybe we should adopt that one instead of GSL?
Any comments welcome.
Footnote on random numbers:
- I know that generating random numbers with differnt seeds and merging the results is theroretically unsound but in my tests for seeds 1 to 100 and got decent results.