В статье "Will Intel be forced to remove the "cripple AMD" function from their compiler? (http://www.agner.org/optimize/blog/read.php?i=49)" разбираются особенности работы компиляторов Intel, приводящие к понижению производительности собранных программ на процессорах AMD и VIA. По заявлению Intel различия в производительности объясняются преимуществами процессоров Intel, но Федеральная торговая комиссия США считает (http://www.opennet.me/opennews/art.shtml?num=24759), что замедление вызвано искусственно с целью понижения конкурентоспособности процессоров других компаний.
Компилятор Intel предусматривает возможность включения в итоговый исполняемый файл нескольких оптимизирующих блоков кода, используемых в зависимости от CPU на котором выполняется приложение. В качестве примера приводится задействование инструкций SSE2 и SSE3 для поддерживающих их процессоров. При выборе стратегии оптимизации учитывается не только тип поддерживаемых наборов дополнительных инструкций, но и идентифика...URL: http://www.agner.org/optimize/blog/read.php?i=49
Новость: http://www.opennet.me/opennews/art.shtml?num=24891
GCC и рядом не стоял по производительности с Intel
Ой, спасибо, глаза открыл, а я вот сижу на скомпиленном GCC ПО в любимом линуксе с системой, собранной на АМД и бед не знаю. Виндавозники любите дальше своих божков
Даже тут не обошлось без виндовс :)
Люби и дальше свой тормозной АМД, отстающий от intel на год.
о да, конечно, отстающий )))) лужи хорошь газифицировать. Компания, которая первой выпустила 64 бита в массы для десктопов, компания, которая единственная на данный момент выпустила видеокарту с поддержкой самой современной графики... и отстает "не смешите мои подковы"
Кстати AMD убила Itanium до конца с его неадекватными $5K за камень.
У AMD нет аналогов итаниуму. И если его не используете вы, то это не означает, что его убила AMD
А его уже никто не использует... Ибо производительность имеет свою цену.
Надо отдать должное, что без AMD удалось бы доказать нужность Итана. Чисто маркетинговыми ходами промыть мозги и доказать.Но сегодняшний Итан уже давно на фиг никому не нужен. Его тихо сольют, а технологии перельют в новые процессоры, которые от 32-х разрядных идут. Заслуга AMD в том, что она показала реалистичность использования 64-х бит и 32-х бит на одном процессоре без существенной потери производительности. Это и было началом конца Итана. Конец, собственно мы уже и наблюдаем. Через пару лет мало кто вспомнит, что был такой процессор.
Да ладно Вам. После того как выяснили, что производительность эмуляции x86 на intanium очень низкая Intel уже не конкурировал ни с собственной x86, ни с amd. Вся конкуренция пошла с IBM и SUN. Sun загнал сам себя в яму, а доля IBM на рынке Unix-систем год от года увеличивается.
Itanium убил IBM'овский Power. Изначально HP позиционировал Itanium как убийцу рисков. Не убил, доля IBM на Unix-рынке растет.
>Даже тут не обошлось без виндовс :)
>Люби и дальше свой тормозной АМД, отстающий от intel на год.http://www.ixbt.com/cpu/intel-ci5-660.shtml
Комментарии излишни :)
из статьи:"... могут стоить на треть (а то и в полтора раза) дешевле" ??? с математикой не дружим.
>из статьи:"... могут стоить на треть (а то и в полтора раза)
>дешевле" ??? с математикой не дружим.оу. мусьё школьник ?
треть это 1 разделить на 3, а полтора это 3 разделить на 2.
Судя по всему ник соответствует возрасту )
Вы или осильте школьный курс алгебры или внимательно читайте написанное.
Если предыдущие предложения вас не устраивают, то попробуйте опровергнуть:
(х-1/3)=(х/1.5)
>Судя по всему ник соответствует возрасту )
>Вы или осильте школьный курс алгебры или внимательно читайте написанное.
>Если предыдущие предложения вас не устраивают, то попробуйте опровергнуть:
> (х-1/3)=(х/1.5)Да запросто! Данное утверждение не верно для любого х отличного от 1.
Правильно было написать (x-1/3x)=(x/1.5).
Математика, однако...
>>Судя по всему ник соответствует возрасту )
>>Вы или осильте школьный курс алгебры или внимательно читайте написанное.
>>Если предыдущие предложения вас не устраивают, то попробуйте опровергнуть:
>> (х-1/3)=(х/1.5)
>
>Да запросто! Данное утверждение не верно для любого х отличного от 1.
>
>Правильно было написать (x-1/3x)=(x/1.5).
>Математика, однако...непойму, подставляем вместо х число 2. получаем,
(2-1/6) = (2/1.5)
1,833333333333333333333333333334 = 1,3333333333333333333333333333333т.е. не сходиться :-)
>непойму, подставляем вместо х число 2. получаем,
>(2-1/6) = (2/1.5)
>1,833333333333333333333333333334 = 1,3333333333333333333333333333333
>
>т.е. не сходиться :-)Неправильно подставляете. Формула читается как:
(x-1/3*x)=(x/1.5)
а не как
(x-1/(3*x))=(x/1.5)Итого:
(2-2/3) = (2/1.5)
1.3333 = 1.33333
А x/3 сразу не дано было написать?
Мля...."В полтора раза меньше" - это половина половины. - 1/2/2 = 1/4 = 1-3/4 = 0.25
"на треть" - это 1 минус треть от исходного = 2/3 = 0.666666666666666666666666ЗЫ. Это не математика, - это русский язык такой....
тупить вредно
В полтора раза меньше - не половина половиныПоловина половины тождественна утверждению "в четыре раза меньше"
а в полтора - 1/ 1.5 == 2/3
ч т д
>тупить вредно
>В полтора раза меньше - не половина половины
>
>Половина половины тождественна утверждению "в четыре раза меньше"
>
>а в полтора - 1/ 1.5 == 2/3Пол ладони, два вершка и ноготок, пойдёт? Вот и думай как хошь!
>Судя по всему ник соответствует возрасту )
>Вы или осильте школьный курс алгебры или внимательно читайте написанное.
>Если предыдущие предложения вас не устраивают, то попробуйте опровергнуть:
> (х-1/3)=(х/1.5)от блин...
возвращаю Ваше предложение - внимательно Вы попробуйте читать: речь идет о диапазоне разницы цен. Т.е. якобы "экономить" можно от трети до двух третей от стоимости интела.
>http://www.ixbt.com/cpu/intel-ci5-660.shtml
>
>Комментарии излишни :)почему же? постоянные читалели Вам подтвердят, что иксбитовцы хронически любят AMD, порой в ущерб объективности
А я вот хронически не люблю интель. За глюкавые и грабельные чипсеты, например. Вполне достаточный повод. И нвидию вон нагнули не лицензировав им новую шину. Т.е. жрите, дескать, наше кривенькое дерьмо. Без альтернатив.
Глупости, читаю хобот с момента основания, КОРЖ всегда был интеловцом, но сейчас и у него аргументов не осталось.
>Глупости, читаю хобот с момента основания, КОРЖ всегда был интеловцом, но сейчас
>и у него аргументов не осталось.хобот? а у меня вот впечатление по статьям о процессорах и иже, что их отношение к интелу такое, как в побасенке "мимо тёщиного дома я без шутки не пройду"
>>Даже тут не обошлось без виндовс :)
>>Люби и дальше свой тормозной АМД, отстающий от intel на год.
> http://www.ixbt.com/cpu/intel-ci5-660.shtml
> Комментарии излишни :)А в каких среднеотфанарных попугаях там цифры с синих или еленых ? :-))
Срач Intel vs AMD — смешно. Оба выпускают процессоры убогой архитектуры x86, о чем тут вообще спорить?Отстает на год? Это не школа, чтобы отставание на год что-то значило. Технологии развиваются далеко не так быстро, как производители хоте ли бы, чтобы вы думали. Может быть, вы каждый год новый процессор покупаете?
>Срач Intel vs AMD — смешно. Оба выпускают процессоры убогой архитектуры x86,
>о чем тут вообще спорить?
>
>Отстает на год? Это не школа, чтобы отставание на год что-то значило.
>Технологии развиваются далеко не так быстро, как производители хоте ли бы,
>чтобы вы думали. Может быть, вы каждый год новый процессор покупаете?
>Филосаф ... технологии развиваются настолько быстро, что у народа денег столько нет.
уже есть 32 и 64-х ядерные процы для МинОбороны США,
и BIO-DVD диски есть на 260, 540 и 1400 Гигов,
и Nvidia Fermi уже юзается как 3 года....Ах да, SBC (System on board computer) на 1024 SMP ARM 12 не видали?
> Филосаф ... технологии развиваются настолько быстро, что у народа денег столько нет.Просто производители из кожи вон лезут, чтобы заставить нас покупать новое железо чаще, чем это необходимо.
> уже есть 32 и 64-х ядерные процы для МинОбороны США,
Это не есть что-то принципиально новое. Экстенсивное развитие.
> и BIO-DVD диски есть на 260, 540 и 1400 Гигов,
Вы что-то путаете. Или имелись в виду голографические диски? Ничего качественно нового.
> и Nvidia Fermi уже юзается как 3 года....
> Ах да, SBC (System on board computer) на 1024 SMP ARM 12 не видали?И что?
Да, и все вами перечисленные технологии далеко не за 1 год созданы.
>> Филосаф ... технологии развиваются настолько быстро, что у народа денег столько нет.
>Это не есть что-то принципиально новое. Экстенсивное развитие.
>Ничего качественно нового.
>И что?Исхитрись-ка мне добыть
То-Чаво-Не-Может-Быть!
Запиши себе названье,
Чтобы в спешке не забыть!Телепортатор-наладоник за 10$ хочешь?
Али Квантовый движок на "копейку", вон распродажа в Эльдораде...
Ах, да забыл, вчерась в ТехноСилу завезли нейроитерфейсы для управления компами.
в Седьмом Континенте видал, появились, пищелюли на 180 и 360 дней,
со вкусом солярки, керосина и, эх... ностальгия..., со вкусом белкового кала...
P.S. Эй быдло Геномодифицированое из Nestle и Wimm-Bill-Dann,
я придумал название Пищелюли, Pavlinux 2010 (c), Продаю, 1 Тонна золота 999 пр.
>[оверквотинг удален]
>Али Квантовый движок на "копейку", вон распродажа в Эльдораде...
>Ах, да забыл, вчерась в ТехноСилу завезли нейроитерфейсы для управления компами.
>в Седьмом Континенте видал, появились, пищелюли на 180 и 360 дней,
>со вкусом солярки, керосина и, эх... ностальгия..., со вкусом белкового кала...
>
>
>P.S. Эй быдло Геномодифицированое из Nestle и Wimm-Bill-Dann,
>я придумал название Пищелюли, Pavlinux 2010 (c), Продаю, 1 Тонна золота 999
>пр.
>Эк тебя прёт товарищ. Не нужно экономить на хорошей водке.
>[оверквотинг удален]
>>в Седьмом Континенте видал, появились, пищелюли на 180 и 360 дней,
>>со вкусом солярки, керосина и, эх... ностальгия..., со вкусом белкового кала...
>>
>>
>>P.S. Эй быдло Геномодифицированое из Nestle и Wimm-Bill-Dann,
>>я придумал название Пищелюли, Pavlinux 2010 (c), Продаю, 1 Тонна золота 999
>>пр.
>>
>
>Эк тебя прёт товарищ. Не нужно экономить на хорошей водке.Или не закусывать ее пищелюлями:)
Всё познаётся в сравнении :)
> GCC и рядом не стоял по производительности с IntelТы сейчас так газанул в лужу сам того не зная что ICC есть под Linux и им можно собрать и ядро и софт.
Вопрос: где скачать крутейший компилятор ICC для MIPS или ARM??? Что? Нету? Вот и в тряпочку! =)
вы собираете свою программу под MIPS?
Я собирал под ARM(el) одну из своих программ.
> вы собираете свою программу под MIPS?Хочешь угадаю сколько тебе лет? В твоем вопросе так и кричит возраст, образование, кругозор, компетенция. Таких как ты я вижу насквозь.
Да, под ARM и Blackfin собираю - это GCC. Скажи, ну что я буду делать с этим ICC? Да, он быстр и крут. Но как, хотя бы даже теоретически, я могу обойтись одним ICC???
>Хочешь угадаю сколько тебе лет?А хочешь, угадаю, сколько тебе?
>В твоем вопросе так и кричит возраст, образование, кругозор, компетенция.
>Таких как ты я вижу насквозь.Рентген протри :-)
>Скажи, ну что я буду делать с этим ICC? Да, он быстр и крут.
Пользовать там, где это оправдано. Если +30% для тебя ничего не значат, то о чем тогда говорить?
>Пользовать там, где это оправдано. Если +30% для тебя ничего не значат,
>то о чем тогда говорить?Вот уж нет, 30% это очень даже важно. А особенно важно то, что я потеряю 50% производительности когда я не знаю на каких процессорах будет работать программа. Если -50% ничего не значат для некоторых, то о чем тогда говорить?
Ну а тема про "GCC vs ICC" вообще не имеет смысла, так как ICC доступен только для интела - сюрприз?..
>Пользовать там, где это оправдано. Если +30% для тебя ничего не значат,
>то о чем тогда говорить?Вот уж нет, 30% это очень даже важно. А особенно важно то, что я потеряю 50% производительности когда я не знаю на каких процессорах будет работать программа. Если -50% ничего не значат для некоторых, то о чем тогда говорить?
Ну а тема про "GCC vs ICC" вообще не имеет смысла, так как ICC доступен только для интела - сюрприз?..
>вы собираете свою программу под MIPS?Я вот собираю софт под мипс. А что, OpenWRT прикольная штука :P. А интель с их проприетарным блобом с подозрительным поведением "работает только на процессораходной фирмы" - специально созданы для фруктов типа вас, которые думают только о том как бы сиюминутно урвать а о последствиях подумать - кишка тонка.
>созданы для фруктов типа вас, которые думают только о том как бы сиюминутно урвать а о последствиях подумать - кишка тонка.Следите за своим языком уважаемый.
>>созданы для фруктов типа вас, которые думают только о том как бы сиюминутно урвать а о последствиях подумать - кишка тонка.
>
>Следите за своим языком уважаемый.Он прав, нехрен на язык тыкать. Таких интелолюбов давить как тараканов надо, набижали тут
>GCC и рядом не стоял по производительности с IntelКак сказать, как сказать... Graphite на ряде задач рвёт Intel.
Ну сделали компилятор для себя. Всем остальным вообще не обязаны помогать, да ещё и разбирать, что их поделки умеют, включили всё по умолчанию и на том спасибо.
В качестве единственного верного варианта решения проблемы предлагается: писать код на ассемблере.
компилятор от интел оптимизирован под процессоры интел. ну надо же, какое сенсационное открытие сделала желтая пресса!
Еще раз внимательно прочитайте новость. Компилятор от Интел приводит к понижению производительность программ на процессорах, CPUID которых указывает на то, что это не Интел. При подмене CPUID производительность на том же процессоре возрастает.
> Компилятор от Интел приводит к понижению производительность
>программ на процессорах, CPUID которых указывает на то, что это не
>Интел. При подмене CPUID производительность на том же процессоре возрастает.Слушайте, я в этой жизни многого не понимаю, но по моему мнению у интеловского компилятора очень специфические задачи. Кто в здравом уме решиться плодить им код общего назначения? Для этого есть MS Visual Studio, GCC, SunStudio наконец...
А вот ежели нужна пиковая производительность в конкретной задаче на конкретном железе... За такая что 2-3% в плюс архиважно... Да и если нужна пиковая производительность на архитектурах i386 или x64 - то у интела конкурентов нет. Все остальное - бюжетный десктоп, но это ж тема совсем другого разговора.
>Слушайте, я в этой жизни многого не понимаю, но по моему мнению
>у интеловского компилятора очень специфические задачи. Кто в здравом уме решиться
>плодить им код общего назначения?Ну канешна.
openmp, mpi, всяческие разумные оптимизации, и т.д. и т.п. - специфика нашего времени.
Опять же инфраструктура, да хоть та же parallel studio
Тем не менее - про код пожалуй что и верно. Из соображений лицензирования.
>Слушайте, я в этой жизни многого не понимаю, но по моему мнению
>у интеловского компилятора очень специфические задачи. Кто в здравом уме решиться
>плодить им код общего назначения? Для этого есть MS Visual Studio,
>GCC, SunStudio наконец...
>А вот ежели нужна пиковая производительность в конкретной задаче на конкретном железе...
>За такая что 2-3% в плюс архиважно... Да и если нужна
>пиковая производительность на архитектурах i386 или x64 - то у интела
>конкурентов нет. Все остальное - бюжетный десктоп, но это ж тема
>совсем другого разговора.Вы, батенька, не прониклись идеей антимонопольной политики: корпорация _не_ имеет права *сознательно* ухудшать работу своего компилятора на продукции конкурентов. Речь идёт именно о сознательном ухудшении кода в зависимости от CPUID. И здесь я полностью поддерживаю антимонопольщиков США. Хочется пожелать нашим быть не хуже.
На продукции конкурентов компилятор от интел вообще не обязан работать.
>На продукции конкурентов компилятор от интел вообще не обязан работать.С одним НО.. Он не должен заявлять, что работает где-то помимо Intel.
>Вы, батенька, не прониклись идеей антимонопольной политики: корпорация _не_ имеет права *сознательно*
>ухудшать работу своего компилятора на продукции конкурентов. Речь идёт именно о
>сознательном ухудшении кода в зависимости от CPUID. И здесь я полностью
>поддерживаю антимонопольщиков США. Хочется пожелать нашим быть не хуже.Вот если бы больше компиляторов не было в природе, тогда, наверное, да. А так это просто алгоритм оптимизации -- способ оптимизации выбирается по CPUID, для неизвестных CPUID не выбирается ничего. Всё логично.
>компилятор от интел оптимизирован под процессоры интел. ну надо же, какое сенсационное
>открытие сделала желтая пресса!Да и хрен с ним. Я icc скомпильнул тут одну DDL-ку (софт-модем). И что же? Практически мизерные отличия от VC компилятора. Увеличения производительности ---- никакого.
>Да и хрен с ним. Я icc скомпильнул тут одну DDL-ку (софт-модем).
>И что же? Практически мизерные отличия от VC компилятора. Увеличения производительности
>---- никакого.Эх... Люди... Софт-модем... DLL от него... Вы задумывались что эта либа делает? Она ж двоичный блок для другого проца через интерфейс перегоняет и только. Перегонка через интерфейса - библиотечная функция ОС. Вы хотите увидеть увеличение производительности на десятке вызовов библиотечных функций? Ну-ну...
Результат работы интеловского компилятора заметен на вычислительных задачах. И не просто на вычислительных, а на алгоритмически оптимизированных вычислительных задачах. При этом, скорее всего Вам не удастся отделаться только ключем -O<что там у интела?> и понадобится еще пара-тройка ключей управляющих размещением и выравниванием.Другое дело, что таких задач практически нет. Большинство програм всего-лишь вызывают определенные функции ОС или DirectX/OpenGL. А при таком раскладе все компиляторы плодят примерно один и тот же код.
>Результат работы интеловского компилятора заметен на вычислительных задачах. И не просто на вычислительных, а на алгоритмически оптимизированных вычислительных задачах. При этом, скорее всего Вам не удастся отделаться только ключем -O<что там у интела?> и понадобится еще пара-тройка ключей управляющих размещением и выравниванием.
>
>Другое дело, что таких задач практически нет. Большинство програм всего-лишь вызывают определенные
>функции ОС или DirectX/OpenGL. А при таком раскладе все компиляторы плодят
>примерно один и тот же код.Абсолютно согласен, но всё-таки "вычислительная задача" не всегда значит "графическая задача" :) Счётных задач хватает.
>Эх... Люди... Софт-модем... DLL от него... Вы задумывались
>что эта либа делает? Она ж двоичный блок для другого проца через
>интерфейс перегоняет и только.Битовый поток с эфира демодулируется и декодируется программно. В DLL-ке всякие ф-ии вроде FFT, Viterbi, Turbo Code и т. д. Чисто вычислительные задачи. Писано каким-то финским студентом на голом C для linux, адаптировано под виндовую DLL.
> компилятор от интел оптимизирован под процессоры интел. ну надо же, какое сенсационное открытие сделала желтая пресса!А новость вдумчиво прочитать? Готов спорить: твоя ОС - windows. Я в этом даже не сомневаюсь. Это и характерные заявления, характерная степень анализа прочитанного...
>> компилятор от интел оптимизирован под процессоры интел. ну надо же, какое сенсационное открытие сделала желтая пресса!
>
>А новость вдумчиво прочитать? Готов спорить: твоя ОС - windows. Я в
>этом даже не сомневаюсь. Это и характерные заявления, характерная степень анализа
>прочитанного...Я не писатель, я больше читатель, но иногда такой бред пишет основная масса народу на форумах что просто ППЦ.
Ну какая разница, что домкрат идущей в составе опеля плохо подходит к ситроену?
Виндоус, линукс - какая в пень разница?
Интеловский компилятор ДАЕТ реально плюс но - при комлексном подходе к проблеме. Пример из моей реальной жизни. Математическое моделирование. Для этого я применяю ICC + IPP +MKL. ICC доставляет мне как программисту а MKL как математику.
Какие dll, какой gcc?
Есть факты. Интел плюс ICC при правильном подходе дают выигрыш в скорости на процессорах интел. Это значит только то что значит.
А то тут получается - факт, что вода мокрая, а люди пытаются из этого сделать вывод что у меня виндоус, и что мне нужна вовсе не вода а пенопласт. Фигню написал? Фигню. Но если не друдите с логикой - не пытайтесь вообще писать.Еще раз с уважением ко всем - Читатель.
Просто ожидал тут прочитать что-нибудь умное именно про ICC думал мож в комментах что появится заслуживающего внимания.А тут чушь какуюто пишут.
>Есть факты. Интел плюс ICC при правильном подходе дают выигрыш в скорости
>на процессорах интел. Это значит только то что значит.Ха-ха, ровно то что я и ожидал, будто подтверждение моих слов. А теперь ЕЩЕ РАЗ ВНИМАТЕЛЬНО прочитай текст новости.
Если прочитаешь еще раз и не увидишь в чем состоит нешуточная проблема - не нагружай себя мыслями, только зря время потратишь... =(
>компилятор от интел оптимизирован под процессоры интел. ну надо же, какое сенсационное
>открытие сделала желтая пресса!Да, и именно поэтому замена CPUID с одного на другой так меняет результат :).Сказки это круто но в данном случае смахивает на некий саботажик. Что бы там интель не пиндел.
зато большая часть вычислительного софта на gcc работает стабильнее =)
>зато большая часть вычислительного софта на gcc работает стабильнее =)с чего бы? стабильНЕЕ то?
Знаю большой и вполне себе вычислительный софт, под линукс, компиленный ICC - БД Oracle.
И все таки возраст )))
Во-первых, Oracle не БД, а СУБД ("найдите 10 отличий" :) ).
Во-вторых, БД - не вычислительный софт и быть им не может.
Учитесь, учитесь, учитесь... как завещал великий дедушка... )
>И все таки возраст )))
>Во-первых, Oracle не БД, а СУБД ("найдите 10 отличий" :) ).
>Во-вторых, БД - не вычислительный софт и быть им не может.
>Учитесь, учитесь, учитесь... как завещал великий дедушка... )Очень даже вычислительный. Это MySQL не вычислительный, Вы просто наверное Оракла не видели :-)
>И все таки возраст )))
>Во-первых, Oracle не БД, а СУБД ("найдите 10 отличий" :) ).
>Во-вторых, БД - не вычислительный софт и быть им не может.
>Учитесь, учитесь, учитесь... как завещал великий дедушка... )А может РСУБД ? Многие и многие этой букве "Р" придают большое значение.
Нормальный, даже отличный, и вполне себе вычислительный софт.
И что про стабильНЕЕ ?
Ну про оаркл я не в курсе ибо его исходников не видел.
А вот всякие квантовые химиии, молекулярные динамики и тд лучше пашут именно на gcc
И что характерно пашут не только на x86 а на большой пачке архитектур (mips, ppc, ppc64, sparc, ia64) включая даже векторные компы от NEC которые сильно любят японцы
>архитектур (mips, ppc, ppc64, sparc, ia64) включая даже векторные компы от
>NEC которые сильно любят японцыдык и причем тут intel-овский компилятор ?
при том что ан x86 сей софт собранный интелом работает не стабильно и медленно.
а вот если браьт gcc >=4.2 для новых версий то все хорошо быстро и корректно
>при том что ан x86 сей софт собранный интелом работает не стабильно
>и медленно.
>а вот если браьт gcc >=4.2 для новых версий то все хорошо быстро и корректноСтранно. Настоящие научные чуваки пишут другое.
Погуглил малость и вот в статье "High Performance Computation and Interactive Display of Molecular Orbitals on GPUs and Multi-core CPUs" есть пара табличек. Взгляните
http://www.ks.uiuc.edu/Publications/Papers/PDF/STON2009/STON...Я там вижу разницу В РАЗЫ.
Или теперь будет акцент на том, что именно 4.2+ ого-го? Типа до 4.2 наука стояла? (:
>Или теперь будет акцент на том, что именно 4.2+ ого-го? Типа до
>4.2 наука стояла? (:А вот и по gcc 4.2, и тоже научники пишут, там atlas-ы шматласы всякие
http://www.cs.utsa.edu/~qingyi/papers/gemm07.pdf
давно gcc с опциями -O2 или -O3 стал генерировать рабочий код ?
А то регулярно натыкаюсь что -O2 генерит мусор и приходится уходить на -O1..
он может и на -O0 хрень делать. зависит от кривости кода. так в чем заключается выражение "генерит мусор"? прога вываливается?
>А то регулярно натыкаюсь что -O2 генерит мусор..А на входе что ?
> не подозревая, что их приложения могут потерять в производительности при работе на CPU AMD и VIAВообще то здравомыслящему программисту не составит труда дизассемблировать сгенерированной код и посмотреть. Я так и зделал года 4 назад. Я тогда "еще один все понял", и использовал мелкософтовский компилятор (извините, кодил под винду в то время)
>Вообще то здравомыслящему программисту не составит труда дизассемблировать сгенерированной код и посмотреть.Ни один здравомыслящий программист не будет заниматься дизассемблированием без особой на то нужды. Ему что, делать больше нечего? С другой стороны, по ссылке написано:
"The problem is that they are trying to hide what they are doing. Many software developers think that the compiler is compatible with AMD processors, and in fact it is, but unbeknownst to the programmer it puts in a biased CPU dispatcher that chooses an inferior code path whenever it is running on a non-Intel processor."
Во-первых, почему они решили, что Интел пытается что-то там "скрыть"? От них-то Интел это почему-то скрыть не смог. :) Во-вторых, если программист _не_знает_, что какой-то компилятор генерит более качественный код для какого-то процессора, то производитель данного компилятора за это ответственности не несет.
а зачем дизасмить, если есть исходники и в компиляторе можно задать опцию "сохранять транслированный в ассемблер код"?
интел уже повторно засветился на этом поприще...
Создали бы консорциум... И дело с концом :)
на пустом месте раздули детектив прям, хуже желтой прессы айтишники пошли блин
На пустом? Историю с сливом i915 барахла как "vista ready" мы еще помним. Вот такие вот методы у интеля. Ну и их давнего партнера заодно. Так что нагнуть этих гавриков лишний раз - самое то что надо, а то зарываются что-то с их методами.
не напомните про i915?
Вообще американские антимонопольщики правы - CPUID не может быть конкурентным преимуществом.
Чёрт побери, это логично. Ло-гич-но. Ребята из Интела, скорее всего, мыслят в терминах моделей процессоров. Как они планируют оптимизацию? Очень просто: "Для модели A нужно выбрать такой-то сет инструкций, потому что он там быстрее. Для модели B лучше использовать другой сет, потому что он там есть. А в модели C когда-то был баг в реализации операции SHUFPD, поэтому мы используем третий сет таким образом, чтобы баг влиял поменьше, зато в модели D можно отыграться по полной". Как это выглядит в коде?switch(cpuid) {
case MODEL_A: /* такой-то сет */ break;
case MODEL_B: /* другой сет */ break;
case MODEL_C: /* третий с воркэраундом сет */ break;
case MODEL_D: /* третий сет */ break;
default: /* чёрт-те что, ничего не знаю, делаем по старинке */
}Вот все эти AMD, VIA -- это вот этот default. А как иначе? В каждом релизе ходить в AMD за списком спецификаций и багов и тратить на них время? Или менять методологию разработки? Это всё дорого и не стоит того.
И, в конце концов, логично, что default особенно и не обновляют. Он слабо интересует инженеров, так как на интеловских процессорах ecs:eip туда не попадает никогда. Теперь, наверное, его немного обновят. Но это маразм безумный.
Самый адекватный и логичный коммент.
Ведь даже в новости написано что "Если попытаться выполнить на новейшем CPU программу, собранную старой версией компилятора, то оптимизация не будет активирована, даже для новых процессоров Intel." Другими словами даже на процессорах интел компилятор от интел может не дать высокой производительности.
Ага... Новое веяние в области оптимизации кода!
Вместо того, чтобы патчить микрокод, обходить свои собственные грабли в компиляторе. А потом в случае глюков камней заявить что, мол, это у всего остального компиляторы кривые, мол на нашем icc все работает нормально.Экономия бешенная...
>Чёрт побери, это логично.Нет, это не логично. Вот в 2000-м году я покупаю PIII и современный на тот момент Intel C++ Compiler. И всё хорошо оптимизируется и работает до перехода на PIV. А на этих процессорах выполняется default код с соответствующими провалами. Хотя все необходимые инструкции поддерживаются.
Если предыдущие предложения вас не устраивают, то попробуйте опровергнуть:
(х-1/3)=(х/1.5)(1/3)(2x) = (1/3)(3x - 1) [x = 1]
:)
>Если предыдущие предложения вас не устраивают, то попробуйте опровергнуть:
>(х-1/3)=(х/1.5)
>
>(1/3)(2x) = (1/3)(3x - 1) [x = 1]
>
>:)вы не поняли.
(х-1/3)=(х/1.5) читаем как x-(1/3)*x = x/1.5 или (2/3)*x = (2/3)*x.
Мда... Intel -- зло ещё то.
К примеру, у меня есть знакомый, который свято любит процы Intel и никакие доказательства того, что можно купить за те же деньги более производительный вариант его не интересуют. И таких как он, я позодреваю, немало... :(
к сожалению, таких много. но когда начинают считать деньги и умеют это делать, не основываясь на фанатизме, тогда обычно покупают AMD. для особо упертых есть тестовые программы для сравнения производительности. есть, конечно, кекусы, которым западло покупать что-то, окромя интела. например, много амеров не знают ничего, кроме интела.
>Мда... Intel -- зло ещё то.AMD безусловное зло -- помню когда интел буксовал с пнями4, ну перед выпуском кор, AMD задирало цены на свои камни до небес. (;
Очень я рад, что вскрылась чудовищная несправедливость по отношению к AMD ;-). Понятно, есть ещё один метод работы с AMD - генерировать программы БЕЗ "обходного" кода, только с оптимизированным (там есть ключик для этого).Но, честно говоря, меня больше волнует следующее:
The Intel CPU dispatcher does not only check the vendor ID string and the instruction sets supported. It also checks for specific processor models. In fact, it will fail to recognize future Intel processors with a family number different from 6.
По-русски, это означает, что если вы купили компилятор Intel, оттранслировали на нём программу и думаете, что на будущих Intelовских процах она будет работать быстро, вас жестоко накололи. С выходом следующей генерации процов код придётся перекомпилировать на НОВОЙ версии компилятора, либо мириться с уменьшенной производительностью по сравнению со старыми CPU. Т.е. компилятор нужно обновлять и, естественно, держать исходный код расчётной программы неподалече.
И это, на мой взгляд, поучительно.
А что в компиляторе icc нет возможности явно указать под какой проц осуществлять сборку?
> А что в компиляторе icc нет возможности явно указать под какой проц осуществлять сборку?Есть. Но для этого пользователю нужно иметь на руках исходники и компилятор.
>А что в компиляторе icc нет возможности явно указать под какой проц
>осуществлять сборку?Code Generation
----------------x<code1>[,<code2>,...]
generate specialized code to run exclusively on processors
indicated by <code> as described below
Host generate instructions for the highest instruction set and
processor available on the compilation host machine
SSE2 Intel Pentium 4 and compatible Intel processors. Enables new
optimizations in addition to Intel processor-specific
optimizations
SSE3 Intel(R) Core(TM) processor family with Streaming SIMD
Extensions 3 (Intel(R) SSE3) instruction support
SSE3_ATOM Can generate MOVBE instructions for Intel processors and
can optimize for the Intel(R) Atom(TM) processor.
SSSE3 Intel(R) Core(TM)2 processor family with Supplemental
Streaming SIMD Extensions 3 (SSSE3)
SSE4.1 Intel(R) 45nm Hi-k next generation Intel Core(TM)
microarchitecture with support for SSE4 Vectorizing
Compiler and Media Accelerator instructions
SSE4.2 Can generate Intel(R) SSE4 Efficient Accelerated String
and Text Processing instructions supported by Intel(R)
Core(TM) i7 processors. Can generate Intel(R) SSE4
Vectorizing Compiler and Media Accelerator, Intel(R) SSSE3,
SSE3, SSE2, and SSE instructions and it can optimize for
the Intel(R) Core(TM) processor family.
AVX Enable Intel(R) Advanced Vector Extensions instructions-ax<code1>[,<code2>,...]
generate code specialized for processors specified by <codes>
while also generating generic IA-32 instructions.
<codes> includes one or more of the following:
SSE2 Intel Pentium 4 and compatible Intel processors. Enables new
optimizations in addition to Intel processor-specific
optimizations
SSE3 Intel(R) Core(TM) processor family with Streaming SIMD
Extensions 3 (Intel(R) SSE3) instruction support
SSSE3 Intel(R) Core(TM)2 processor family with Supplemental
Streaming SIMD Extensions 3 (SSSE3)
SSE4.1 Intel(R) 45nm Hi-k next generation Intel Core(TM)
microarchitecture with support for Streaming SIMD
Extensions 4 (Intel(R) SSE4) Vectorizing
Compiler and Media Accelerator instructions
SSE4.2 Can generate Intel(R) SSE4 Efficient Accelerated String
and Text Processing instructions supported by Intel(R)
Core(TM) i7 processors. Can generate Intel(R) SSE4
Vectorizing Compiler and Media Accelerator, Intel(R) SSSE3,
SSE3, SSE2, and SSE instructions and it can optimize for
the Intel(R) Core(TM) processor family.
AVX Enable Intel(R) Advanced Vector Extensions instructions
-mcpu=<cpu>
same as -mtune=<cpu>
-mtune=<cpu>
optimize for a specific <cpu>
pentium3 - optimize for Pentium(R) III processors
pentium4 - optimize for Pentium(R) 4 processor (DEFAULT)
-march=<cpu>
generate code exclusively for a given <cpu>
pentium3 - streaming SIMD extensions
pentium4 - Pentium(R) 4 New Instructions
-msse3 generate code for Intel(R) Core(TM) Duo processors, Intel(R) Core(TM)
Solo processors, Intel Pentium 4 and compatible Intel processors with
Streaming SIMD Extensions 3 (Intel(R) SSE3) instruction support
-mssse3 Intel(R) Core(TM)2 processor family with Supplemental Streaming
SIMD Extensions 3 (SSSE3)
-msse4.1 Intel(R) 45nm Hi-k next generation Intel Core(TM) microarchitecture
with support for Streaming SIMD Extensions 4 (Intel(R) SSE4)
Vectorizing Compiler and Media Accelerator instructions
-minstruction=<keyword>
Refine instruction set output for the selected target processor[no]movbe - Do/do not generate MOVBE instructions with SSE3_ATOM
(requires -xSSE3_ATOM)-------
# ./icc -mtune=opteron
icc: command line warning #10159: invalid argument for option '-m'
# ./icc -mtune=geode
icc: command line warning #10159: invalid argument for option '-m'
# ./icc -mtune=c3
icc: command line warning #10159: invalid argument for option '-m'Не понятно, почему не работает :)
Ребят, вот вы тут спорите Интел-АМД-Интел-АМД, сказал кто-то то, сказал кто-то сё...
А вот хоть тресни, но на той же фрюхе 7.2 интеляка показывает (кордуо обычный) производительность, например в маршрутизации и в роли VPN сервака, выше чем АМД (феном тот же...) При небольших нагрузка разница не заметна, а вот когда начинает нагрузка "подпирать под крышку", - стабильности Интеловских мозгов выше.. (на АМД пробовали 386 и AMD64, и тюнил по различным мануалам, и производителей менять пробовали)... Да АМД дешевле, но не всегда в этом счастье (дороговизна до разумных пределов) =)
это профилировщиком выясняется. в основном зависит от размерности структур. если данные оптимально ложатся в кэш с минимальными промахами, то это есть гуд.
Если откинуть новые интелы(i7/i5) то ситуация такова:
1) Если приложение сумеет нагрузить 4 ядра то выбор между амд и интел зависит от задачи.
2)В случае если приложение эффективно работает в один поток или "двух-поточное" то два ядра от корки буду почти всегда лучше.
3)У корки приемущество чисто в более современной архитектуре - он умеет более эффективно производить выборку и за один такт в большинстве случаев сможет выполнить больше команд.
4)У амд приемущество в нативной четырехядерности(а не как у корок спареный двухядерник) и в точ что ядра умеют заглядывать друг к дургу в L2.
5)В случае интенсивных операций ввода-вывода корка опять будет лучше за счет 3
можете несколько подробнее о core i7?
Хотя и инфа с ссылки http://www.ixbt.com/cpu/intel-ci5-660.shtml довольно интересные результаты тестов показывает...
С Intel все понятно. Была новость, что AMD поможет оптимизации GCC или что-то в этом роде. Это происходит давно и целенаправленно - http://developer.amd.com/CPU/GNU/Pages/default.aspx. Intel похоже больше вкладывается в свой компилятор, но про совместимость с GCC они тоже пишут.
> но про совместимость с GCC они тоже пишут.Compatibility
--------------gcc-name=<name>
name and location of gcc if not where expected
-gxx-name=<name>
name and location of g++ if not where expected
-gcc-version=<version>
specify the <version> of gcc compatibility. Default value matches
gcc version installed. Major/Minor versions listed but patch
levels (i.e. 345) are permissible
320 - gcc 3.2.x compatibility
330 - gcc 3.3.x compatibility
340 - gcc 3.4.x compatibility
400 - gcc 4.0.x compatibility
410 - gcc 4.1.x compatibility
420 - gcc 4.2.x compatibility
-fabi-version=<val>
directs the compiler to select a specific ABI implementation
0 - most recent ABI implementation
1 - g++ 3.2 compatible ABI implementation
2 - most conformant ABI implementation
>С Intel все понятно. Была новость, что AMD поможет оптимизации GCC илиО, AMD видими хороший буржуин? Напоминает грязные деньгам оракла и чистые санок в затёртой теме про майsql.
Ужели они, AMD, научат gcc правильно оптимизировать под VIA-шные процы, ну под те аппаратные расширения, что у них есть (кажется был аппаратный aes и что-то там еще) ?
А может под упомянутые mips'ы ? Держите карман шире!
Скорее уж интелу следует сказать спасибо за кампанию о пользе параллельных/многоядерных вычислений. Многие задумались и двинулись. И многие пользу ощутили от этого.
Забавно, AMD уже получило кучу бабла от Intel, только вроде Intel вздохнул, что суда не будет, а тут тебе опять проблема.