stringtranslate.com

Открыть64

Open64 — это бесплатный , открытый исходный код , оптимизирующий компилятор для архитектур микропроцессоров Itanium и x86-64 . Он происходит от компиляторов SGI для процессора MIPS R10000 , называемых MIPSPro . Первоначально он был выпущен в 2000 году как программное обеспечение GNU GPL под названием Pro64. В следующем году Университет Делавэра принял проект и переименовал компилятор в Open64. Сейчас он в основном служит исследовательской платформой для исследовательских групп по компиляторам и компьютерной архитектуре . Open64 поддерживает Fortran 77/95 и C / C++ , а также модель программирования с общей памятью OpenMP . Он может проводить высококачественный межпроцедурный анализ , анализ потока данных , анализ зависимости данных и анализ области массива. Разработка прекращена, хотя другие проекты могут использовать исходный код проекта.

Инфраструктура

Его основными компонентами являются frontend для C/C++ (использующий GCC ) и Fortran 77/90 (использующий front-end и библиотеки CraySoft), Interprocedural analysis (IPA), loop nest optimizer (LNO), global optimizer (WOPT) и code generator (CG). Несмотря на то, что Open64 изначально был написан для одной компьютерной архитектуры, он доказал, что может генерировать эффективный код для архитектур CISC , RISC и VLIW , включая MIPS , x86 , IA-64 , ARM и другие.

Промежуточное представление

В этом компиляторе используется иерархическое промежуточное представление (IR) с пятью основными уровнями, которое служит общим интерфейсом между всеми компонентами frontend и backend . Это IR называется WHIRL.

Версии

В оригинальной версии Open64, выпущенной в 2002 году, отсутствовал очень продвинутый программный конвейерный генератор кода, и был только рудиментарный генератор кода для Itanium. Весь оригинальный компилятор MIPSPro с этим генератором кода доступен по коммерческой лицензии как компилятор Blackbird от Reservoir Labs. The Showdown Paper документирует генератор кода, который не был включен в Open64. Очень продвинутый компилятор от Tilera для его 64-ядерного чипа TILE64 основан на Blackbird.

Open64 существует во многих ветвях , каждая из которых имеет различные особенности и ограничения. «Классическая» ветвь Open64 — это Open Research Compiler (ORC), которая производит код только для Itanium (IA-64) и финансировалась Intel . Работа над ORC завершилась в 2003 году, а текущая официальная ветвь (которая возникла из проекта Intel ORC) управляется Hewlett-Packard и Лабораторией компьютерной архитектуры и параллельных систем (CAPSL) Университета Делавэра .

Другие важные ветви включают компиляторы Tensilica и AMD x86 Open64 Compiler Suite. [1]

Nvidia также использует форк Open64 для оптимизации кода в своей цепочке инструментов CUDA . [2]

Open64 используется в качестве бэкэнда для компиляторов HPE NonStop OS на платформе x86-64. [3]

Релизы Open64

Релизы AMD x86 Open64

Текущие проекты развития

Open64 также используется в ряде исследовательских проектов, таких как Unified Parallel C (UPC) и спекулятивная многопоточная работа в различных университетах. Форум разработчиков Open64 2010 года описывает проекты, выполненные в Absoft , AMD , Китайской академии наук , Университете Фудань , HP , Национальном университете Цинхуа , Nvidia , Tensilica , Университете Цинхуа и Университете Хьюстона . [4] Китайская академия наук перенесла Open64 на платформу Loongson II. [5]

AMD расширила и превратила Open64 в продукт с оптимизациями, разработанными для усовершенствований многоядерных процессоров x86 и разработки многопоточного кода. [6] AMD поддерживает Open64 как дополнительный компилятор к GCC . [7]

Проект OpenUH Хьюстонского университета, основанный на Open64, выпустил новую версию своего набора компиляторов в ноябре 2015 года. [8]

Смотрите также

Ссылки

  1. ^ "x86 Open64 Compiler Suite". AMD . Архивировано из оригинала 13 ноября 2013 г. Получено 12 ноября 2013 г.
  2. ^ Опыт NVIDIA с Open64
  3. ^ "Интервью Джона Рейгана о LLVM, часть 2". ecubesystems.com . 2019-05-01. Архивировано из оригинала 2020-11-25 . Получено 2020-12-21 .
  4. ^ "Форум разработчиков Open64 2010, 25 августа 2010". Архивировано из оригинала 12 июня 2010. Получено 6 сентября 2010 .
  5. ^ Open64 на MIPS: портирование и улучшение Open64 для Loongson II
  6. ^ Найджел Дессау, AMD CMO (22 июня 2009 г.). "Sweet Suite, блог-пост". Архивировано из оригинала 2010-09-06.
  7. ^ "Страница загрузки AMD Open64". Архивировано из оригинала 2013-03-13 . Получено 2012-11-13 .
  8. ^ Страница загрузок OpenUH

Внешние ссылки