Applying AVX512 vectorization to improve the performance of a random number generator

The generation of uniformly distributed random numbers is necessary for computer simulation by Monte Carlo methods and molecular dynamics. Generators of pseudo-random numbers (GPRS) are used to generate random numbers. GPRS uses deterministic algorithms to calculate numbers, but the sequence obtaine...

Full description

Bibliographic Details
Main Authors: M. S. Guskova, L. Yu. Barash, L. N. Shchur
Format: Article
Language:English
Published: Ivannikov Institute for System Programming of the Russian Academy of Sciences 2018-10-01
Series:Труды Института системного программирования РАН
Subjects:
Online Access:https://ispranproceedings.elpub.ru/jour/article/view/457
id doaj-c61ed54c12c640669a67f56dab68057f
record_format Article
spelling doaj-c61ed54c12c640669a67f56dab68057f2020-11-25T00:44:09Zeng Ivannikov Institute for System Programming of the Russian Academy of SciencesТруды Института системного программирования РАН2079-81562220-64262018-10-0130111512610.15514/ISPRAS-2018-30(1)-8457Applying AVX512 vectorization to improve the performance of a random number generatorM. S. Guskova0L. Yu. Barash1L. N. Shchur2Научный центр РАН в Черноголовке; Национальный исследовательский университет «Высшая школа экономики»Научный центр РАН в Черноголовке; Национальный исследовательский университет «Высшая школа экономики»; Институт теоретической физики им. Л.Д. ЛандауНаучный центр РАН в Черноголовке; Национальный исследовательский университет «Высшая школа экономики»; Институт теоретической физики им. Л.Д. Ландау; Вычислительный центр им. А.А. Дородницына ФИЦ ИУ РАНThe generation of uniformly distributed random numbers is necessary for computer simulation by Monte Carlo methods and molecular dynamics. Generators of pseudo-random numbers (GPRS) are used to generate random numbers. GPRS uses deterministic algorithms to calculate numbers, but the sequence obtained in this way has the properties of a random sequence. For a number of problems using Monte Carlo methods, random number generation takes up a significant amount of computational time, and increasing the generation capacity is an important task. This paper describes applying SIMD instructions (Single Instruction Multiple Data) to parallelize generation of pseudorandom numbers. We review SIMD instruction set extensions such as MMX, SSE, AVX2, AVX512. The example of AVX512 implementation is given for the LFSR113 pseudorandom number generator. Performance is compared for different algorithm implementations.https://ispranproceedings.elpub.ru/jour/article/view/457псевдослучайные числаsimd инструкциитехнология avx-512
collection DOAJ
language English
format Article
sources DOAJ
author M. S. Guskova
L. Yu. Barash
L. N. Shchur
spellingShingle M. S. Guskova
L. Yu. Barash
L. N. Shchur
Applying AVX512 vectorization to improve the performance of a random number generator
Труды Института системного программирования РАН
псевдослучайные числа
simd инструкции
технология avx-512
author_facet M. S. Guskova
L. Yu. Barash
L. N. Shchur
author_sort M. S. Guskova
title Applying AVX512 vectorization to improve the performance of a random number generator
title_short Applying AVX512 vectorization to improve the performance of a random number generator
title_full Applying AVX512 vectorization to improve the performance of a random number generator
title_fullStr Applying AVX512 vectorization to improve the performance of a random number generator
title_full_unstemmed Applying AVX512 vectorization to improve the performance of a random number generator
title_sort applying avx512 vectorization to improve the performance of a random number generator
publisher Ivannikov Institute for System Programming of the Russian Academy of Sciences
series Труды Института системного программирования РАН
issn 2079-8156
2220-6426
publishDate 2018-10-01
description The generation of uniformly distributed random numbers is necessary for computer simulation by Monte Carlo methods and molecular dynamics. Generators of pseudo-random numbers (GPRS) are used to generate random numbers. GPRS uses deterministic algorithms to calculate numbers, but the sequence obtained in this way has the properties of a random sequence. For a number of problems using Monte Carlo methods, random number generation takes up a significant amount of computational time, and increasing the generation capacity is an important task. This paper describes applying SIMD instructions (Single Instruction Multiple Data) to parallelize generation of pseudorandom numbers. We review SIMD instruction set extensions such as MMX, SSE, AVX2, AVX512. The example of AVX512 implementation is given for the LFSR113 pseudorandom number generator. Performance is compared for different algorithm implementations.
topic псевдослучайные числа
simd инструкции
технология avx-512
url https://ispranproceedings.elpub.ru/jour/article/view/457
work_keys_str_mv AT msguskova applyingavx512vectorizationtoimprovetheperformanceofarandomnumbergenerator
AT lyubarash applyingavx512vectorizationtoimprovetheperformanceofarandomnumbergenerator
AT lnshchur applyingavx512vectorizationtoimprovetheperformanceofarandomnumbergenerator
_version_ 1725276095607996416