Российские математики разработали библиотеку для генерации псевдослучайных чисел
Следи за успехами России в Телеграм @sdelanounas_ruГруппа математиков из Научного центра Черноголовки РАН (НЦЧ РАН) разработала библиотеку для генерации псевдослучайных чисел, рассчитанную на использование в компьютерах завтрашнего дня и которая на самом деле пригодна для работы в сегодняшних системах любого масштаба, начиная от простого ноутбука. Суть новой библиотеки описана ими в статье, которая будет опубликована в мартовском номере журнала Computer Physics Communications (импакт-фактор: 3,112).
Несмотря на кажущуюся легкость задачи -- разработать алгоритм,
который генерирует большое количество случайных чисел — найти их источники крайне трудно. В мире существует масса случайных
процессов, начиная от простого подбрасывания монетки и кончая
невероятным множеством физических шумов, таких например, как
космическое излучение, дробовой шум в резисторе, шум, возникающий
в счетчиках Гейгера
Алгоритмы, на которых строятся эти генераторы, заранее определены и, следовательно, способны генерировать последовательности чисел, которые теоретически не могут быть случайными. Они способны только аппроксимировать генерируемые ими числовые последовательности к по-настоящему случайным. Примечателен по этому поводу афоризм создателя современной архитектуры компьютеров Джона фон Неймана, сказавшего однажды: «всякий, кто питает слабость к арифметическим методам получения случайных чисел, грешен вне всяких сомнений».
Начав применяться в криптографии, эти генераторы быстро стали востребованными в самых различных областях, главным образом -- в числовом моделировании. И требования к таким генераторам постоянно ужесточаются. Их качество часто становится задачей первостепенной важности. Так, например, недостатки одного из алгоритмов под названием RANDU, десятилетиями использовавшегося в мощных компьютерах, будучи вскрыты в конце прошлого века, привели к тому, что достоверность результатов множества исследований, использовавших этот алгоритм, была поставлена под сомнение.
Библиотека псевдослучайных чисел, созданная в Черноголовке, содержит реализации сразу нескольких наиболее современных алгоритмов генерации таких последовательностей, в том числе и алгоритмов, разработанных авторами статьи. Процедуры библиотеки позволяют генерировать до 1019 независимых потоков случайных чисел, что позволяет использовать библиотеку на любых существующих суперкомпьютерах. По словам одного из соавторов работы, Льва Щура, заместителя председателя НЦЧ РАН по научной работе, длина этих потоков, на которой гарантируется случайность, вообще астрономическая, она оценивается порядком в 1020 -- 1030 чисел. Причем сами эти процедуры удалось существенно ускорить за счет использования расширенного набора команд AVX, появившихся в процессорах Intel и AMD два года назад. В результате скорость реализации последовательностей удалось удвоить по сравнению с предыдущей версией библиотеки, она, как заявляют авторы разработки, в 40 раз выше скорости алгоритмов, написанных на языке ANSI C, бывшего основным стандартным языком программирования до конца прошлого века.
Одними из лидеров в отношении создания подобных библиотек считаются фирмы Intel и NVIDIA. Преимуществом своей библиотеки профессор Щур считает наличие там пяти-шести вариантов генераторов, разработанных в Черноголовке. «Не бывает такого, что мы взяли и сделали лучше всех, -- говорит он. -- В каких-то вещах предпочтительнее наша разработка, в каких-то -- разработки этих фирм. Всегда хорошо иметь возможность какой-то альтернативы. Фактически работа ведется параллельно с ведущими фирмами».
Сама идея такой библиотеки, рассказывает Щур, возникла еще в 2006-м году. Дальше был длительный и довольно сложный процесс патентования идеи, закончившийся только в прошлом году. Это весьма важный этап, считает он.
«Само наличие патента, — говорит он, — означает, что можно выпустить на его основе некоторую микросхему, и если эту микросхему поставить на уже имеющуюся плату, то вся плата оказывается защищенной этим патентом. Такая защищенность патентом в некоторых случаях может оказаться довольно важной».
По словам Щура, работа библиотеки была проверена на трех тысячах графических карт, что было в тот момент своеобразным рекордом. Проверка осуществлялась на различных суперкомпьютерах, в том числе на суперкомпьютерах «Келдыш» и «Ломоносов», и на всех этих картах библиотека работала устойчиво. Авторы разработки утверждают, что их библиотека может прекрасно работать при проведении численного моделирования методом Монте-Карло (используемый в компьютерах метод, основанный на получении большого числа реализаций случайного процесса) на системах любого масштаба.
Кстати, а вы знали, что на «Сделано у нас» статьи публикуют посетители, такие же как и вы? И никакой премодерации, согласований и разрешений! Любой может добавить новость. А лучшие попадут в телеграмм @sdelanounas_ru. Подробнее о том как работает наш сайт здесь👈
05.02.1604:19:13
14.02.1604:40:51