Open64

Open64 — открытый оптимизирующий компилятор под архитектуры Intel IA-64 (Itanium) и AMD64 (x86_64). Представляет собой ответвление компилятора фирмы SGI для MIPS-процессора R10000. Open64 был выпущен под лицензией GPL в 2000 году, и сейчас чаще всего устанавливается на исследовательских платформах и в организациях, занимающихся исследованиями компиляторов и компьютерных архитектур. Open64 распространяется под лицензией GPL. Open64 поддерживает языки Фортран 77/95 и Си / Си++; также поддерживает API OpenMP для программирования кроссплатформенных многопоточных приложений с разделяемой памятью. Компилятор обеспечивает высококачественный межпроцедурный анализ, анализ потока данных  (англ.), анализ зависимости по данным и контроль границ массивов.

Open64
Логотип программы Open64
Тип Компилятор
Разработчик Open64 Team
Операционная система Кроссплатформенное программное обеспечение
Первый выпуск 2002
Последняя версия 5.0 (10 ноября 2011[1])
Лицензия GPL
Сайт sourceforge.net/projects…

Инфраструктура править

Основные компоненты инфраструктуры поддерживают внутреннее представление для языков Си / Си++ (используя компилятор gcc) и Фортран 77/90 (используя компилятор CraySoft), межпроцедурный анализ, оптимизацию вложенных циклов, глобальную оптимизацию и кодогенерацию. Несмотря на то, что для простых компьютеров разработки Open64 находятся на начальной стадии, они уже доказали, что способны генерировать код для архитектур CISC, RISC и VLIW, включая MIPS, x86, IA-64, ARM и других.

Версии править

Оригинальная версия Open64 была выпущена в 2002 году. Она была лишена некоторых важных оптимизаций, в частности, продвинутого кодогенератора с поддержкой software pipelining, и поддерживала лишь упрощенный генератор машинного кода для Itanium. Полнофункциональный вариант компилятора, MIPSPro, был доступен лишь под коммерческой лицензией как компилятор Blackbird от Reservoir Labs. Описание исключенного кодогенератора приводится в статье Showdown Архивная копия от 6 марта 2021 на Wayback Machine. В частности, на базе Blackbird был создан компилятор для чипов TILE64 компании Tilera.

Open64 продолжил развитие в множестве версий, каждое из ответвлений имеет собственные достоинства и ограничения. Классическая ветвь Open64 развивается как Open Research Compiler (ORC) и поддерживает компиляцию только для платформы Itanium (IA-64), этот вариант финансировался Intel. В 2003 году ORC прекратил развитие, код, унаследованный от проекта Intel ORC, поддерживается Hewlett Packard и университетом Делавэра (лаборатория CAPSL - Computer Architecture and Parallel Systems Laboratory).

Собственные версии компиляторов на базе Open64 выпускала Tensilica.

AMD создала "x86 Open64 Compiler Suite" на базе варианта Open64.[2]

Nvidia использовала вариант Open64 в наборе компиляторов для GPGPU интерфейса CUDA.[3]

Выпуски Open64 править

Версия Дата выхода
5.0 2011-11-10
4.2.4 2011-04-12
4.2.3 2010-04-09
4.2.1 2008-12-08
4.2 2008-10-01
4.1 2007-12-03
4.0 2007-06-15
3.1 2007-04-13
3.0 2006-11-22
2.0 2006-10-02
1.0 2006-09-22
0.16 2003-07-07
0.15 2002-11-30
0.14 2002-03-04
0.13 2002-01-10

Выпуски AMD x86 Open64 править

Версия Дата выхода
4.5.2.1 2013-03-28
4.5.2 2012-08-08
4.5.1 2011-12-19
4.2.4 2010-06-29
4.2.3.2 2010-05-17
4.2.3.1 2010-01-29
4.2.3 2009-12-11
4.2.2.3 2009-11-23
4.2.2.2 2009-08-31
4.2.2.1 2009-06-03
4.2.2 2009-04-24

Примечания править

  1. Open64 5.0 is available (недоступная ссылка)
  2. x86 Open64 Compiler Suite. AMD. Дата обращения: 12 ноября 2013. Архивировано из оригинала 13 ноября 2013 года.
  3. NVIDIA’s Experience with Open64. Дата обращения: 5 августа 2016. Архивировано 30 октября 2020 года.