Open64, the open-source (GPLv2-licensed) compiler for C/C++ and Fortran that's backed by AMD and has been developed by SGI, HP, and various universities and research organizations, has reached a major milestone today. Version 5.0 of Open64
has been christened with many changes.
Open64 may not be as common as GCC -- or these days as popular as LLVM/Clang -- but it's been around for a decade and is still seeing new adoption and is playing important roles within AMD, NVIDIA, Hewlett-Packard, and many research organizations. The Open64 5.0 release announcement
describes the major changes in this new version as offering performance improvements, new optimizations, infrastructure changes, and bug-fixes. Open64 is officially supported on i386, x86_64, and IA-64 architectures.
At a lower level, some of the specific changes I've spotted in Open64 5.0 worth pointing out includes extended intrinsic support for IA-64, improved -O3
floating point performance, improved vectorization, extended proactive loop optimizations, frame-pointer optimizations, and several other compiler optimizations. There's also improved support for code generation for SSE4, AVX, and FMA instruction sets. This will benefit the AMD Bulldozer CPUs
such as the AMD FX-8150
Other items in Open64 5.0 include "comprehensive support and tuning for the Bulldozer processor", improved register pressure-based scheduling, and a best-fit loop unrolling algorithm. The GCC3 front-end has also been deprecated along with the IRIX support, which will be gutted out after this 5.0 release.
For those that may be wondering why use Open64 over GCC, for certain cases the binaries produced by Open64 can be faster than the GNU Compiler Collection. Most of the performance improvements are for AMD hardware. AMD also maintains their branch of the Open64 compiler, which will likely be updated to version 5.0 in the near future. Open64 is also GPLv2 licensed where as GCC is with the GPLv3, which has upset some companies that otherwise like the de facto GNU compiler.
Recently I carried out some GCC, LLVM/Clang, and Open64 compiler benchmarks
and Open64 compiler tuning for Bulldozer
, but with the 5.0 release of Open64, new benchmarks from Bulldozer and other processors will be on my agenda.
The Open64 5.0 release comes just weeks after the Bulldozer launch and at a time when GCC 4.7 is under active development
with a planned release in March or April
. The Apple crew is also preparing to release LLVM/Clang 3.0
next week, which also offers up many improvements and has already been the focus of several articles
is the Open64 5.0 release announcement, but it's not really useful, so if you want to grab this new open-source compiler release just drop by Open64.net
While downloading Open64 5.0, be sure to check out the 14-way NVIDIA vs. Nouveau driver and hardware comparison