Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

Normal random numbers

travel1
Beginner
371 Views

vsRngGaussian( method, stream, n, r, a, sigma ) using stream from VSL_BRNG_SFMT19937 random generator.

Three options for method:
VSL_RNG_METHOD_GAUSSIAN_BOXMULLER
VSL_RNG_METHOD_GAUSSIAN_BOXMULLER2
VSL_RNG_METHOD_GAUSSIAN_ICDF

How they differ in precision and speed?

0 Kudos
3 Replies
Noah_C_Intel
Employee
371 Views

Hi, the following resource can explain things in far greater detail than I can through the forum!

http://software.intel.com/sites/products/documentation/hpc/mkl/vslnotes/vslnotes.pdf

Here is also an excellent resource for performance on the options you listed

http://software.intel.com/sites/products/documentation/hpc/mkl/vsl/vsl_performance_data.htm

Please let me know if you have any further questions after checking this out.

0 Kudos
travel1
Beginner
371 Views

Hi! Thank you for the response. I understand how they are different in formulas and speed. According to tables VSL_RNG_METHOD_GAUSSIAN_ICDF - is fastest, however it requires evaluation of inverse of Laplace integral. How precise is this calculation? Do you know the precision for different methods? What should I use?

0 Kudos
Andrey_N_Intel
Employee
371 Views

Hi Alexander,

The approximations which we use in Intel(R) MKL RNGs are sufficent for Monte Carlo simulations where statistical error dominates. This is confirmed by the extensive statistical testing whose details are described in VSL Notes available at http://software.intel.com/sites/products/documentation/doclib/mkl_sa/11/vslnotes/index.htm. Inverse method might be the choice for your applications.

Andrey

0 Kudos
Reply