Группа математиков из Научного центра Черноголовки РАН (НЦЧ РАН) разработала библиотеку для генерации псевдослучайных чисел, которая рассчитана на использование в компьютерах завтрашнего дня и которая на самом деле пригодна для работы в сегодняшних системах любого масштаба, начиная от простого ноутбука. Суть новой библиотеки описана ими в статье, которая будет опубликована в мартовском номере журнала Computer Physics Communications.
В мире существует масса случайных процессов, начиная от простого подбрасывания монетки и кончая невероятным множеством физических шумов, таких, например, как космическое излучение, дробовой шум в резисторе, шум, возникающий в счетчиках Гейгера. Однако используются эти шумы довольно редко. Причин тому много, одна из них — опасность грубых атак на устройства, основанные на этом. Поэтому уже давно в технике применяются так называемые генераторы псевдослучайных чисел.
Алгоритмы, на которых строятся эти генераторы, заранее определены и, следовательно, способны генерировать последовательности чисел, которые теоретически не могут быть случайными. Они способны только аппроксимировать генерируемые ими числовые последовательности к по-настоящему случайным. Библиотека псевдослучайных чисел, созданная в Черноголовке, содержит реализации сразу нескольких наиболее современных алгоритмов генерации таких последовательностей, в том числе и алгоритмов, разработанных авторами статьи. Процедуры библиотеки позволяют генерировать до 1019 независимых потоков случайных чисел, что позволяет использовать библиотеку на любых существующих суперкомпьютерах. По словам одного из соавторов работы Льва Щура, заместителя председателя НЦЧ РАН по научной работе, длина этих потоков, на которой гарантируется случайность, вообще астрономическая, она оценивается порядком в 1020–1030 чисел.
По словам Щура, работа библиотеки была проверена на 3 тыс. графических карт, что было в тот момент своеобразным рекордом. Проверка осуществлялась на различных суперкомпьютерах, в том числе на суперкомпьютерах «Келдыш» и «Ломоносов», и на всех этих картах библиотека работала устойчиво. Авторы разработки утверждают, что их библиотека может прекрасно работать при проведении численного моделирования методом Монте-Карло (используемый в компьютерах метод, основанный на получении большого числа реализаций случайного процесса) на системах любого масштаба.