LINUX.ORG.RU

Оптимизация ПО для AMD «Bulldozer»

 , ,


0

1

AMD опубликовала «Руководство по оптимизации ПО на 15h», архитектуре процессоров, также известной под кодовым именем «Bulldozer».

В руководстве рассказывается о:

  • микроархитектуре новых процессоров;
  • оптимизациях для C/C++;
  • главных 64-битных улучшениях;
  • оптимизациях для кеша/памяти;
  • оптимизации декодирования инструкций;
  • оптимизации планировщика;
  • улучшения безопасности VM;
  • оптимизации NUMA.

>>> Прямая ссылка на PDF

Ответ на: комментарий от A-234

Ты реально больной или прикидываешься?

Каким образом ТРИ операции с плавающей точкой будут отрабатывать быстрее чем две?

Два деления медленнее, чем одно деление + 2 умножения

писатели руководства начинают противоречить сами себе:

Опять же два деления заменили на деление + умножение.

Ведь второй вариант будет нормально работать в обоих случаях.

производительность branch prediction unit и зафейленного выбора ветви?

anonymous ()
Ответ на: комментарий от anonymous_incognito

бульдозер создан для гентыоблака!

Thero ★★★★★ ()
Ответ на: комментарий от true_admin

ну этож спеки для разработчиков компиляторов.. ну ёмаё для любых новых процессоров такие выпускают.

Thero ★★★★★ ()

кто-то еще верит что камни amd могут тягаться с камнями intel?

nehalem ()
Ответ на: комментарий от anonymous

скорее пользователям генты понравятся бульдозеры.. это было видно ещё из первого обзора с фороникса.

Thero ★★★★★ ()
Ответ на: комментарий от nehalem

а зачем? очевидно что у них разные взгляды на мир и цели.. хотя люди не понимающие это есть даже в амд. н самом деле осталось недолго подождать чтобы увидеть тринити который и покажет зачем был бульдозер.

Thero ★★★★★ ()
Ответ на: комментарий от der_looser

молодец 1100Т пока лучший для научных вычислений и симуляций. тем не менее сливает 960(965) в играх.. а в компиляции и облаках бульдозер тащит.

\\ ну вот так примерно если вдаваться в крайности.

Thero ★★★★★ ()
Ответ на: комментарий от Lighting

тыг поддержка это одно а вот агрессивные оптимизации для весьма другой архитектуры это другое. интел уже года 4 не меняет архитектуру только допиливает её..

Thero ★★★★★ ()
Ответ на: комментарий от DRx

хорошую мину уже сделали, даже слишком хорошую чтобы не стало очевидным что игра не соответствует мине.

Thero ★★★★★ ()
Ответ на: комментарий от Reset

Почитал source level optimization. AMD тут выступила в роли капитана очевидности. При чем тут бульдозер так и не понял.

+1 По-моему они без оформления цитат тупо скомуниздили фрагменты замечательной книжки Брайанта и О'Халларона.

northerner ★★★ ()
Ответ на: комментарий от Bad_ptr

Бульдозер не тормозит. Тормозят ваши кривые неоптимизированные программы... ага.

// Погодите-ка, где-то мы это уже слышали?

Это девиз дженту!

darkshvein ☆☆ ()
Ответ на: комментарий от Relan

Уж ЛОР-то точно не является целевой аудиторией этой документации.

Ога, соурс-код всегда был достоинством шиндовс.

darkshvein ☆☆ ()
Ответ на: комментарий от i-rinat

процессор поддерживает ещё один стек с адресами возврата (вне памяти)

А можно более лёгким языком, для идиотов, типа меня? Интересно же. А то я копался-копался на английской вики страничке, так ни поца и не понял.

darkshvein ☆☆ ()
Ответ на: комментарий от vertexua

Почему о это процессоре столько разговоров и нужна какая-то специальная оптимизация?

потомы что это уже сильно не i86

darkshvein ☆☆ ()

Я как раз работаю в конторе, которая покупает бульдозеры фактически только из-за их многокорности

