The x86 Open64 compiler system is a high performance, production quality code generation tool designed for high performance parallel computing workloads. The x86 Open64 environment provides the developer the essential choices when building and optimizing C, C++, and Fortran applications targeting 32-bit and 64-bit Linux platforms.
The x86 Open64 compiler system offers a high level of advanced optimizations, multi-threading, and processor support that includes global optimization, vectorization, interprocedural analysis, feedback directed optimizations, loop transformations, and code generation which extracts the optimal performance from each x86 processor core.
The x86 Open64 Compiler Suite simplifies and accelerates development and tuning for x86, AMD64 (AMD® x86-64 Architecture), and Intel64 (Intel® x86-64 Architecture) applications. The x86 Open64 compilers create a strong foundation for building robust, high performance parallel code through MPI, OpenMP®, and auto-parallelization along with highly optimized libraries*.
* See Release Notes regarding parallel code generation
» Features » Documentation » Support » Related Resources » Downloads
|
The x86 Open64 Compiler Suite provides the following features to help you generate high-performance multi-threaded applications for multi-core platforms.
| Language Standards |
Platform Highlights |
- ANSI C99, ISO C++98
- Conforms to ISO/IEC 9899: 1999, Programming Languages - C standard
- Conforms to ISO/IEC 14882:1998(E), Programming Languages - C++ standard
- Fortran 77, 90, 95
- Conforms to ISO/IEC 1539-1: 1997 Programming Languages - Fortran
- Inter-language calling
- IEEE 754 floating point support
- Pragmas to control optimizations
|
- x86 32-bit and x86 64-bit code generation
- Large File support on 32-bit systems
- Byte-swapping I/O
- Vector and scalar SSE/SSE2/SSE3 code generation
- OpenMP 2.5 for shared memory models
- MPICH2 for distributed and shared memory models
- Optimized AMD Core Math Library (ACML)
|
|
Optimization Highlights |
- Global optimizations, e.g.
- Partial redundancy elimination
- Constant propagation and code motion
- Strength reduction and expression simplification
- Dead code elimination and common sub-expression elimination
- Loop-nest optimizations
(enabled with '-O3'), e.g.
- – Loopfusion and distribution
- Loop interchange and cache locality optimization
- Vectorization for SSE* code generation
- Software data prefetching
- Code generation and optimizations, e.g.
- Advanced register allocation
- Loop unrolling
- Instruction selection and scheduling
- Peephole optimizations
- Feedback-directed optimizations
(enabled with ‘-fb_create/-fb_opt’), e.g.
- Code layout
- Feedback-directed function inlining and de-virtualization
- Feedback-guided register spilling
- Value specialization
- Inter-procedural analysis and optimization
(enabled with '-ipa'), e.g.
- Function inlining and cloning
- Inter-procedural alias analysis
- Data re-layout optimizations for structure members
- Inter-procedural constant propagation and dead code elimination
|
AMD offers specialized support to the application developers and users throughout the development and test cycle of their applications. Support is available via the following mechanisms:
» Online Help
» Knowledge Base articles
» Forums
» Email inquiry
If you do not find what you need above, AMD’s Technical Support is available to x86 Open64 customers. Registration is required. AMD is committed to providing timely technical support to customers using the x86 Open64 compiler to develop or port applications to AMD platforms within an enterprise Linux® environment.
The AMD Developer Central Help Request system is an interactive web site allowing AMD x86 Open64 customers to submit questions, issues, feature requests, and other technical service requests or monitor status of a previously submitted service request
The AMD x86 Open64 Technical Support Service and AMD Service Level Agreement describe the services, priorities, responsibilities, and other terms.
Open64 is an open source, optimizing compiler for x86-32 and x86-64 architectures as well as many other micro-architectures. It derives from the Silicon Graphics, Inc. compilers for the MIPS processor, called MIPSPro. It was released under the GNU GPL in 2000. Open64 supports C/C++ and Fortran 77/95, as well as the shared memory programming model OpenMP. The compiler can perform high-quality interprocedural analysis, data-flow analysis, data dependence analysis, and array region analysis.
» To learn more, visit Open64.net.
Open64 leverages many aspects from the GNU Compiler Collection (GCC). Built within the Open64 framework is the gcc/g++ front-end which augments the gnu-compatibility of the Open64 compiler system. The Open64 compiler also relies on the GNU collection of binary tools (i.e. binutils) and C Library (i.e. glibc).
» For more information regarding the GNU preprocessors and binutils, visit GNU.org.
The x86 Open64 Compilers for Linux provides C, C++, and Fortran development tools. In addition to the software download, you can obtain Technical Support on installation, usage, configuration, and application development advice.
Note: Please read the Installation Prerequisites and Guidelines which provides instructions on how to configure your environment and install the x86 Open64 compilers.