You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Use an Base.AbstractRNG as a super type for your RNG class and implement necessary methods to work with AbstractRNG derivatives. This would provide compatibility with Julia RNG interface.
The text was updated successfully, but these errors were encountered:
I didn't know Julia has AbstractRNG type, thanks. However, I don't think it's a good idea to bind CURAND functions to it. Here's a couple of reasons:
original cuRAND doesn't support most operations that AbstractRNG should support (e.g. randexp, randperm. shuffle, sprand, etc.); probably we can add them using custom kernels, but it's not trivial at all
most AbstractRNG-related methods operate on AbstractArray, and CudaArray doesn't implement it (for a good reason);
two APIs are not consistent anyway, e.g. cuRAND's randn() takes mean and stddev parameters, while Julia's doesn't; cuRAND has curand_logn and curand_poisson, Julia instead has randexp, etc.
On other hand, it's worth to make API more "similar" to that of Julia, so I'll work it out today.
Use an
Base.AbstractRNG
as a super type for your RNG class and implement necessary methods to work withAbstractRNG
derivatives. This would provide compatibility with Julia RNG interface.The text was updated successfully, but these errors were encountered: