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

01.09.2020 [22:55], Илья Коваль

LLVM 12 вслед за GCC 11 внедряет поддержку грядущей серверной платформы Intel Sapphire Rapids

Без поддержки со стороны ПО и особенно средств для его разработки, толку от любого аппаратного обеспечения мало. Поэтому вендоры стараются заранее добавить поддержку новых платформ в популярные проекты. В первую очередь, в наборы компиляторов. Причём сделать это надо заранее, до выхода очередного мажорного релиза. Из патчей для них также можно почерпнуть информацию об особенностях ещё не вышедших платформ.

Конкретно с Sapphire Rapids подготовка к выходу выглядит несколько преждевременной, так как эти чипы появятся только в 2021 году или, если говорить точнее, до конца 2021 года. Мы уже знаем, что они получат поддержку PCIe 5.0 и DDR5, но гораздо интереснее то, какие инструкции они получат. Впрочем, тут пока ничего неожиданного нет — статус самого крупного и значимого нововведения после появления AVX-512 всё ещё числится за набором Intel AMX, который создан специально для матричных операций. Они расширят возможности работы с машинными обучением, дополнив поддержку bfloat16 и VNNI.

Фото: PCWatch Japan

Фото: PCWatch Japan

Clang в LLVM получит поддержку AMX-TILE, AMX-INT8 и AMX-BF16 в дополнение к ранее объявленным в GCC инструкциям AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD, AVX512VNNI, AVX512BF16 и AVX512VP2INTERSECT. Кроме того, есть ряд новых инструкция, связанных с TSX, работой с кешем/регистрами/буферами, энергосбережением и трассировкой в самом CPU. Это пока не полный список всех нововведений, но большая часть из них должна быть добавлена к финальным релизам: GCC 11 должен появиться в самом начале 2021 года, а выход LLVM 12 запланирован на февраль.

Постоянный URL: http://servernews.ru/1019649
07.05.2020 [21:57], Алексей Степин

Вышел релиз GCC 10: поддержка Radeon OpenMP, Intel Cooper Lake и новых ARM-платформ

Наряду с проприетарными компиляторами в индустрии широко используется набор GCC (GNU Complier Collection), включающий в себя поддержку не только C и С++, но и таких языков, как Objective-C, Java, Fortran, Ada, Go, GAS и D. Буквально сегодня было объявлено о первом релизе GCC 10 ветки stable.

Речь идёт о версии GCC 10.1. Она вышла спустя полтора месяца после релиза другого, не менее значимого проекта LLVM 10.

Новая версия содержит ряд нововведений. В частности, поддерживается новый стандарт C++20 и содержит архитектурные оптимизации под архитектуры Intel Tiger Lake и Cooper Lake. Также внедрена поддержка ряда вариантов архитектуры ARM:

  • Cortex-A77;
  • Cortex-A76AW;
  • Cortex-A65/65AE;
  • Cortex-A34;
  • Marvell Thunder X3.

Появилась поддержка OpenMP и OpenACC для ускорителей AMD Radeon; правда, она пока ограничена архитектурами Fiji и Vega, более новая Navi ещё не поддерживается. OpenACC имеет версию 2.6 и поддерживается компиляторами C, C++ и Fortran.

Прототип Intel Tiger Lake (фото AnandTech)

Прототип Intel Tiger Lake (фото AnandTech)

Помимо x86 и ARM проект получил поддержку микроконтроллеров семейства AVR XMEGA (серии ATtiny и ATmega, полный список можно найти здесь). А вот поддержка векторных расширений PowerPC отмечена, как «устаревшая»; скорее всего, она будет окончательно удалена в GCC 11.

В GCC 10 версии также появился статический анализатор, который должен помочь в поиске проблемных мест в коде. Кроме того, в пакете содержится ряд исправлений и оптимизаций. Полный список обновлений и дополнений содержится на сайте GCC. Там же можно скачать новую версию, либо воспользоваться для скачивания одним из зеркал проекта.

Постоянный URL: http://servernews.ru/1010406
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