Материалы по тегу: aocc

23.07.2021 [14:25], Андрей Галадей

Выпущен компилятор AMD AOCC 3.1, основанный на LLVM 12.0

На этой неделе компания AMD без лишнего шума опубликовала новую версию своего компилятора AMD Optimizing C/C++ Compiler 3.1 (AOCC), который перебрался на платфолрму LLVM/Clang 12. В этом релизе фокус сделан на различные исправления вне основного дерева, которые вносят оптимизации для семейства процессоров на базе ядер AMD Zen. Так, например, улучшения коснулись Flang для сборки Fortran-программ и поддержки OpenMP 4.5.

Тем не менее, в AOCC 3.1 основным изменением стала актуализация его кодовой базы и связанных подпроектов, а также подгонка их под LLVM 12.0. Таким образом, нынешняя AOCC поставляется с последней стабильной версией LLVM, а на смену ей придет версия LLVM 13.0, которая должна выйти в сентябре. Правда, не уточняется, попадут ли обновления из AOCC 3.1 в основную ветку LLVM. Иных изменений нет или, как минимум, они не заявлены в явном виде. Скачать компилятор можно здесь.

Постоянный URL: http://servernews.ru/1045005
05.12.2020 [00:07], Андрей Галадей

AMD выпустила компилятор AOCC 2.3, но опять опаздывает с добавлением полноценной поддержки Zen 3 в GCC и LLVM

Компания AMD сообщила о добавлении официальной поддержки процессоров Ryzen 5000 на архитектуре Zen 3 в компилятор GCC. Как обычно, произошло это с некоторым опозданием. Хорошим тоном считается подготовка ПО для разработчиков примерно за полгода до выхода чипов на рынок. Например, Intel ещё в июле добавила подддержку Alder Lake и Sapphire Rapids в GCC. Это гарантирует, что к моменту начала продаж компиляторы будут поддерживать новое «железо».

Phoronix сообщает, что для GCC выпущен первый патч, который добавляет поддержку Zen 3 с новой опцией -march=znver3. При этом других изменений там пока нет, а все специализированные оптимизации, касающиеся, например, планировщика, остаются прежними, как и для Zen 2. Позднее, как ожидается, для znver3 будет произведена более точная настройка под новую микроархитектуру.

picsart.com

picsart.com

Ожидается, что полная поддержка будет реализована в GCC 11 или в GCC 12. В любом случае, это означает, что стабильный компилятор GCC не сможет в полной мере использовать преимущества микроархитектуры Zen 3 до 2021 года. На данный момент поддержка znver3 касается только корректной работы на процессорах Zen 2. Это очень похоже на базовую поддержку znver3 в LLVM.

Впрочем, в скором времени AMD выпустит свой официальный патч для LLVM/Clang. Помимо этого, компания выпустила AOCC 2.3 в качестве своего базового компилятора на основе LLVM 11.0 с добавлением различных патчей AMD Zen. Здесь ситуация аналогична — AOCC 2.3 по-прежнему ориентирован на Zen 2, но содержит базовую поддержку Zen 3.

Тем не менее, такая ситуация возникает не впервые — в своё время задержались улучшения LLVM для AMD Zen 2. Задержка с добавлением патчей приводит к тому, что они не успевают попасть в стабильные версии наборов компиляторов и, как следствие, в ближайшие мажорные версии основных дистрибутивов.

Постоянный URL: http://servernews.ru/1027076
13.08.2019 [09:57], Андрей Галадей

Компиляторы осваивают Zen 2 и AMD EPYC Rome

Команда разработчиков инструментов GNU выпустила GCC 9.2 — новейшую стабильную версию своего набора компиляторов. В этой сборке предложен ряд изменений и улучшений по сравнению с GCC 9.1, выпущенной в мае. В частности, это поддержка оптимизаций для архитектуры AMD Zen 2 (znver2), которая позволяет улучшить результаты работы.

logodownload.org

logodownload.org

При этом отметим, что GCC поддерживает десятки процессорных архитектур, в том числе довольно редкие. А также позволяет работать с целым рядом языков программирования, включая ключевую для серверного рынка «большую тройку»: C, C++ и Fortran.

Стабильная версия GCC 9.2 доступна на официальном сайте gcc.gnu.org. Новую версию под номером 10 планируется выпустить в период с апреля по май следующего года. 

Помимо этого, AMD выпустила оптимизирующий компилятор AOCC 2.0 (AMD Optimizing C/C++ Compiler), построенный на базе LLVM 8 и поддерживающий всю ту же «большую тройку» языков. Он включает в себя дополнительные улучшения для 17-го семейства «красных» процессоров на базе архитектур Zen, Zen+ и Zen 2 и доступен для 32- и 64-разрядных Linux-систем. В комплекте поставляется матбиблиотека AMDLibM. Поддерживаются процессоры AMD Ryzen и EPYC, в том числе «Эпики» 7002

Наработки из AOCC со временем должны попасть и в основную ветку LLVM. Отметим, что Intel в последнее время тоже неровно дышит к LLVM, добавляя поддержку оптимизаций для текущих и будущих решений.

Постоянный URL: http://servernews.ru/992307
Система Orphus