gorgoroth ()
Ответ на: комментарий от Jetty

4.2 4.2
См Geode

И как процессор Geode фирмы Cyrix связан с тем, что у Intel не всегда «всё просто работает»?

nampuapx ()
Ответ на: комментарий от Lighting

Говоришь так, словно компиляторы сейчас умеют распараллеливать код на приличном уровне.

Да нормально, если я создаю поток, то он параллелится, если 10 потоков, то у проца реально нехватает ядер чтобы выполнять все потоки параллельно, не в порядке очереди.

Тем не менее, поддержка новых процессоров Intel появляется в GCC и ядре заранее. Магия, не иначе.

Сравнил. АМД изобретает новые технологии, которые пользуются спросом у народа, а штеуд использует _вчерашние_ технологии конкурентов и воплощает их на более современной технологической линии за более высокую цену. Образно говоря, паровой автомобиль штеуда двигается немного быстрее конкурента с двигателем внутренного сгорания. Когда интел попытался создать новое нечто своими мозгами то получился итаник, поддержку которого выбросили из сосисок тем самым освободив силы для работы над бульдозером.

Napilnik ★★★★★ ()
Ответ на: комментарий от Napilnik

а штеуд использует _вчерашние_ технологии конкурентов

не знал, что штеуд выпускает Атлоны.

anonymous ()
Ответ на: комментарий от true_admin

2.4*10 = 24 гигагерца!!1

Я обожаю вашу программистсткую математику

darkshvein ☆☆ ()
Ответ на: комментарий от Napilnik

Когда интел попытался создать новое нечто своими мозгами

получился i8008 и i8080. Второй, кстати, AMD отреверсила. Как и последующие до 486

anonymous ()
Ответ на: комментарий от darkshvein

Все знают, что 4 ядра-4-гига - это заебца чотко!

anonymous ()
Ответ на: комментарий от stalkerg

3dnowprefetch

Не понял. Значит не выкинули, но ещё и усовершенствовали?

darkshvein ☆☆ ()
Ответ на: комментарий от darkshvein

А можно более лёгким языком, для идиотов, типа меня? Интересно же.

CALL и RET работают со стеком, то есть записывают и читают из памяти. Каждое такое чтение может стоить от нескольких тактов (стек в кэше) до нескольких сотен. Так почему бы не завести ещё один стек, регистровый? Тогда чтение данных можно будет делать из этого буфера. RET при этом будет всегда предсказанным переходом. Но если что-то пойдёт не так, буфер придётся синхронизировать со стеком в памяти, а конвейер сбросить. Наверняка есть какие-то навороты вроде нескольких буферов для разных задач (потоков). Размер буфера: 24 элемента (это из pdf-ки).

i-rinat ★★★★★ ()
Ответ на: комментарий от darkshvein

Выкинули все инструкции кроме PREFETCH и PREFETCHW.

anonymous ()
Ответ на: комментарий от RussianNeuroMancer

Надо, чтобы нужные патчи были в ядре и gcc за год до релиза процессора, или хотя бы за полгода, но не после.

Это затормозит прогресс, даст преимущества конкурентам и усложнит процедуру патентования. Железо поддерживает старый софт, ну и ладно, сойдёт:)

Napilnik ★★★★★ ()
Ответ на: комментарий от anonymous

не знал, что штеуд выпускает Атлоны.

Народу нужны дешёвые аппараты с приемлимой мощностью и качеством, пока не появится подходящая по цене альтернатива, это оправдано. И не забывай, архитектуру x86_64 придумала амд и очень правильно сделала.

Napilnik ★★★★★ ()
Ответ на: комментарий от Napilnik

Это то, что они сумели выжать из трупа альфы, не более того. Атлон вообще не появился бы без альфы, с которой он содрал шину, первые чипсеты, а потом ещё много чего.

Oleaster ★★★ ()
Ответ на: комментарий от Oleaster

И P5 интел украл у АМД? Где прочесть об этом?

Бери шире, первые пни - развитие идей IBM.

Napilnik ★★★★★ ()
Ответ на: комментарий от Oleaster

