Кіріспе

Open64 – Itanium және x86 64 микропроцессор архитектуралары үшін тегін, ашық кодты, оптимизациялайтын компилятор. Ол MIPS R10000 процессоры үшін MIPSPro деп аталған SGI компиляторларынан туындаған. Алғаш рет 2000 жылы Pro64 деген атпен GNU GPL лицензиясымен бағдарламалық қамтамасы ретінде жарияланды. Келесі жылы Делавэр университеті жобаны қабылдап, компилятордың атауын Open64 деп өзгертті. Қазіргі кезде ол негізінен компиляторлар және компьютерлік архитектура зерттеу топтары үшін зерттеу платформасы қызметін атқарады. Open64 Fortran 77/95 және C/C++ тілдерін, сондай-ақ ортақ жадты бағдарламалау моделі OpenMP-ті қолдайды. Ол жоғары сапалы процедуралар аралық талдау, дерек ағыны талдау, дерек тәуелділігі талдау және массивтік аймақтар талдауын жүргізе алады. Жобаны дамыту тоқтатылды, бірақ басқа жобалар оның бастапқы кодын пайдалана береді.

Инфрақұрылым

Оның негізгі құрамдас бөліктері C/C++ (GCC қолданылатын) және Fortran 77/90 (CraySoft фронтенді және кітапханаларын қолданылатын), процедуралар аралық талдау (IPA), циклдар жинағын оңтайландырушы (LNO), жаһандық оңтайландырушы (WOPT) және кодты генератор (CG) болып табылады. Бастапқыда бір компьютерлік архитектура үшін жазылған болса да, Open64 CISC, RISC және VLIW архитектуралары үшін тиімді кодты жасай алатынын көрсетті, оның ішінде MIPS, x86, IA 64, ARM және басқалары.

Аралық өкілдік

Бұл компиляторда фронт-энд және бэк-энд компоненттерінің барлығы үшін ортақ интерфейс ретінде қызмет ету үшін бес негізгі деңгейлі иерархиялық аралық өрнеу (IR) пайдаланылады. Бұл IR WHIRL деп аталады.

Нұсқалар

2002 жылы шыққан Open64-тің бастапқы нұсқасында оның өте жетілген бағдарламалық құбырлау код генераторы болмады, және Itanium үшін ғана қарапайым код генераторы болды. Осы код генераторымен бірге толық MIPSPro компиляторы Reservoir Labs компаниясының Blackbird компиляторы ретінде коммерциялық лицензия бойынша қолжетімді. 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 компиляторлар жиынтығы жатады. Nvidia сонымен қатар CUDA құралдар жинағында кодты оңтайландыру үшін Open64 тармағын пайдаланады. Open64 x86 64 платформасындағы HPE NonStop OS компиляторлары үшін артқы бөлік ретінде қолданылады.

Open64 нұсқалары

Версиясы шығарылған күні:
5.0 2011 11 11
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.12013 03 284.5.22012 08 084.5.12011 12 194.2.42010 06 294.2.3.22010 05 174.2.3.12010 01 294.2.32009 12 114.2.2.32009 11 234.2.2.22009 08 314.2.2.12009 06 034.2.22009 04 24

Қазіргі уақыттағы даму жобалары

Open64 Бірыңғай қатарлас C (UPC) сияқты бірқатар зерттеу жобаларында және әртүрлі университеттердегі болжамды көп жіпті жұмыстарда да қолданылады. 2010 жылғы Open64 әзірлеушілер форумы Absoft, AMD, Қытай ғылым академиясы, Фудан университеті, HP, Ұлттық Цинхуа университеті, Nvidia, Tensilica, Цинхуа университеті және Хьюстон университетінде жүргізілген жобаларды сипаттайды. Қытай ғылым академиясы Open64-ті Loongson II платформасына аударды. AMD x86 көп ядролы процессорлардың жетістіктері мен көп жіпті кодты әзірлеуге арналған оңтайландырулармен Open64-ті кеңейтіп, өнімге енгізді. AMD Open64-ті GCC-ге толықтыратын компилятор ретінде қолдайды. Open64 негізінде құрылған Хьюстон университетінің OpenUH жобасы 2015 жылдың қараша айында компилятор жиынтығының жаңа нұсқасын жариялады.