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...
Main Authors: | , , |
---|---|
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 |