Соблюдение Правил конференции строго обязательно! Флуд, флейм и оффтоп преследуются по всей строгости закона! За статью можно проголосовать на странице материала.
Еще не все знают, но существует простой способ улучшить результат SuperPi. Эта популярное приложение использует сложный математический алгоритм для вычисления трансцендентного числа Пи. Для максимальной производительности, чтобы выжать максимум из железа, используются новые команды x87, этот набор команд разработан на смену командам AVX3 в x86-64, но в перспективе будет еще расширен до 128 бит и целиком заменит все x86 команды, включая 64-битные. Дни архитектуры AMD64 сочтены, x87 это навсегда! Работая с новыми командами разработчики SuperPi допустили всего одну микроошибку, для операций с 64-битными числами с плавающей запятой, они используют 80-битную точность, команды x87 позволяют задавать любую точностью вычислений и операндов, причем даже смешивать их. То есть, сделан запас в 16 бит, который, к сожалению, пока что приводит к снижению скорости вычислений на современном железе. Beta-тестирование не выявило этой ошибки, так как она абсолютно незаметна, кроме как в виде снижения производительности.
Нужно включить в 64-битный режим вычислений!
Для этого нам потребуется отладчик, не пугайтесь ничего страшного, даже программная защита super_pi_mod.exe легко обходится, просто найдите последнюю версию OllyDbg2 и в бой. Теперь пошаговая инструкция: 1. Запустите Olly с правами администратора и загрузите (F3 Load) super_pi_mod.exe 2. Файл зашифрован и защищен, поэтому ничего сделать нельзя, просто запустите приложение (F9 Run) и оно само расшифрует себя для работы. 3. Теперь SuperPi запущен и работает, в нем вы можете измерить производительность ДО. Потом будете улыбаться глядя на эти цифры. 4. Пока SuperPi ждет от вас запуска очередного теста остановите его в Olly (F12 Pause), пора действовать. 5. Измените значение регистра FCW (справа внизу) с 1372 на 1272. Рядом сменится надпись с "NEAR,64" на "NEAR,53", не сомневайтесь это длинна только мантиссы, само число еще длиннее. 64 это 80 бит, 53 это 64 бита. 6. Запустите SuperPi снова (F9 Run) и можете наслаждаться новыми результатами. Возросшая производительность SuperPi заметна невооруженным глазом. 7. К сожалению, после выхода из SuperPi "магия" пропадет и эту процедуру надо проделывать каждый раз. Нам остаётся надеяться, что в будущем релизе разработчики исправят свою досадную ошибку. А пока, вы можете сильно удивить своих друзей.
зы. Не все мировые рекорды были поставлены с фреонкой или жидким азотом.
дак да, циферки можно любые подрисовать, и обойти любую фигню которую нельзя обойти
Никто цифры не подрисовывает, меняется один флаг в контрольном регистре и процессор начинает считать почти в два раза быстрее. Если поставить не 1372, не 1272, а 1072, тогда SuperPi обнаружит ошибку вычислений. Хотите теории заговоров? super_pi_mod.exe при запуске всегда ставит 1372, и в регистре почти всегда 1372 (исключение, некоторые функции меняют другие флаги на время своего исполнения). Но на интелах скорость как при 1272. Упс. Таким образом, эта инструкция бесполезна на интелах, у них этот хак делают автоматом драйвера/биос. И только иногда, может глюк детектора какой, имеем "нормальную" скорость и ЗНАЕМ что интел в два раза медленнее. Вспоминается переименование экзешника 3дмарка...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения