Не, я не имею ввиду что у АМД там гипотетические баги, просто нельзя быть уверенным, что если оптимизированный под SSE код работает быстрее на intel, то он на других процессорах будет тоже более шустрым. У всех процессоров есть свои особенности.
Вообще, кстати, странно что это автора удивляет:
Иными словами, они утверждают, что они оптимизируют для конкретных моделей процессоров, а не для конкретных наборов инструкций… Но отсюда также следует, что все разработчики программного обеспечения, использующие компилятор Intel, должны перекомпилировать свой код
Есть простейший, старинный пример — на ранних intel инструкция
inc a
быстрее чем
add a, 1
На новых ровно наоборот. Естественно, если производительность очень критична, надо перекомпилировать.
Ну то есть поймите меня правильно — конечно, интел мог бы вести себя лучше в этой ситуации, но на мой взгляд, нисколько не обязан (даже с моральной точки зрения), и реализовать это не так просто, как кажется на первый взгляд.
Пожалста, вот здесь написано — при использовании описаной фичи, компилятор «генерирует инструкции SSE для процессоров Intel».
То что в статье код работает нормально это хорошо, но на месте разработчика компилятора я б хотел быть в этом на 100% уверенным — а для этого надо провести изрядное количество тестов специально для AMD.
А флаг согласен, стоило бы иметь, но это на преступление не тянет.
Я тоже сначала подумал где-то наебывают, но представьте себя на месте разработчиков интела.
У вас есть функция инвертирования матриц, например. Потом вы решаете написать версию, оптимизированую для SSE5, тщательно гоняете ее на тестовых машинах (с процессорами интел, естественно). Потом, поскольку вы не уверены в том, как оно будет себя вести на других процессорах, пишете код
if (cpuid() == 'genuineintel') sse5_version(); else generic_version();
Конечно, можно потратить еще изрядно времени, и написать еще версию под амд, но если она вдруг окажется медленнее чем могла бы быть, вам точно голову оторвут в суде.
Ето называется «свобода предпринимательства», если быть точнее. Я вот, например, под макось плохо умею программы писать, значит ли это что эппл должен подать на меня в суд?
Ну, во первых, никому он не «обязан». Уверен, что в лицензии про intel C++ compiler ничего нет.
А во-вторых — он же работает, но не так быстро.
В третьих, за что заплатили — то и влили:
" ...compiler delivers advanced capabilities for development of application parallelism and
winning performance for the full range of Intel® processor-based platforms. "
Ну да, чуваки из интел не особо парятся с производительностью кода их библиотек на AMD, что тут криминального? AMD можно только посоветовать развивать свой компилятор или, еще лучше, всячески содействовать развитию gcc.
Ну, например, можно назвать суды и вообще услуги по охране интересов конторы в рамках законодательства. То есть там есть еще дополнительные пошлины всякие, но они не очень большие.
Но, вообще говоря, налоги это по определению несправедливая вещь. То есть, к примеру, чувак с зарплатой в 100000 рублей платит намного больше налогов чем чувак с зарплатой 1000, при етом намного меньше пользуясь социальной помощью от государства. Идея налогов в насильственном отбирании денег у одних людей и передаче их другим — для вас это сюрприз? :)
Не знаю насчет союза, но в альфе точно есть комиссия за съем наличных в банкомате с кредитки.
(Хотя я вообще имел ввиду комиссию при погашении напрямую кредитной картой — та, которую обычно платит продавец в магазине когда расплачиваешься картой)
В интернетах пишут, что это действительно более популярно в европе и особенно в азии чем в америке, но в то же время это точно не чисто российская специфика.
Во-первых, далеко не в каждом банке есть такая фича. А там где есть, обычно есть и всякие ограничения мелким шрифтом, которые мешают провернуть такую операцию :)
Иначе банк бы терял деньги на каждой такой операции — комиссию-то за платеж по карте ему бы пришлось из своего кармана платить.
Вообще, кстати, странно что это автора удивляет:
Есть простейший, старинный пример — на ранних intel инструкция
быстрее чем
На новых ровно наоборот. Естественно, если производительность очень критична, надо перекомпилировать.
То что в статье код работает нормально это хорошо, но на месте разработчика компилятора я б хотел быть в этом на 100% уверенным — а для этого надо провести изрядное количество тестов специально для AMD.
А флаг согласен, стоило бы иметь, но это на преступление не тянет.
У вас есть функция инвертирования матриц, например. Потом вы решаете написать версию, оптимизированую для SSE5, тщательно гоняете ее на тестовых машинах (с процессорами интел, естественно). Потом, поскольку вы не уверены в том, как оно будет себя вести на других процессорах, пишете код
Конечно, можно потратить еще изрядно времени, и написать еще версию под амд, но если она вдруг окажется медленнее чем могла бы быть, вам точно голову оторвут в суде.
А во-вторых — он же работает, но не так быстро.
В третьих, за что заплатили — то и влили:
(из описания компилятора на сайте интела)
Но, вообще говоря, налоги это по определению несправедливая вещь. То есть, к примеру, чувак с зарплатой в 100000 рублей платит намного больше налогов чем чувак с зарплатой 1000, при етом намного меньше пользуясь социальной помощью от государства. Идея налогов в насильственном отбирании денег у одних людей и передаче их другим — для вас это сюрприз? :)
(Хотя я вообще имел ввиду комиссию при погашении напрямую кредитной картой — та, которую обычно платит продавец в магазине когда расплачиваешься картой)
В интернетах пишут, что это действительно более популярно в европе и особенно в азии чем в америке, но в то же время это точно не чисто российская специфика.
Иначе банк бы терял деньги на каждой такой операции — комиссию-то за платеж по карте ему бы пришлось из своего кармана платить.