Компания AMD опубликовала компилятор AOCC 2.0 (https://developer.amd.com/amd-aocc/) (AMD Optimizing C/C++ Compiler), построенный на базе LLVM и включающий дополнительные улучшения и оптимизации для 17 семейства процессоров AMD на базе микроархитектур Zen (https://en.wikipedia.org/wiki/Zen_(microarchitecture)), Zen+ (https://en.wikipedia.org/wiki/Zen%2B) и Zen 2 (https://en.wikipedia.org/wiki/Zen_2), например для уже выпускаемых процессоров AMD Ryzen и EPYC. Компилятор также содержит общие улучшения, связанные с векторизацией, генерацией кода, высокоуровневой оптимизацией, межпроцедурным анализом и преобразованием циклов. По умолчанию задействован компоновщик LLD. В поставку входит оптимизированный вариант математической библиотеки libm - AMDLibM. Компилятор доступен для 32- и 64-разрядных Linux-систем.В новом выпуске кодовая база обновлена до ветки LLVM 8.0 (https://www.opennet.me/opennews/art.shtml?num=50360). Добавлены оптимизации для архитектуры AMD EPYC 7002 Series (Zen 2), для которой усовершенствована генерация кода и векторизация. Для включения оптимизаций для Zen 2 предложена опция выбора архитектуры "znver2". Обеспечена поддержка компилятора Flang для языка Fortran. Библиотека AMDLibM обновлена до выпуска 3.3. Предлагаемые для загрузки исполняемые файлы протестированы в RHEL 7.4, SLES 12 SP3 и Ubuntu 18.04 LTS. AOCC пока распространяется только в бинарном виде и требует принятия EULA-соглашения.
URL: https://developer.amd.com/amd-aocc/
Новость: https://www.opennet.me/opennews/art.shtml?num=51254
Гм... а что мешает свои изменения просто патчем предложить для штатного шланга? Испльюзуешь его на amd, получаешь плюшки.
>AOCC пока распространяется только в бинарном виде и требует принятия EULA-соглашения.как бы намекает, что патчи они пока(?) давать не хотят.
потому что не нужны они штатному шлангу как и изменения в таком же компиляторе от интел ибо совместимость зачастую ломает а штатный кланг должен на всём работать.
Как поломает совместимость ещё один функционал, доступный под ещё одним флагом?
> Гм... а что мешает свои изменения просто патчем предложить для штатного шланга?Наверняка BSD-style лицензия.
Позволяет просто напросто зажать код и распространять только бинарники.
А вот было бы оно под GPL или, как считают некоторые продвинутые опеннетчики, не существовало бы вообще, то уже давно бы был открытый патч для gcc! И от амуды и от штеуда!
Столлман опять был прав.
С какого перепуга? Amd продолжили бы пилить свою ветку open64
А у интела вообще свой бэкэнд
> А у интела вообще свой бэкэндВообще-то, Интел не гнушается вендорлоком на всех уровнях.
В частности, у них есть свой компилер, ещё с начала 2000 толкаемый и стоит пяток флотинг-лицензий для него хорошо так за 20k вечнозелёных. Причём, тормоза для амд там встраиваются автоматом:
https://techreport.com/news/8547/does-intels-compiler-crippl.../
https://www.agner.org/optimize/blog/read.php?i=49#49
А выше был просто тонкий набр^W ирония.
Это что бы получилось как в gcc-4.3 ? взял компилятор - что-то откомпилировал бах, великий столаман требует сменить лицензию на GPL 3+, а если не хочешь - то и не компилируй нашим.Вот такой пример мялкособственичества в GPL
да потому что АМД - чудаки на букву М. Тут все их конечно обожествляют и вспоминают Fuck Nvidia от линуса, те же люди которые работают даже на потребительских картах нвидия - кайфуют, а долботрясы взявшие VII трахаются эмуляцией CUDA. В то время как я взявший RTX2060 для дома и делающий реальную математику в облаке Гугла кайфую.
Прошу, не переставай писать несвязные комментарии это так стимулирует отвечать на них
Заверните мне два: для Икспишечки и Вистоньки. Как нету?
Возьми и собери.
из чего? из бинарника?
ну из сорцов любой дурак сможет. а ты попробуй из бинарников собери (сарказм).
А мне казалось, что некромантия запрещена...
> А мне казалось, что некромантия запрещена...Если бы ты что-то понимал в архитектуре компьютеров и знал про эквивалентность программного и аппаратного обеспечения, тебе бы всякая чепуха не казалась и ты бы не растрачивал свою жизнь в погоне за бусами и стекляшками из однодневной рекламы одноразовых вещей.
То есть мы за бусами не гонимся, используя ХР, но покупаем Zen 2 и хотим компилятор для него?
> То есть мы за бусами не гонимся, используя ХР, но покупаем Zen
> 2 и хотим компилятор для него?непременно - супер-пупер оптимизирующий! Так-то и gcc 2.7.2 "для него" вполне себе компилятор.
> То есть мы за бусами не гонимся, используя ХР, но покупаем Zen
> 2 и хотим компилятор для него?Да я-то старый вендузятник и гуманитарий, мне много не надо: Open Watcom, да Visual Studio 6, да ещё кое-что по мелочи. А вот давай проверим, какой ты прогрессивный линуксоид. Назови без гугления и подсматривания в рабочие тетради старших товарищей различия между GCC, соответственно, 2-й, 3-й, 4-й, 5-й и т. д. вплоть до 9-й (или какая у вас нынче, прогрессивная молодёшь?) ветки. :)
> Назови без гугления и подсматривания в рабочие тетради старших товарищей различия между GCC, соответственно, 2-й, 3-й, 4-й, 5-й и т. д. вплоть до 9-й (или какая у вас нынче, прогрессивная молодёшь?) ветки. :)И зачем же помнить столь несомненно важную информацию?
>> Назови без гугления и подсматривания в рабочие тетради старших товарищей различия между GCC, соответственно, 2-й, 3-й, 4-й, 5-й и т. д. вплоть до 9-й (или какая у вас нынче, прогрессивная молодёшь?) ветки. :)
> И зачем же помнить столь несомненно важную информацию?То есть вы, полупернатые, меняете компиляторы просто по признаку их модно-молодёжной новизны и без понимания вносимых в них изменений? Что-то подобное я предполагал. :)
> То есть вы, полупернатые, меняете компиляторы просто по признаку их модно-молодёжной новизнызаметим, это не они жаждали модный aocc под последний ризен.
> и без понимания вносимых в них изменений? Что-то подобное я предполагал.
а зачем их понимать, если не собираешься участвовать в разработке? Никому неинтересно, в какой версии появилась поддержка пусть не последнего, но хоть предпоследнего стандарта c++ и сколько в ней для начала было багов - как и проверять это на себе.
Для пересборки исходника 99го года - да, хватит и 2.7.2, раз он тогда им собирался. Правда, эффективной оптимизации не ждите.
Для самостоятельной разработки - разумно брать то что в твоем дистрибутиве, и, если вдруг случилось что твои представления о языке моложе чем у компилятора - никакая сура корана не запрещает поапгрейдить комиплятор. А держаться за 2.7.2 в общем незачем.
>> То есть вы, полупернатые, меняете компиляторы просто по признаку их модно-молодёжной новизны
> заметим, это не они жаждали модный aocc под последний ризен.пох, тебе тут сектанты явно отравили мозг: ты уже простых шуток не понимаешь. Отдохни от опеннета, окунись на время в реальную жизнь, где нормальные люди и развлечения, пиво, коньяк, бабы, шашлык и вот это всё.
>> и без понимания вносимых в них изменений? Что-то подобное я предполагал.
> а зачем их понимать, если не собираешься участвовать в разработке? Никому неинтересно,
> в какой версии появилась поддержка пусть не последнего, но хоть предпоследнего
> стандарта c++ и сколько в ней для начала было багов -
> как и проверять это на себе.Чтобы хотя бы в общих чертах знать, что тебе накомпилирует модно-молодёжный оптимизирующий компилятор, а вовсе не ради новых стандартов С++. Чтобы не удивляться, откуда в твоей программе взялась телеметрия, которую ты не писал, например.
Впрочем, если похам и няшмяшам не надо, то нечего и удивляться, что Линус кормит вас новым стандартом с лопаты. Линус всё понял правильно ещё в 1999 году (или когда ему там выдали акций на бедность).
> Для пересборки исходника 99го года - да, хватит и 2.7.2, раз он
> тогда им собирался. Правда, эффективной оптимизации не ждите.
> Для самостоятельной разработки - разумно брать то что в твоем дистрибутиве, и,
> если вдруг случилось что твои представления о языке моложе чем у
> компилятора - никакая сура корана не запрещает поапгрейдить комиплятор. А держаться
> за 2.7.2 в общем незачем.Что за блажь такая — упорно писать про 2.7.2? За это вахтёры начисляют в карму плюсов?
Ты КОБовец что-ли?! Деграданты алкоголики с их "развлечениями" не нужны
> пох, тебе тут сектанты явно отравили мозг: ты уже простых шуток не понимаешьну унылый какой-то троллинг, чего тут понимать.
> Чтобы хотя бы в общих чертах знать, что тебе накомпилирует модно-молодёжный оптимизирующий
> компиляторзачем? Это важно только если ты хочешь в нем что-то поправить.
В остальных случаях - это просто инструмент. Ты правда-правда хочешь знать, как устроен батарейный блок в твоем шуруповерте? Пока он не сдох и не потребовалось менять батарейки.
Крутит, и ладно.Во всей этой гонке бредовых версий есть всего два важных места, помимо несовместимости со стандартами - libgcc.so и поломанное переопределение версии через CFLAGS.
То и другое слуцилась сто лет назад, ничего с этим сделать нельзя, только выкинуть и уйти на llvm> Что за блажь такая — упорно писать про 2.7.2? За это вахтёры начисляют в карму плюсов?
для опоздавших родиться - это версия, которой собирались первые линуксы. И котороая застряла в развитии на десять лет, потому что мудрый Встолман напрочь не принимал никаких исправлений.
Поэтому ей все еще собирается довольно значительное количество софта, только использовать надо 2.7.2.3- иначе оно может просто выпасть в sigsegv.
>> пох, тебе тут сектанты явно отравили мозг: ты уже простых шуток не понимаешь
> ну унылый какой-то троллинг, чего тут понимать.Какой форум, такой и троллинг. За умный здесь минусуют и комментарии трут.
>> Чтобы хотя бы в общих чертах знать, что тебе накомпилирует модно-молодёжный оптимизирующий
>> компилятор
> зачем? Это важно только если ты хочешь в нем что-то поправить.
> В остальных случаях - это просто инструмент. Ты правда-правда хочешь знать, как
> устроен батарейный блок в твоем шуруповерте? Пока он не сдох
> и не потребовалось менять батарейки.
> Крутит, и ладно.Я же написал, зачем: чтобы не было мучительно больно.
Да и сама постановка вопроса таким образом выглядит для меня дико.
И, кстати, да, я хочу знать, как устроен батарейный блок. Когда инструменты делали немцы, я смело мог не хотеть это знать и не интересоваться такими нюансами, но после переноса всего ширпотребного производства в Китай знать стало просто-таки необходимо.
> Во всей этой гонке бредовых версий есть всего два важных места, помимо
> несовместимости со стандартами - libgcc.so и поломанное переопределение версии через CFLAGS.
> То и другое слуцилась сто лет назад, ничего с этим сделать нельзя,
> только выкинуть и уйти на llvmllvm уже точно готов для десктопа? :)
>> Что за блажь такая — упорно писать про 2.7.2? За это вахтёры начисляют в карму плюсов?
> для опоздавших родиться - это версия, которой собирались первые линуксы. И котороая
> застряла в развитии на десять лет, потому что мудрый Встолман напрочь
> не принимал никаких исправлений.
> Поэтому ей все еще собирается довольно значительное количество софта, только использовать
> надо 2.7.2.3- иначе оно может просто выпасть в sigsegv.Ну, я не думаю, что мне когда-либо ещё придётся встретиться в дикой природе с линуксом несвежих версий, стало быть и без конпелятора этой версии как-то обойдусь. Поколение Ы расчистило полянку. Теперь только модно-молодёжное во все стороны. И ведь знаешь, что в сложившейся ситуации самое прикольное? На этой полянке можно рубить бабло, пользуясь тем, как они всё испоганили. Неиссякаемый источник доходов. Пусть кушают этот кактус, пока не позеленеют и не покроются колючками.
Я сейчас читаю на досуге для удовольствия хорошую старую книжку (нет, не ту, в которой буквы перемешаны) про стандарт на Фортран 77 (с синтаксическими диаграммами, с очень ясными и внятыми формулироваками, с лаконичными исчерпывающими объяснениями) и прямо вот воочию вижу, насколько деградировало человечество в отдельной взятой околокомпьютерной отрасли.
> То и другое слуцилась сто лет назад, ничего с этим сделать нельзя,
> только выкинуть и уйти на llvmДа, кстати, ты ведь понимаешь, почему на самом деле нельзя уйти от ГЦЦ? Не сейчас, по крайней мере. Потому что в ней не только C и C++, но и ассемблер, Ada, Fortran, Objective-C, Go и что-то там ещё. Можно, конечно, дискуссировать о достоинствах и недостатках каждого конкретного инструмента, но они, во-первых, есть, во-вторых — они бесплатны, и в-третьих — как-то работают. Нищим полупернатым коммунистам самое то.
> Да, кстати, ты ведь понимаешь, почему на самом деле нельзя уйти от ГЦЦ?которого из? У меня вот, к примеру, их три на одной сборочной системе.
при этом кода на аде, фортране и objective-c у меня нет и вряд ли мне такой понадобится собирать до попадания в рай. А игогошечный не соберется, поскольку gcc-go вряд ли умеет автозависимости.
Поэтому я как-то проживу и с llvm, тем более что вот от него-то действительно уже не уйти - тут тебе и видеокарты, и всякая странная экзотика, а какая-нибудь фря уже вообще вряд ли чем другим соберется (или не будет работать)
А, простите, зачем мне нужно это помнить? Моя задача - писать код, а не служить оффлайн хранилищем чейнджлогов. Да, я читаю изменения новых мажорных версий, и если есть что-то для меня важное (например, тот же зен2 завезли) - ставлю галочку. Я не прогрессивный линуксоид (что бы это ни значило), у меня задача, чтобы мой код компилировался с версиями библиотек и компилятором, используемых в распространённых дистрибутивах. Вот захочет какой-нибудь дебиан на GCC второй версии откатиться - ну что ж, будем некрофилией заниматься. Хотите компилировать для второго зена вторым гцц - пожалуйста, только не надо жалобы строчить на форумах.
Давай сразу MSDOS.
Не нужно! Ведь есть clang!
оптимизация не нужна, все правильно, тебе - не нужна.
гоняй дальше свою gta5
"AOCC пока распространяется только в бинарном виде и требует принятия EULA-соглашения. "
"OPENnet"
/0.
Перебрали с топкой за АМД
А тем временем Зен2 не такой крутой как 1, т.к. срочно нужно было написать 7нм. Разбили на разные кристаллы и компенсировали задержки кэшэм, который денег стоит.
А ещо он при разгоне или даунвольте стаёт медленнее.
Не понятно почему заминусовали, наверно технически безграмотные и в маркетинге ни-ни. Как будто неправду написал. Псевдо 7нм гибриды с 12нм, нужно ж было опередить Интель, куда уж ему с его полноценным 10нм.
из за того что оно на этом богомерзком LLVM, код полученный в результате будет с удручающей производительностью. вон, те же Valve как только выкинули шланг из компилятора шейдеров, сразу же нехилый прирост появился. а амде всё со своим шлангом сопли жуют.
На новых версиях компиляторов разницы уже почти нет, а иногда шланг даже быстрее, например на криптооперациях:
https://www.phoronix.com/scan.php?page=article&item=epyc-774...
fixed: быстрее на криптоанальных операциях
на терморектальных криптооперациях
> AOCC пока распространяется только в бинарном виде и требует принятия EULA-соглашения.И зачем оно здесь?
Уже сравнение вышло:
https://www.phoronix.com/scan.php?page=article&item=epyc-774...
И почти во всех тестах на процессорах под которые заточен хуже стокового LLVM? Ну да, заоптимизировали до посинения.
> AOCC пока распространяется только в бинарном виде и требует принятия EULA-соглашения.Извините, но каким боков это делает на опеннете? Хоть это мной многоуважаемая компания, в отличии от жадных поприетастов интел, но не стоит писать тут, на оставшемся кусочке свободы от капитализма в рунете, об копирастах и бинарных сборках.
> Извините, но каким боков это делает на опеннете?Именно таким. LLVM открыт, так? Компиляторы должны быть открыты, так? Но тут приходит амд и выпускает закрытый компилятор на базе LLVM. Какие выводы из этого делать -- я не знаю, это пускай каждый сам для себя решает, но знать о таких вещах нужно любому, кому интересен открытый софт.
> писать [...] на оставшемся кусочке свободы от капитализма в рунете, об копирастах и бинарных сборках.
Тут сайт не пропагандистский, а новостной. Разница в том, что новости подбираются и излагаются не так, чтобы создать ложное впечатление о реальности, а так, чтобы создать достаточно полное представление о той части реальности, которая выбрана тематикой сайта.
Ф речку яво. Ибо блобъ.
Эх, с проприетарным интеловским компилятором бы сравнили...
> Эх, с проприетарным интеловским компилятором бы сравнили...погодите, он же ж не работает на наших последних камнях вообще, а на предыдущих - "оптимизировал" хуже gcc?
Хм, не знал. Спасибо.