Это то, что они сумели выжать из трупа альфы

В природе принято трупы утилизировать и использовать для строительства новых организмов. Чай пьёшь? А ведь это настойка из дохлых микробов убитых в чайнике. А хлебушек;) - братскую могилу из сожжённых заживо живых дрожжей.

Атлон вообще не появился бы без альфы, с которой он содрал шину, первые чипсеты, а потом ещё много чего.

Ну да, звучит примерно как «в их двигатель завинчены скопированные с нашего гайки на 17, поршневые кольца и клиноременные ремни, без этих комплектующих он не завёлся бы».

Napilnik ★★★★★ ()
Ответ на: комментарий от Napilnik

Шина данных — это гайка на 17? Невежество лоровцев, как обычно, даёт понятие о бесконечности.

хехехе

Oleaster ★★★ ()
Ответ на: комментарий от Oleaster

Шина данных — это гайка на 17?

По твоему гайка на 17 такая простая вещь? Посадить бы тебя на необитаемом острове, без инструментов, и держать там до тех пор пока не изготовишь нормальную, прочную никелированную гайку.

Невежество лоровцев, как обычно, даёт понятие о бесконечности.

Ну скажи нам, о мудрейший: бесконечность+1 это сколько и куда поместится этот +1 если всё и так уже занято бесконечностью, более того, какого хрена ты занимаешь тут место если в мире уже существует бесконечность? Если не понял, тебя тут вообще быть не должно, ты типа вымысел, коллективный глюк лоровцев)))))))))

Napilnik ★★★★★ ()
Ответ на: комментарий от anonymous

Не, дружище, то неразумные интелята, амдшники себе чипы скалывали :)

anonymous ()
Ответ на: комментарий от anonymous

Они и без него уже успели наломать. И не только процессоров...

anonymous ()
Ответ на: комментарий от anonymous

Не отреверсила, а лицензировала. Это тебе не совок

anonymous ()
Ответ на: комментарий от Napilnik

Это затормозит прогресс
Как?
> даст преимущества конкурентам
Intel так делали - AMD преимуществ это не дало.
> усложнит процедуру патентования
Нисколько - никто не запрещает сначала регистрировать патент, а потом публиковать код.

RussianNeuroMancer ★★★★★ ()
Ответ на: комментарий от anonymous

Два деления медленнее, чем одно деление + 2 умножения

Да, не посмотрел на latency для сабжа. Не у всех CPU такая колоссальная разница. Но в любом случае, замена вычисления с одного деления на деление+умножение это что угодно только не оптимизация, потому что потеря точности будет значительной. В общем именно это смутило в первую очередь. Численные методы не так оптимизируются.

Про предсказание ветвлений так и не понял. Если уж охота оптимизировать условия то лучше явно сказать компилятору о своих предположениях насчет ветвления.

A-234 ★★★★★ ()
Ответ на: комментарий от A-234

Про предсказание ветвлений так и не понял.

Я тут подумал - скорее всего ошибся.
Это похоже тупая оптимизация сравнения (asm: cmp). Убирание лишней проверки в случае равенства.

//inb4 devl547

anonymous ()
Ответ на: комментарий от A-234

потому что потеря точности будет значительной

В общем случае это не имеет значения. Не всем же считать Pi до миллиарда знаков.

anonymous ()
Ответ на: комментарий от A-234

Про предсказание ветвлений так и не понял. Если уж охота оптимизировать условия то лучше явно сказать компилятору о своих предположениях насчет ветвления.

Да, кстати, К.О. намекает, что построив цикл как написано в сабж, ты явно говоришь процессору о своих предположениях насчет ветвления.

Подсказка к вопросу о потерях точности: вспомни в каком формате числа с плавающей точкой загружаются в fpu.

dik ()
Ответ на: комментарий от Jetty

Уже 9 лет как сайрикс непричем

И как процессор Geode, уже 9 лет как не имеющий отношения к фирме Cyrix, связан с тем, что у Intel не всегда «всё просто работает»?

nampuapx ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.