Нативная поддержка Zen 6 и EPYC Venice
Вместе с запуском процессоров AMD EPYC 9006 серии "Venice" (SP7), включая флагманы EPYC 9996 и EPYC 9686F, AMD представила версию 6.0 своего собственного компиляторного стека AOCC. Это решение предлагает альтернативу стандартным целевым настройкам znver6 в upstream LLVM/Clang и GCC, обеспечивая специализированную оптимизацию под новую архитектуру.
Ключевым компонентом обновления стала библиотека AOCL-LibM 6.0, которая также перетюнена под Zen 6. Весь код AOCC 6.0 адаптирован для работы с серией EPYC 9006, что должно дать максимальную производительность при компиляции кода для этих серверных решений.
Новый Fortran-компилятор aof
Важным нововведением стало появление aof — нового Fortran-компилятора от AMD. Он позиционируется как будущее развитие Fortran-инструментария в рамках AOCC. На текущий момент aof находится на одном уровне с кодом upstream LLVM Clang, но предлагает улучшенную конформность с последними стандартами Fortran и OpenMP. Старый модифицированный компилятор Flang остается в кодовой базе AOCC в релизе v6.0.
Брендинг: от clang к aoc и aoc++
AMD изменила имена бинарных файлов для лучшего разграничения использования компилятора. Если ранее исполняемые файлы назывались clang и clang++, то теперь:
- aoc — имя C-компилятора AMD.
- aoc++ — имя C++ компилятора AMD.
Старые имена clang и clang++ теперь являются символическими ссылками (symlinks) на новые бинарные файлы, что обеспечивает обратную совместимость.
Технические детали и база LLVM
AOCC 6.0 базируется на LLVM 21.1.8. Примечательно, что это версия от конца прошлого года. Несмотря на наличие более свежих стабильных серий LLVM 22 и 23, AMD не смогла интегрировать их в данный релиз. Это может означать, что пользователи, нуждающиеся в самых последних патчах LLVM, могут столкнуться с задержкой по сравнению с upstream-разработкой.
Сравнение подходов к компиляции
| Параметр | AMD AOCC 6.0 | Upstream LLVM/Clang & GCC |
|---|---|---|
| Базовая версия LLVM | 21.1.8 | Актуальные версии (22/23) |
| Оптимизация под Zen 6 | Специфическая (AOCC tuning) | Стандартная (znver6) |
| Fortran-компилятор | Новый aof (улучшенная конформность) |
Стандартный Flang/LLVM |
| Имена бинарников | aoc, aoc++ |
clang, clang++ |
Скачать AMD Optimizing C/C++ Compiler 6.0 можно на официальном сайте AMD. Ожидается, что в ближайшее время появятся первые бенчмарки, сравнивающие производительность AOCC 6.0 с upstream LLVM/Clang и GCC на серверах с EPYC 9006 SP7.
Источник: Phoronix ↗
