Открыть сервис

Prime95

Prime95 — это бесплатное прикладное программное обеспечение для операционной системы Microsoft Windows, предназначенное для поиска простых чисел Мерсенна. Программа является клиентским приложением проекта распределённых вычислений Great Internet Mersenne Prime Search (GIMPS). Помимо основной задачи, Prime95 широко используется для стресс-тестирования стабильности центральных процессоров (ЦП) и оперативной памяти (ОЗУ) компьютера.

История

Проект GIMPS был основан программистом Джорджем Вольтманом (George Woltman) в 1996 году. Первая версия программы, изначально называвшаяся просто «Mersenne Prime Search», была выпущена в том же году. Вскоре программа была переименована в Prime95, чтобы подчеркнуть её основную функцию — проверку чисел на простоту. Вольтман разработал и оптимизировал алгоритмы, позволяющие эффективно выполнять тест Люка — Лемера на персональных компьютерах.

С момента своего создания Prime95 претерпела множество обновлений. Ключевые версии включали:

  • Версия 24.x (2002): Добавлена поддержка многопоточности, что позволило использовать многоядерные процессоры.
  • Версия 25.x (2005): Внедрена поддержка 64-битных операционных систем и наборов инструкций SSE2.
  • Версия 27.x (2010): Оптимизация для процессоров с архитектурой Sandy Bridge (Intel) и Bulldozer (AMD).
  • Версия 29.x (2017): Добавлена поддержка технологии AVX-512, используемой в процессорах Intel Skylake-X и Xeon Phi.
  • Версия 30.x (2020): Внедрение нового алгоритма проверки простоты (PRST) и поддержка новых наборов инструкций (AVX2, AVX-512).

На протяжении всей истории Prime95 оставалась ключевым инструментом для поиска простых чисел Мерсенна. По состоянию на 2024 год с её помощью было найдено большинство из известных крупнейших простых чисел, включая рекордное число M82589933, обнаруженное в декабре 2018 года.

Функциональность

Поиск простых чисел Мерсенна

Основная функция Prime95 — участие в проекте GIMPS. Программа загружает из интернета список кандидатов в простые числа Мерсенна (числа вида 2^p - 1, где p — простое число) и проверяет их на простоту с помощью теста Люка — Лемера. Пользователь может выбрать, какие типы заданий выполнять:

  • Тест Люка — Лемера (LL): Основной тест для проверки чисел Мерсенна.
  • Тест PRP (Probable Prime): Вероятностный тест, который быстрее LL, но не даёт абсолютной гарантии простоты. Используется для предварительной проверки.
  • Факторизация: Поиск малых делителей чисел Мерсенна, что позволяет отсеять заведомо составные числа без проведения полного теста.

Стресс-тестирование

Prime95 получила широкую известность в сообществе энтузиастов компьютерного «оверклокинга» (разгона) как один из самых эффективных инструментов для проверки стабильности системы. Причина этого — высокая вычислительная нагрузка, создаваемая тестом Люка — Лемера, которая задействует все ядра процессора на 100% и интенсивно использует кэш-память и оперативную память. Нестабильный процессор или память, работающие на повышенных частотах, часто приводят к ошибкам вычислений, которые Prime95 фиксирует и сообщает пользователю.

Встроенные режимы стресс-теста:

  • Small FFTs (малые БПФ): Тест, в первую очередь нагружающий ядра процессора и кэш L1/L2, минимально используя ОЗУ.
  • In-place large FFTs (большие БПФ на месте): Тест, нагружающий кэш L3 и контроллер памяти.
  • Blend (смешанный): Комбинированный тест, чередующий различные размеры БПФ для максимальной нагрузки на процессор, кэш и ОЗУ.

Технические особенности

Алгоритмы

Prime95 использует высокооптимизированные реализации алгоритмов быстрого преобразования Фурье (БПФ) для выполнения теста Люка — Лемера. Основные алгоритмы:

  • Тест Люка — Лемера: Итеративный алгоритм, который проверяет, делится ли число Мерсенна на простое число. Для чисел размером в миллионы цифр требуется выполнение миллионов итераций.
  • Факторизация методом пробного деления: Поиск малых делителей числа.
  • Факторизация методом Полларда (p-1): Более эффективный метод для поиска делителей, имеющих определённую структуру.
  • Эллиптическая кривая факторизации (ECM): Используется для поиска делителей чисел, которые не удалось найти другими методами.

Оптимизация под архитектуры

Программа активно использует аппаратные возможности современных процессоров:

  • Наборы инструкций: SSE2, AVX, AVX2, AVX-512, FMA3, FMA4. Использование этих инструкций позволяет выполнять несколько операций с плавающей запятой за один такт процессора.
  • Многопоточность: Prime95 поддерживает многопоточность, что позволяет задействовать все ядра и потоки процессора для параллельных вычислений.
  • Кэш-память: Алгоритмы оптимизированы для эффективного использования кэш-памяти различных уровней (L1, L2, L3), что критически важно для производительности.

Применение

Научное

Основное применение Prime95 — участие в проекте GIMPS, который ставит перед собой задачу поиска новых простых чисел Мерсенна. Эти числа имеют теоретическое значение в теории чисел, в частности, в связи с совершенными числами. Кроме того, проект служит платформой для тестирования и оптимизации алгоритмов факторизации и проверки простоты.

Инженерное и пользовательское

Prime95 является стандартом де-факто для стресс-тестирования процессоров и памяти. Её используют:

  • Оверклокеры: Для проверки стабильности системы после разгона.
  • Сборщики ПК: Для проверки правильности сборки и отсутствия дефектов компонентов.
  • Производители оборудования: Для тестирования прототипов и серийных образцов процессоров и материнских плат.
  • Обычные пользователи: Для диагностики проблем с перегревом или нестабильной работой компьютера.

Критика и ограничения

Несмотря на широкую популярность, Prime95 имеет ряд критических замечаний:

  • Чрезмерная нагрузка: Некоторые пользователи отмечают, что Prime95 создаёт нагрузку, значительно превышающую типичные сценарии использования компьютера. Это может приводить к ложным срабатываниям защиты от перегрева или к повреждению процессора при недостаточном охлаждении.
  • Несовместимость с некоторыми конфигурациями: Программа может некорректно работать с некоторыми моделями процессоров или материнских плат, особенно при использовании экстремальных режимов разгона.
  • Отсутствие графического интерфейса в некоторых версиях: Для опытных пользователей командная строка может быть предпочтительнее, но для новичков интерфейс может показаться сложным.
  • Проблемы с безопасностью: Как и любое программное обеспечение, Prime95 может иметь уязвимости, хотя они редко встречаются и быстро исправляются разработчиками.

Интересные факты

  • Prime95 является одной из самых старых и наиболее активно развивающихся программ для распределённых вычислений.
  • С её помощью было найдено 17 из 18 известных на 2024 год простых чисел Мерсенна.
  • Программа используется не только для поиска простых чисел, но и для тестирования новых алгоритмов и архитектур процессоров.
  • В 2018 году с помощью Prime95 было найдено самое большое известное простое число на тот момент — M82589933, состоящее из 24 862 048 цифр.

Источники

  • Официальный сайт проекта GIMPS: mersenne.org
  • Документация к программе Prime95.
  • Статьи и обзоры на сайтах, посвящённых компьютерному оборудованию и разгону (например, Tom's Hardware, AnandTech, Overclockers.ru).
  • Научные публикации по теории чисел и алгоритмам проверки простоты.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →