Jump to content

Open64

From Wikipedia, the free encyclopedia
Open64
Developer(s)Silicon Graphics,Inc., Institute of Computing Technology,Chinese Academy of Sciences,Hewlett-Packard,University of Delaware
Initial release2002;22 years ago(2002)
Final release
5.0 / November 10, 2011;12 years ago(2011-11-10)
Operating systemCross-platform,Linux
TypeCompiler
LicenseGNU General Public License
Websitesourceforge.net/projects/open64/

Open64is afree,open-source,optimizingcompilerfor theItaniumandx86-64microprocessorarchitectures. It derives from theSGIcompilers for the MIPSR10000processor, calledMIPSPro.It was initially released in 2000 asGNU GPLsoftware 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 andcomputer architectureresearch groups. Open64 supportsFortran77/95 and C/C++, as well as theshared memoryprogramming modelOpenMP.It can conduct high-qualityinterprocedural analysis,data-flow analysis,datadependence analysis,andarray region analysis.Development has ceased, although other projects can use the project's source.

The infrastructure

[edit]

Its major components are thefrontendfor C/C++ (usingGCC) and Fortran 77/90 (using the CraySoft front-end and libraries),Interprocedural analysis(IPA), loop nest optimizer (LNO), global optimizer (WOPT), andcode generator(CG). Despite being initially written for a single computer architecture, Open64 has proven that it can generate efficient code forCISC,RISC,andVLIWarchitectures, includingMIPS,x86,IA-64,ARM,and others.

Intermediate representation

[edit]

A hierarchicalintermediate 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.

Versions

[edit]

The original version of Open64 that was released in 2002 was missing its very advancedsoftware pipeliningcode 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. TheShowdown Paperdocuments 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 manyforks,each of which has different features and limitations. The "classic" Open64 branch is theOpen Research Compiler(ORC), which produces code only for the Itanium (IA-64), and was funded byIntel.The ORC effort ended in 2003, and the current official branch (which originated from the Intel ORC project) is managed byHewlett-Packardand theUniversity of Delaware's Computer Architecture and Parallel Systems Laboratory (CAPSL).

Other important branches include the compilers fromTensilicaand theAMDx86 Open64 Compiler Suite.[1]

Nvidiais also using an Open64 fork to optimize code in itsCUDAtoolchain.[2]

Open64 is used as the backend for theHPE NonStop OScompilers on the x86-64 platform.[3]

Open64 releases

[edit]
Version Release date
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 releases

[edit]
Version Release date
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

Current development projects

[edit]

Open64 is also used in a number of research projects, such as theUnified Parallel C(UPC) andspeculative multithreadingwork at various universities. The 2010 Open64 Developers Forum describes projects done atAbsoft,AMD,Chinese Academy of Sciences,Fudan University,HP,National Tsing Hua University,Nvidia,Tensilica,Tsinghua University,andUniversity of Houston.[4]TheChinese Academy of Sciencesported Open64 to theLoongsonII platform.[5]

AMDhas extended and productized Open64 with optimizations designed for x86 multi-core processor advancements and multi-threaded code development.[6]AMD supports Open64 as a complementary compiler toGCC.[7]

The University of Houston's OpenUH project, which is based on Open64, released a new version of its compiler suite in November 2015.[8]

See also

[edit]

References

[edit]
  1. ^"x86 Open64 Compiler Suite".AMD.Archived fromthe originalon 13 November 2013.Retrieved12 November2013.
  2. ^NVIDIA’s Experience with Open64
  3. ^"John Reagan Interview on LLVM, part 2".ecubesystems.2019-05-01. Archived fromthe originalon 2020-11-25.Retrieved2020-12-21.
  4. ^"2010 Open64 Developers Forum, August 25, 2010".Archived fromthe originalon June 12, 2010.RetrievedSeptember 6,2010.
  5. ^Open64 on MIPS: porting and enhancing Open64 for Loongson II
  6. ^Nigel Dessau, AMD CMO (June 22, 2009)."Sweet Suite, blog posting".Archived fromthe originalon 2010-09-06.
  7. ^"AMD Open64 download page".Archived fromthe originalon 2013-03-13.Retrieved2012-11-13.
  8. ^OpenUH downloads page
[edit]