Любопытная новость: в Америке агентство по защите окружающей среды поймало "Фольксваген" на том, что они ставили в дизельные машины специальную программу. Эта программа определяла, когда машина проходит тест выхлопа (следила за работой двигателя, положением руля, итд.), и тогда включала режим очистки на максимум. А при обычной езде режим другой, и уровень загрязнения превышает разрешенный в 40 раз.
Теперь их обязали заменить 500 тысяч проданных за последние 7 лет автомобилей нескольких марок, и еще видимо оштрафуют на какие-то миллиарды.
Подробности напр. в: "Репутация Volkswagen задымилась".
ygam напомнил в одном из обсуждений, что это похоже на историю пятилетней давности уже из компьютерной индустрии. Тогда Интел поймали на том, что их компилятор выдает особо оптимизированный код, только когда его запускают на процессоре Интела, а на AMD генерирует код помедленней. То есть так: он смотрит на прошитое в процессоре имя вендора, и если это GenuineIntel, то делает всякие разные оптимизации в зависимости от того, что CPU реально поддерживает. А если нет, он никаких оптимизаций не делает, и для нового AMD выдает такой же код, как для древнего Pentium III.
Причем любопытно, что это так и не изменилось с тех пор. Вроде бы Интел заставили заплатить штраф и документировать это поведение компилятора, но он продолжает так себя вести. Год назад в реддите было обсуждение, и кто-то залез в свежую версию компилятора и проверил:

(это код, который ищет фразу GenuineIntel, и в зависимости от того, находит или нет, продолжает запускать разные процедуры оптимизации; если не находит, то оптимизации реально никакой нет)
Теперь их обязали заменить 500 тысяч проданных за последние 7 лет автомобилей нескольких марок, и еще видимо оштрафуют на какие-то миллиарды.
Подробности напр. в: "Репутация Volkswagen задымилась".
Причем любопытно, что это так и не изменилось с тех пор. Вроде бы Интел заставили заплатить штраф и документировать это поведение компилятора, но он продолжает так себя вести. Год назад в реддите было обсуждение, и кто-то залез в свежую версию компилятора и проверил:

