AMD hat seine Variante des Open64 Compilers in der Version 4.2.3.2-1 veröffentlicht. Der Compiler stammt von den SGI-Compilern für den MIPS R10000, welche im Jahr 2000 unter der GPL veröffentlicht wurden, ab. AMD's optimierender Compiler ist vor allem für die x86-32/64-Plattform unter Linux gedacht, ist aber auch zu vielen anderen Plattformen kompatibel.
Open64 unterstützt die Sprachen Fortran 77/95 und C/C++ und soll vor allem hochperformanten Code für Parallel-Computing erzeugen (über MPI, OpenMP und Auto-Parallelisierung mit hochoptimierten Bibliotheken).
Funktionen:
Language Standards
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
Platform Highlights
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
Diesen Artikel bookmarken oder senden an ...
