Введение

Бесплатное приложение для поиска простых чисел. Несмотря на то, что большая часть исходного кода находится в открытом доступе, Prime95 не является свободным и открытым программным обеспечением, поскольку в лицензионном соглашении с конечным пользователем указано, что если программное обеспечение используется для обнаружения простого числа, претендующего на вознаграждение, предлагаемое Electronic Frontier Foundation, то это вознаграждение будет получено и распределено GIMPS.

Поиск простых чисел Мерсенна путем добровольных вычислений

Prime95 проверяет числа на простоту с помощью теста простоты Ферма (внутренне называемого PRP, или "вероятное простое число"). На протяжении большей части своей истории он использовал тест простоты Люка-Лемера, но возможность получения заданий Люка-Лемера была прекращена в апреле 2021 года для увеличения пропускной способности поиска. В частности, для защиты от ошибочных результатов каждый тест Люка-Лемера должен был выполняться дважды целиком, в то время как тесты Ферма можно проверить за небольшую часть их первоначального времени выполнения, используя доказательство, сгенерированное во время теста программой Prime95. Текущие версии Prime95 по-прежнему способны проводить тестирование Люка-Лемера для двойной проверки существующих результатов Люка-Лемера и для полной проверки результатов теста Ферма, обозначенных как "вероятно простые" (которые, в отличие от результатов Люка-Лемера, признанных "простыми", не являются окончательными). Для уменьшения количества необходимых полных тестов на простоту, Prime95 также реализует другие, вычислительно более простые тесты, предназначенные для отсеивания неперспективных кандидатов; по состоянию на 2021 год, это в основном алгоритм Полларда p – 1. Метод факторизации на основе эллиптических кривых и алгоритм Уильямса p + 1 реализованы, но считаются бесполезными на современных уровнях тестирования GIMPS и в основном используются при попытках факторизации гораздо меньших чисел Мерсена, которые уже прошли проверку на простоту. Prime95 реализует пробное деление, но поскольку этот тип работы может выполняться с использованием арифметики одинарной точности (в отличие от арифметики двойной точности, необходимой для других типов задач GIMPS), почти все пробное деление GIMPS выполняется сторонними клиентами, реализующими вычисления на GPU для обеспечения значительно большей пропускной способности при использовании одинарной точности. С момента основания в 1996 году GIMPS обнаружил 17 новых простых чисел Мерсена, все с использованием Prime95. Каждое из них было самым большим известным простым числом на момент открытия, за исключением M37156667 и M42643801, которые были обнаружены не по порядку относительно большего M43112609.

Использование для стресс-тестирования

Для достижения максимальной производительности поиска, большая часть Prime95 написана на тщательно оптимизированном ассемблере, что значительно увеличивает потребление системных ресурсов по сравнению с большинством других компьютерных программ. Кроме того, из-за высокой точности, необходимой для проверки чисел на простоту, программа крайне чувствительна к вычислительным ошибкам и активно сообщает о них. Благодаря этим факторам, Prime95 часто используется оверклокерами для проверки стабильности конкретной аппаратной конфигурации.