(это код, который ищет фразу GenuineIntel, и в зависимости от того, находит или нет, продолжает запускать разные процедуры оптимизации; если не находит, то оптимизации реально никакой нет)
no subject
Date: 2015-09-21 04:07 pm (UTC)Есть более тёмная история из IT - драйвера NVidia/ATI были пойманы на том, что искусственно оптимизировались под особенности бенчмарков, (без пользы для остальных игрушек)
Прямо сейчас - на виду истории вида "соцсеть Foogram.com запретила ссылки на Kontbook.com"
no subject
Date: 2015-09-21 04:15 pm (UTC)Нормальный способ решения этой проблемы - ключ кмпилятора "оптимизировать под такую-то версию процессора", ИМНО.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2015-09-21 04:41 pm (UTC)Нет. Компилятор проверяет процессор, на котором работает сам компилятор. И ещё не известно, на каком процессоре будет потом запускаться скомпилированная программа. Вот если бы проверка типа процессора шла в рантайме, тогда ваше замечание имело бы смысл.
no subject
Date: 2015-09-21 04:41 pm (UTC)Вот тут, например: http://www.anandtech.com/show/7384/state-of-cheating-in-android-benchmarks
no subject
Date: 2015-09-21 05:25 pm (UTC)no subject
Date: 2015-09-21 04:45 pm (UTC)Слава богу это в прошлом, сейчас принято каждую фичу отдельно проверять (feature detection vs browser detection). Ну и браузеров и их версий расплодилось столько, что всех не проверишь.
no subject
Date: 2015-09-21 04:46 pm (UTC)Fuck the system!
no subject
Date: 2015-09-21 05:23 pm (UTC)no subject
Date: 2015-09-21 04:50 pm (UTC)УмнО
no subject
Date: 2015-09-21 04:52 pm (UTC)Вроде как "тест на выхлоп" проводится вставлением специального прибора в выхлопную трубу, никак не могу вообразить, что можно как-то этот момент особо отследить, без наделения жестяного глушителями свойствами искусственного интеллекта.
no subject
Date: 2015-09-21 04:56 pm (UTC)Холостой ход оптимизиоовать это не проблема. А вот на мощности - это потеря мощности и динамтки авты.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From: (Anonymous) - Date: 2015-09-23 12:54 am (UTC) - Expandno subject
Date: 2015-09-21 04:54 pm (UTC)no subject
Date: 2015-09-21 05:25 pm (UTC)(no subject)
From:no subject
Date: 2015-09-21 04:55 pm (UTC)Вобще то по идее выхлоп мерят на холостых. Чем там можно играть чтобы выхлоп уменьшать на мощности? На холостом стгит датчик кислорода и подбирает бедную смесь. А что можно менять на ходу, так чтоб за счет загрязнения иметь прирост мощности я не знаю. Угол зажигания чтоль или фазы газораспределения, так они ремнем грм задаютмя не порегулируеш.
no subject
Date: 2015-09-21 05:16 pm (UTC)(no subject)
From:(no subject)
From:no subject
Date: 2015-09-21 05:07 pm (UTC)А на мотоциклы ставят клапан который меняет режтм глушителя с тихого на громкий
Бошам стоит эту фичу, включение режима неэкологичного, отдать на чиптюнинг
no subject
Date: 2015-09-25 07:47 am (UTC)no subject
Date: 2015-09-21 05:13 pm (UTC)2. Раз "компилятор выдаёт особо оптимизированный код [...] в зависимости от того, что CPU реально поддерживает", значит речь идёт не о коммерческой разработке ПО (разработчику важно чтобы его программа работала на процессоре заказчика/потребителя, а не на его собственном, а программа, идеально оптимизированная под особенности одного процессора может вообще не заработать на другом похожем), а о ситуации "написали программу, тут же и запустили" (какие-нибудь научные расчёты с самописными программами например). А это во-первых не такое уж частое применение, а во-вторых - пусть АМД выкатят свой компилятор, оптимизированный под АМД, и проблема решится (или станет симметричной).
no subject
Date: 2015-09-21 05:29 pm (UTC)На AMD ICC-бинарники не используют SSE, хотя процессор их поддерживает:
https://github.com/jimenezrick/patch-AuthenticAMD
https://en.wikipedia.org/wiki/Intel_C%2B%2B_Compiler#Criticism
the Intel CPU dispatcher does not only check which instruction set is supported by the CPU, it also checks the vendor ID string. If the vendor string is "GenuineIntel" then it uses the optimal code path. If the CPU is not from Intel then, in most cases, it will run the slowest possible version of the code, even if the CPU is fully compatible with a better version.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2015-09-21 05:31 pm (UTC)no subject
Date: 2015-09-21 05:37 pm (UTC)Выхлоп не содержит холестерина и гмо
(no subject)
From: (Anonymous) - Date: 2015-09-23 01:25 am (UTC) - Expandno subject
Date: 2015-09-21 05:34 pm (UTC)no subject
Date: 2015-09-21 05:37 pm (UTC)Смерьной казни в европе нет
(no subject)
From:(no subject)
From:no subject
Date: 2015-09-21 06:06 pm (UTC)no subject
Date: 2015-09-21 06:50 pm (UTC)Что интересно, это реакция рынка. Выходит что мнение и решение EPA очень серьёзно влияет на компании.
no subject
Date: 2015-09-21 07:15 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2015-09-21 07:41 pm (UTC)no subject
Date: 2015-09-24 01:56 am (UTC)Еще интересно, что потом с этими результатами делают? (Не пустят на хайвэй? Или просто показывают в качестве развлечения?) :)
(no subject)
From:no subject
Date: 2015-09-21 08:14 pm (UTC)no subject
Date: 2015-09-21 11:13 pm (UTC)no subject
Date: 2015-09-21 11:26 pm (UTC)no subject
Date: 2015-09-21 11:32 pm (UTC)no subject
Date: 2015-09-24 02:04 am (UTC)Вообще давно замечаю: вропейские и американские системы действуют, конечно, поэлегантнее Онищенко, но когда дело касается крупных инностранных конкурентов отечественным производителям, то несет за версту если не подтасовками, то по крайней мере чудовищными двойными стандартами ...
(no subject)
From:no subject
Date: 2015-09-22 02:03 am (UTC)no subject
Date: 2015-09-22 05:16 am (UTC)Давно известно, что низкий расход на "тестовом цикле" и хорошая экология там же достигается искуствено. В это время обыно толком не работает турбина, к примеру.
Кстати, принятие экологических норм без оглядки на возможности провоцирует на мошенничество.
И ещё одно- следование экологическим нормам приводит к тому, что моторы сильно теряют в ресурсе и приемистости (т.е. где раньше 100 л/с хватало, темерь надо 150).
Ну и про это же: http://bmwservice.livejournal.com/186794.html
PS: ещё про "оптимизацию"- например французские машины проектируются так, чтобы получить максимум баллов на крэш-тесте. В результате, к примеру, ремни имеют ограничение по усилию такое, что при 64 км/ч они спасают и аккуратно привозят мникен в подушки, а при 70 км/ч они датут слишком много воли и человек погибнет.
no subject
Date: 2015-09-22 07:10 am (UTC)Что делать, это бизнес.
Date: 2015-09-22 07:14 am (UTC)Про Интел.
Date: 2015-09-22 07:30 am (UTC)Например, широко известно, что у всех интеловских процессоров есть некторые проблемы в декодере инструкций, одна из этих проблем размер immediate значения. 8-битные и 32-битные immediate интеловский декодер разбирает хорошо и быстро, а вот с 16-битными у него затык, медленный декодинг и т.д. Поэтому icc насколько можно (скорее всего на 100% - точно не знаю) избегает 16-битных immediate.
У AMD таких проблем в декодинге нет, и 8-16-32-битные immediate декодируются с одинаковой скоростью.
И таких микроархитектурных различий влияющих на производительность между Intel & AMD даже для общего Instruction Set вагон и маленькая тележка, и счет идет не на сотни, а на тысячи.
И естественно Intel не хочет разбираться во всех этих нюансах и генерить хороший код под AMD. И даже не сколько не хочет, а сколько не может. Внутренее устройство микроархитектуры у обоих компаний на 80% информация уровня супер-пурер-топ-сикрет, а по 20% публичной информации много не наделаешь.
Все вышесказанное не отменяет факт, что уж просто SSE без учета микроархитектуры для AMD можно было бы и сделать. Но сразу возникнет вопрос - где и как провести ту грань, что тут делаем, тут не делаем, а тут рыбу заворачиваем.
Re: Про Интел.
Date: 2015-09-22 10:05 am (UTC)Это смотря кто проводит.
Если тот, кто решает, была ли подобная "отмена оптимизации для AMD" правомерна, то наверное лучше всего по-старинке - вызвать разработчиков, которые и расскажут под присягой, зачем так сделали. Потому что сложно технически или потому, что начальник приказал. :)
Re: Про Интел.
From:Off
Date: 2015-09-22 02:10 pm (UTC)Эту диаграму можно в тему о философии. Ход Вэя(точнее, получающиеся варианты) проявляет мировую гармонию, возникающую из ничего.
P. S.
Я позволил себе этот офф, зная о Вашем интересе к шахматам
Re: Off
Date: 2015-09-22 03:12 pm (UTC)Re: Off
From: (Anonymous) - Date: 2015-09-24 02:22 am (UTC) - ExpandRe: Off
From:Re: Off
From: (Anonymous) - Date: 2015-09-24 02:35 am (UTC) - ExpandRe: Off
From: (Anonymous) - Date: 2015-09-24 02:36 am (UTC) - ExpandRe: Off
From: