> Привет Leo! > Давай, может, пока не будем выкладывать переписку. > До тех пор, пока не получится результатов, которые можно > потрогать и в которых есть уверенность. >
> А то намерить всякого можно. Не было бы Athlon и PIII так > получилось бы, что P4 как Pentium работает. ;-))
Привет !
Уверенности в subj действительно нет, но если кто-нибудь (а у меня нет P4 рядом) не будет проверять версию, то ничего и не проясниться.
> Для всех - лично я OpenSource. ;-)) http://rc5dev.chat.ru > Только, господа и товарищи, опен сорс значит без претензий > и гарантий. Оно строится и работает у меня. > > З.Ы. Лео, сольем проекты? Можно и место забить где-нибудь > на sourceforge.net... Если конечно тебе это интересно.
Исходники я пока не открыл только по двум причинам:
1) Нужно закончить работу, или точнее говоря остановиться на каком-то результате;
2) Исходники достаточно грязные, и их нужно привести в приличный вид;
Какого-либо проекта у меня нет, просто удачный эксперимент. Я выложу сорсы, как только закончу. Если тебе интересно делать сайт и т.д., ради бога, я с удовольствием посодействую.
Про сам core:
Это не совсем новое ядро, а подправленное "RG Class 6". Я поправил некоторые инструкции, но в основном их порядок. Другими словами core написано не на голом asm, а не C/C++ c asm-вставками. Вполне возможно, что многие улучшения можно применить к другим core, которые "родственны" нашему "RG Class 6".
ASM-исходник выставлен только для того чтобы как-то подтвердить существование кода, но не показывая грязные сорцы.
На днях я надеюсь, все закончить, и выложить сорцы.
Теперь на тему кода под SSE2, под P4 (многие подбивают его написать).
В SIMD (MMX, SSE2) нет команд циклического сдвига, поэтому любой сдвиг делается за три команды (влево, вправо, сложение). Можно двигать 64-разрядные копии-пары (AABB), но это сразу в два раза меньше. И самое главное, нет команд сдвига четырех операндов на разное количество разрядов. Это значить, что двигать придется по одному, и при этом готовя счетчик сдвига в отдельном регистре, обнуляя его старшие биты (and 0x1F). Поэтому написать быстрый x4-конвейер невозможно, и ничего радикального SSE2 не даст (IMHO). Так что я пока ретируюсь, опять же P4 у меня еще нет и основной работы море...
Вот пришло письмо по поводу подкрученного мной core для P3.
Я думаю это будет интересно многим, заодно можно будет проверить версию.
----- Original Message -----
> Hi! >
> I run your rc5 test driver in my system: > P4-1500Ghz 256Mb RIMM (i850DG) >
> Did you optimize your core for Willamette? > It looks strange for me that P4 specific core > runs as Pentium core. ;-)) >
> 10) 35.77% 2059.50 clocks/2key - NB class 7 (Intel > Pentium 4) > 11) 36.05% 2063.82 clocks/2key - RG/BRF class 5 (Intel > Pentium) >
> The best cores are : >
> 1) best >> 1516.95 clocks/2key - LY~701 class 6 (Intel > Pentium Pro/II/III) > 2) 0.15% 1519.29 clocks/2key - LY~703 class 6 (Intel > Pentium Pro/II/III) > 3) 0.40% 1523.05 clocks/2key - RG class 6 (Intel > Pentium Pro/Celeron/II/III) >
> 4) 0.40% 1523.06 clocks/2key - LY~702 class 6 (Intel > Pentium Pro/II/III)
Добрый день !
Насколько я понимаю, вы говорите по-русски.
Ситуация действительно очень странная, мне уже присылали результаты с P4, там видно что обновленный core лучше "RG class 6", но хуже более родного "NB class 7". Примерно 1950 для "NB class 7" и 2200 для нового core.
Я краем глаза прочитал доку от Intel по оптимизации для P4, откровенно говоря, пока не ясно, почему P4 тратит в трое больше тактов чем P3. Для P4 довольно трудны сдвиги, но по предварительным прикидкам все равно не должно быть так жутко.
Если верить вводной части руководства от Intel, то P4 должен исполнять любой неэкзотический core быстрее любого тругого CPU. На деле получается, что ваш P4-1500 работает всего в два раза быстрее моего P3-450.
Вполне возможно, что в вашем процессоре более новый microcode и поэтому он быстрее выполняет P3-код и медленнее AMD-K7 ("NB class 7" вырос из кода для AMD). Если предположить что у разработчика "NB class 7" был микропроцессор с кривым микрокодом, то все почти сходиться.
Более конкретного пока сказать ничего не могу. Сейчас я пробую еще улучшить core, и на днях можно будет попробовать новые варианты.
К вам просьба - спишите и вышлите все маркировки на вашем процессоре. Возможно также, что ваш BIOS выдает версию микрокода при загрузке, или какая-либо информация об этом есть в описании версии BIOS. Короче говоря, похоже, у вас в руках "золотой ключик", постарайтесь найти "тартиллу" от которой он вам достался. Думаю будет интересно и вам и всем остальным.
Для обсуждения я размещу копию вашего письма и этого ответа на форме www.bugtraq.ru/rc5
Slowly P4 - все дело в версии микрокода ?!25.12.01 13:06 Автор: xelator Статус: Незарегистрированный пользователь
Привет Leo!
Давай, может, пока не будем выкладывать переписку.
До тех пор, пока не получится результатов, которые можно потрогать
и в которых есть уверенность.
А то намерить всякого можно. Не было бы Athlon и PIII так получилось бы, что P4 как Pentium работает. ;-))
Для всех - лично я OpenSource. ;-)) http://rc5dev.chat.ru Только, господа и товарищи, опен сорс значит без претензий
и гарантий. Оно строится и работает у меня.
З.Ы. Лео, сольем проекты? Можно и место забить где-нибудь на sourceforge.net... Если конечно тебе это интересно.
Slowly P4 - все дело в версии микрокода ?!25.12.01 21:50 Автор: leo <Леонид Юрьев> Статус: Elderman
> Привет Leo! > Давай, может, пока не будем выкладывать переписку. > До тех пор, пока не получится результатов, которые можно > потрогать и в которых есть уверенность. >
> А то намерить всякого можно. Не было бы Athlon и PIII так > получилось бы, что P4 как Pentium работает. ;-))
Привет !
Уверенности в subj действительно нет, но если кто-нибудь (а у меня нет P4 рядом) не будет проверять версию, то ничего и не проясниться.
> Для всех - лично я OpenSource. ;-)) http://rc5dev.chat.ru > Только, господа и товарищи, опен сорс значит без претензий > и гарантий. Оно строится и работает у меня. > > З.Ы. Лео, сольем проекты? Можно и место забить где-нибудь > на sourceforge.net... Если конечно тебе это интересно.
Исходники я пока не открыл только по двум причинам:
1) Нужно закончить работу, или точнее говоря остановиться на каком-то результате;
2) Исходники достаточно грязные, и их нужно привести в приличный вид;
Какого-либо проекта у меня нет, просто удачный эксперимент. Я выложу сорсы, как только закончу. Если тебе интересно делать сайт и т.д., ради бога, я с удовольствием посодействую.
Про сам core:
Это не совсем новое ядро, а подправленное "RG Class 6". Я поправил некоторые инструкции, но в основном их порядок. Другими словами core написано не на голом asm, а не C/C++ c asm-вставками. Вполне возможно, что многие улучшения можно применить к другим core, которые "родственны" нашему "RG Class 6".
ASM-исходник выставлен только для того чтобы как-то подтвердить существование кода, но не показывая грязные сорцы.
На днях я надеюсь, все закончить, и выложить сорцы.
Теперь на тему кода под SSE2, под P4 (многие подбивают его написать).
В SIMD (MMX, SSE2) нет команд циклического сдвига, поэтому любой сдвиг делается за три команды (влево, вправо, сложение). Можно двигать 64-разрядные копии-пары (AABB), но это сразу в два раза меньше. И самое главное, нет команд сдвига четырех операндов на разное количество разрядов. Это значить, что двигать придется по одному, и при этом готовя счетчик сдвига в отдельном регистре, обнуляя его старшие биты (and 0x1F). Поэтому написать быстрый x4-конвейер невозможно, и ничего радикального SSE2 не даст (IMHO). Так что я пока ретируюсь, опять же P4 у меня еще нет и основной работы море...
Удачи!
Slowly P4 - все дело в версии микрокода ?!25.12.01 13:04 Автор: black_leon_work Статус: Незарегистрированный пользователь
Интересно, ведь в Р3 и вроде даже в Р2 можно обновлять микрокод!
(Читал статью в инете, вроде на IXBT)
Но там таких проблем не наблюдалось! Наверное Р4 еще "сыроват" все таки делался с нуля! И изменения в микрокоде довольно существенно сказываются на производительности.
ЗЫ Вот для моего Р3 результаты (450 погнанный на 540)!
------------------------------------------------------------------------------
dnet/RC5 core functions performance results, on Intel Pentium III (0x102):
------------------------------------------------------------------------------
Тем, кто еще ждет, что "оптимизированные" ядра для P3 или Athlon
буду работать быстрей на P4 - хватит надеяться на Бога. Не будут.
КТО приложил усилия, чтобы этот код работал и был эффективным?
Dnet что ли? Судя по тому, как у них статистика работает нет.
Да и нет смысла оптимизировать клиенты для такой задачи.
Ускорение в 1-2% того не стоит.