Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Open64 – Itanium және x86 64 микропроцессор архитектуралары үшін тегін, ашық кодты, оптимизациялайтын компилятор. Ол MIPS R10000 процессоры үшін MIPSPro деп аталған SGI компиляторларынан туындаған. Алғаш рет 2000 жылы Pro64 деген атпен GNU GPL лицензиясымен бағдарламалық қамтамасы ретінде жарияланды. Келесі жылы Делавэр университеті жобаны қабылдап, компилятордың атауын Open64 деп өзгертті. Қазіргі кезде ол негізінен компиляторлар және компьютерлік архитектура зерттеу топтары үшін зерттеу платформасы қызметін атқарады. Open64 Fortran 77/95 және C/C++ тілдерін, сондай-ақ ортақ жадты бағдарламалау моделі OpenMP-ті қолдайды. Ол жоғары сапалы процедуралар аралық талдау, дерек ағыны талдау, дерек тәуелділігі талдау және массивтік аймақтар талдауын жүргізе алады. Жобаны дамыту тоқтатылды, бірақ басқа жобалар оның бастапқы кодын пайдалана береді.
Open64 is a free, open source, optimizing compiler for the Itanium and x86 64 microprocessor architectures. It derives from the SGI compilers for the MIPS R10000 processor, called MIPSPro. It was initially released in 2000 as GNU GPL software under the name Pro64. The following year, University of Delaware adopted the project and renamed the compiler to Open64. It now mostly serves as a research platform for compiler and computer architecture research groups. Open64 supports Fortran 77/95 and C/C++, as well as the shared memory programming model OpenMP. It can conduct high quality interprocedural analysis, data flow analysis, data dependence analysis, and array region analysis. Development has ceased, although other projects can use the project's source.
Инфрақұрылым
Оның негізгі құрамдас бөліктері C/C++ (GCC қолданылатын) және Fortran 77/90 (CraySoft фронтенді және кітапханаларын қолданылатын), процедуралар аралық талдау (IPA), циклдар жинағын оңтайландырушы (LNO), жаһандық оңтайландырушы (WOPT) және кодты генератор (CG) болып табылады. Бастапқыда бір компьютерлік архитектура үшін жазылған болса да, Open64 CISC, RISC және VLIW архитектуралары үшін тиімді кодты жасай алатынын көрсетті, оның ішінде MIPS, x86, IA 64, ARM және басқалары.
Its major components are the frontend for C/C++ (using GCC) and Fortran 77/90 (using the CraySoft front end and libraries), Interprocedural analysis (IPA), loop nest optimizer (LNO), global optimizer (WOPT), and code generator (CG). Despite being initially written for a single computer architecture, Open64 has proven that it can generate efficient code for CISC, RISC, and VLIW architectures, including MIPS, x86, IA 64, ARM, and others.
Аралық өкілдік
Бұл компиляторда фронт-энд және бэк-энд компоненттерінің барлығы үшін ортақ интерфейс ретінде қызмет ету үшін бес негізгі деңгейлі иерархиялық аралық өрнеу (IR) пайдаланылады. Бұл IR WHIRL деп аталады.
A hierarchical intermediate representation (IR) with five main levels is used in this compiler to serve as the common interface among all the frontend and backend components. This IR is named 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 компиляторлары үшін артқы бөлік ретінде қолданылады.
The original version of Open64 that was released in 2002 was missing its very advanced software pipelining code generator, and had only a rudimentary code generator for Itanium. The entire original MIPSPro compiler, with this code generator, is available under a commercial license as the Blackbird compiler from Reservoir Labs. The Showdown Paper documents the code generator that was not included in Open64. The very advanced compiler from Tilera, for its 64 core TILE64 chip, is based on Blackbird. Open64 exists in many forks, each of which has different features and limitations. The "classic" Open64 branch is the Open Research Compiler (ORC), which produces code only for the Itanium (IA 64), and was funded by Intel. The ORC effort ended in 2003, and the current official branch (which originated from the Intel ORC project) is managed by Hewlett Packard and the University of Delaware's Computer Architecture and Parallel Systems Laboratory (CAPSL). Other important branches include the compilers from Tensilica and the AMD x86 Open64 Compiler Suite. Nvidia is also using an Open64 fork to optimize code in its CUDA toolchain. Open64 is used as the backend for the HPE NonStop OS compilers on the x86 64 platform.
Open64 Бірыңғай қатарлас C (UPC) сияқты бірқатар зерттеу жобаларында және әртүрлі университеттердегі болжамды көп жіпті жұмыстарда да қолданылады. 2010 жылғы Open64 әзірлеушілер форумы Absoft, AMD, Қытай ғылым академиясы, Фудан университеті, HP, Ұлттық Цинхуа университеті, Nvidia, Tensilica, Цинхуа университеті және Хьюстон университетінде жүргізілген жобаларды сипаттайды. Қытай ғылым академиясы Open64-ті Loongson II платформасына аударды. AMD x86 көп ядролы процессорлардың жетістіктері мен көп жіпті кодты әзірлеуге арналған оңтайландырулармен Open64-ті кеңейтіп, өнімге енгізді. AMD Open64-ті GCC-ге толықтыратын компилятор ретінде қолдайды. Open64 негізінде құрылған Хьюстон университетінің OpenUH жобасы 2015 жылдың қараша айында компилятор жиынтығының жаңа нұсқасын жариялады.
Open64 is also used in a number of research projects, such as the Unified Parallel C (UPC) and speculative multithreading work at various universities. The 2010 Open64 Developers Forum describes projects done at Absoft, AMD, Chinese Academy of Sciences, Fudan University, HP, National Tsing Hua University, Nvidia, Tensilica, Tsinghua University, and University of Houston. The Chinese Academy of Sciences ported Open64 to the Loongson II platform. AMD has extended and productized Open64 with optimizations designed for x86 multi core processor advancements and multi threaded code development. AMD supports Open64 as a complementary compiler to GCC. The University of Houston's OpenUH project, which is based on Open64, released a new version of its compiler suite in November 2015.