pi
Super Pi
Метки: pi | super | XS | скачать
Дата: 15/09/2010 19:40:36
Подписаться на комментарии по RSS
Super PI
Метки: Pi | Super | тестирование
Дата: 21/08/2010 13:20:17
Подписаться на комментарии по RSS
О программе. История Super Pi.
Super PI - это бенчмарк, разработанный для измерения вычислительной мощности процессора и использующий алгоритм вычисления числа π. Результат считается тем лучше, чем за меньшее время происходит расчёт заданного числа знаков после запятой числа π.
Первым рассчитал число π с помощью ЭВМ G.W. Reitwiesner в 1949 году, точность расчёта составила 2,037 знаков после запятой. Вычисления производились на компьютере ENIAC. Первый расчет до 500,000 десятичных знаков после запятой произвели J. Guilloud и M. Dichampt в 1967 году на компьютере CDC 6600. После этого, в 1973 году было вычислено 1,001,250 десятичных знаков - J. Guilloud и M. Bouyer на компьютере CDC 7600. Очередной рекорд мира был поставлен Токийским университетом «Информационная наука», D. Takahashi и Y. Kanada в 1995 году, 4,294,960,000 (вдумайтесь в это число!), используемый компьютер - HITAC S-3800/480 (двухпроцессорная система).
Программа была разработана в 1995 году в университете Токио «Информационная наука» (области исследования лаборатории: высокопроизводительные вычисления и компьютерная алгебра). Процессом разработки руководили доцент Yasumasa Kanada и научный сотрудник Akira Yoshioka, активное участие принимали студенты-выпускники этого университета. Первая версия имела название Super PI 0.1, версия, которая вышла в свет - Super PI 1.0. То, что мы называем Super PI, является портированной на ОС Windows версией программы с языка Фортран на Си. Программа сперва завоевала популярность у японских оверклокеров, но затем ею стали пользоваться во всём мире.
Алгоритм. Знакомство с интерфейсом.
Super PI использует алгоритм Гаусса-Лежандра (также называемый алгоритмом Брента-Саламина). Начальное условие:
Итерации повторяются до тех пор, пока разница между a и b не удовлетворяет требуемой точности:
π аппроксимируется следующим выражением:
Первые три итерации дадут следующие результаты:
- 3,140…
- 3,14159264
- 3,1415926535897932382…
Алгоритм имеет второй порядок аппроксимации, поэтому число полученных знаков после запятой удваивается с каждым шагом алгоритма. Поскольку нулевая итерация вычисляет 2 знака числа π, то для нахождения 16K знаков нужно 13 итераций (2*2^13=16384). Аналогично, 19 итераций вычислят π с точностью 2*2^19=1M знаков после запятой, а 24 итерации – до 32M.
Сам тест состоит из одного файла - Super Pi.exe. Запустив его, мы увидим следующее окно:
В заголовке окна мы видим название версии, "mod1.5 XS", далее три кнопки и результаты каждого подтеста.
Кнопка "Help" вызывает файл справки super_pi.hlp, потому не стоит удивляться реакции программы, если у вас его нет и в папке лежит только Super_Pi.exe. Кнопка "about" вызывает окно, где автор программы кратко рассказывает об истории теста.
При нажатии на кнопку "Calculate ( C )", либо Alt+C в английской раскладке, то мы увидим окно, где находится поле со списком для выбора количества знаков после запятой для расчёта. Выбираем нужную точность и жмём "OK". Выбор обычно стоит между точностью 1M и 32M, поскольку именно они приняты на HWBot.org и являются стандартами де-факто в бенчмаркинге.
Следом нам выпадает окошко, где говорится, что сейчас начнётся расчёт с заданной точностью, с чем и соглашаемся.
Полученный результат с окошком о завершении расчёта (т.е. не нажимая ничего в тесте) сохраняем, обычно вместе с двумя окнами CPU-Z (CPU и memory).
Тест стабильности. История версий.
Тест Super PI также используется в качестве инструмента измерения стабильности системы. Например, различают "1M stable" - способность проходить короткий тест Super PI и "32M stable" - способность проходить длинный тест Super PI. Длинный тест пи говорит об относительной стабильности разгона подсистемы памяти и его используют для первичной оценки частот и настроек на устойчивость. Однако, не стоит забывать, что тест является однопоточным, а потому в реалиях многоядерной эпохи его актуальность в качестве стресс-теста падает. Полагаю, излишне упоминать, что использовать данный тест в качестве проверки на стабильность постоянно используемой системы не стоит - есть специализированные программы, гораздо лучше для этого подходящие.
История версий
- Super PI 1.1 - версия, благодаря которой программа и стала известной всем. Считала результат только с точностью до секунд и не была защищена от взлома
- Super PI mod 1.4 - отличалась от предыдущей тем, что показывала время вычисленияс точностью до тысячных секунды, что повышало её ценность для измерения скорости всё более производительного железа
- Super PI mod 1.4 + cheksum validator - аналогична предыдущей, но добавлено создание контрольной суммы времени расчёта и возможность регистрации результата на сайте. Также сделана защита от читов - при определении такой попытки, программа "вылетает"
- Super PI mod XS 1.5 - сделана на основе версии 1.4, но доработан алгоритм вычисления числа π (улучшена последовательность действий) и сделана регистрация на сайте XS
- Super PI mod 1.6 - сделана энтузиастами с сайта techPowerUp! на основе версии 1.5 XS. Исправлена ошибка при работе с Windows Vista и изменён адрес сайта валидации
- Super PI SSE2 - сделана на основе версии 1.1, но в расчёте использованы потоковые инструкции SSE2
- Super PI SSE3 - аналогично, но добавлена поддержка SSE3 инструкций
Оптимизация
Советы по аппаратной оптимизации
- самое очевидное – разгон процессора, чем больше – тем лучше. Тест (особенно короткий π) чрезвычайно чувствителен к частоте. При этом помните, что тест однопоточный и если есть возможность, понижайте частоту или отключайте остальные ядра
- частота и тайминги памяти. При этом частота более важна для длинного теста π (32M). Для короткого оптимальнее баланс частоты и таймингов
- многоканальный режим доступа к памяти – три канала, например, для LGA1366 и два – для всех остальных
- объём памяти. Интересный пункт – для старых систем важен тем, что памяти для расчёта 32M требуется достаточно много – желательно иметь объём, превосходящий 256МБ. Для новых систем – важен работой механизма чередования банков памяти (interleaving). Чем больше банков памяти установлено в системе, тем выше скорость работы памяти. Простейший способ удвоить число банков памяти – использовать двухсторонние модули, например, 2ГБ DDR3 вместо 1ГБ DDR3. Этим объясняется разница в скорости между системами LGA1366 с 3ГБ и 6ГБ. Стоит заметить, что больший объём памяти разгоняется хуже в силу большего количества чипов на канале памяти (за счёт паразитной ёмкости), а также другой технологии (при использовании более плотных чипов, например, 512Мбит чипы DDR2 против 1Гбит чипов)
- Не обновлять микрокод процессора. Делается, например, прошивкой версии BIOS, не поддерживающей данное семейство процессоров, либо выключением соответствующего пункта в BIOS (если имеется)
Советы по оптимизации ОС
Первое, что стоит учесть – эффект от того или иного твика зависит от конкретной платформы и ядра процессора. Порой эффект может быть даже отрицательным на некоторых системах. Таким образом, опыт – критерий истины в этом вопросе. Для короткого теста обычно предпочитают использовать Windows XP, а для длинного – Windows Server 2003.
- модификация дистрибутива с помощью nLite. Тут надо быть аккуратным, дабы, как хирург, не отрезать лишнего. Нам нужна файловая система NTFS (так как данный бенчмарк используют далеко не на самой стабильной системе, для нас важна высокая надёжность файловой подсистемы) с максимальным размером кластера в разделе диска. После форматирования нужно будет создать файл общим объемом 512/1024МБ в зависимости от объёма оперативной памяти для того, чтоб потом файл подкачки можно было бы оставить в начале диска. После того, как мы установили операционную систему, делаем файл подкачки нулевым и перезагружаемся. Далее удаляем тот большой файл и ставим фиксированный размер свопа и перегружаемся. И только после этого дефрагментируем всё из безопасного режима или другой операционки
- использование азиатской версии Windows (китайской, либо японской)
- Установка каких-либо драйверов не рекомендуется
- Встречаются советы выставить меньшее разрешение и 16-битную цветовую палитру
- далее посоветуем две культовые статьи: Руководство по настройке Windows2000/XP/2003 и Настройка сервисов в Windows2000/XP/2003. Не забываем, что отключение сервисов не всегда может положительно сказываться на результате (особенно касается короткого π). Для Superpi 32M обычно даёт прирост
- Дефрагментация сторонними утилитами (помогает для Super PI 1M по причине дефрагментации файла подкачки), например O&O. Рекомендуется проводить дефрагментацию после каждого удаления системных файлов
- Выставление maxmem=104. Делается следующим образом – Пуск=>Выполнить=>msconfig. Выбираем закладку boot.ini=>Дополнительно=>Выбираем галочку /MAXMEM= и выставляем значение в 104 для Super PI 1M. Для Super PI 32M обычно выставляют 600МБ
- Выставление параметров secondlevelcache и largesystemcache в реестре (см. статью про настройку WinXP). Также могут помочь ключи "ClearPageFileAtShutdown"=dword:00000001, "EnableSuperfetch"=dword:00000001 (в отличие от прежних добавляется не в MemoryManagement, а MemoryManagement\PrefetchParameters)
- остановка процессов explorer.exe и userinit.exe (убиваются через диспетчер задач, после прогона можно запустить в нём же)
- для 32M можно использовать Ramdisk, поскольку временные файлы расчёта и конечный файл с числом пишутся на диск, что может приводить к замедлению
- отключение файла подкачки (обычно помогает в Super PI 32M)
- диагностический режим – выставляется в msconfig. Запуск безопасного режима приводит к негативному эффекту, да и диагностический режим обычно пользы не приносит (но мало ли)
- Использование серебристой цветовой схемы и стиля "Windows XP" для окон (Luna silver theme).
- Выключение аппаратного ускорения: "Свойства:Экран"=>Параметры=>Дополнительно=>Диагностика=>Аппаратное ускорение. Выставляем в крайнее левое положение
- Переключение раскладки клавиатуры на язык, отличный от языка ОС
Советы по оптимизации прогона Super PI:
- приоритет реального времени для процесса Superpi.exe (даёт эффект не всегда)
- Привязка процесса Super PI к одному ядру, отличному от нулевого. Делается диспетчером задач нажатием правой кнопки мыши на процесс superpi.exe => задать соответствие. Связано с тем, что все системные процессы обычно выполняются как раз на самом первом ядре
- Копиваза (copywaza) – твик, заключающийся в копировании крупного файла, превосходящего объём оперативной памяти с одного диска на другой. Для упрощения использования этого твика написана программа OCX Spi Tweaker, которой и рекомендуем пользоваться. Чаще всего используют размер файла порядка 1.8-2.0ГБ и копируют файл со второго раздела на первый, где находятся ОС и Super PI. Затем ждут пару секунд, прогоняют 16K и уже тогда запускают прогон 32M
- Нередко более быстрым бывает не первый прогон теста, а второй или третий. Возможно, что данная процедура просто создаёт ситуацию, аналогичную Копивазе, поскольку при её использовании лучшим обычно является первый прогон
- Сворачивание окна также может помочь с результатом в Super PI
- Вместо сворачивания можно уменьшить размер окна, потянув за его правый нижний угол, до полоски в шапке. Далее комбинацией alt+C вызвать окно запуска
- при переразгоне системы нередко бывает, что расчёт останавливается с сообщением об ошибке типа “not exact in round”, “non convergent in sqrt”. В таком случае нужно закрыть тест и запустить его заново – иначе ошибка будет возникать при каждом запуске. Как вариант можно просто удалить временные файлы с расчётами, лежащие в папке с программой
Посмотреть мировые рекорды в бенчмарке Super PI можно на сайте HWBot.org для 1M и 32M соответственно.
Обсудить материал можно тут
OCX Spi Tweaker
Метки: OCX | Pi | Spi | Super | Tweaker
Дата: 21/08/2010 13:02:17
Подписаться на комментарии по RSS
Мировой рекорд расчета числа Пи
Нет, здесь не будет скриншота бенчмарка SuperPi с супер быстрым временем, ровно как и фото стенда со стаканом для жидкого азота. Но тем не менее, кому-то все же будет интересно узнать, что вчера закончился 90-дневный расчет 5 триллионов знаков после запятой числа Пи. Только на верификацию результата программы написанной Александром И (Alexander Yee) ушло 130 часов. Именно благодаря новым методам расчета с использованием всей мощности 12 ядер процессоров Intel Xeon, получение результата стало возможным в столь короткое время. Соавтором рекорда является Шигеру Кондо (Shigeru Kondo), который собрал компьютер следующей конфигурации:
- два процессора Intel Xeon X5680 @ 3.33 ГГц (12 физических ядер);
- 96 ГБ оперативной памяти DDR3 @ 1066 МГц;
- серверная материнская плата Asus Z8PE-D12;
- 6 ТБ пространства на жестких дисках для результата вычислений, 32 ТБ объединённых в рейд двумя контроллерами LSI MegaRaid SAS 9260-8i для самого процесса вычисления.
Кстати, предыдущий рекорд в 2.3 триллионов знаков получен в декабре 2009 Фабрисом Беллардом (Fabrice Bellard). Вот так, относительно легко, можно прославиться на весь мир, не тратя десятки тысяч на бенчмаркинг.