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

Normal random numbers

travel1
ビギナー
423件の閲覧回数

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 件の賞賛
3 返答(返信)
Noah_C_Intel
従業員
423件の閲覧回数

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.

travel1
ビギナー
423件の閲覧回数

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?

Andrey_N_Intel
従業員
423件の閲覧回数

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

返信