AOCC compiler (C/C++/Fortran)
Latest release: 5.0, October 2024
https://www.amd.com/en/developer/aocc.html
Action | Command |
---|---|
Architecture | |
Generate instructions that runs on AMD 5th Gen EPYC™ and AMD 5th Gen Ryzen™ |
|
Generate instructions supported in the given machine |
|
Optimization Levels | |
Disables all optimizations |
|
Enables minimal level optimizations |
|
Enables moderate level optimizations (Default from AOCC 4.1) |
|
Enables all optimizations that attempt to make programs run faster |
|
Enables O3 with other aggressive optimizations that may violate strict compliance and precisions |
|
Enables link time optimization |
|
Enables advanced optimizations - improved variants of various scalar, vector, and loop transformations |
|
Enables advanced vector transformations |
|
Enables loop transformations |
|
Enables advanced loop transformations |
|
Enables memory layout optimizations |
|
Enables function level optimizations |
|
Profile guided optimizations |
(1st invocation)
(2nd invocation) |
Enables use of OpenMP® directives |
|
Enables streaming stores to optimize memory bandwidth usage |
|
Other Options | |
Enables faster, less precise math operations (part of Ofast) |
|
OpenMP® threads and affinity (N number of cores) |
|
Link to AMD library |
|
Enables vector library |
|
Enables faster library |
|
For Fortran Workloads | |
Compiles Fortran free form layout |
|
AMD Optimized Libraries
Latest release: 5.0, October 2024
AMD uProf (Performance & Power Profiler)
Latest release: 5.0, October 2024
GNU Compiler Collection
https://www.amd.com/en/developer/uprof.html
Latest release: GCC 14.2, July 2024
Recommended version: GCC 14.1 or later
Action | Command |
---|---|
Architecture | |
Generate instructions that runs on AMD 5th Gen EPYC™ and AMD 5th Gen Ryzen™ |
|
Generate instructions supported in the given machine |
|
Optimization Levels | |
Disables all optimizations (default) |
|
Enables minimal level optimizations |
|
Enables moderate level optimizations |
|
Enables all optimizations that attempt to make programs run faster |
|
Enables O3 with other aggressive optimizations that may violate strict compliance and precisions |
|
Additional Optimizations | |
Enables link time optimizations |
|
Enables unrolling |
|
Generates memory preload instructions |
|
Enables profile-guided optimizations |
(1st invocation)
(2nd invocation) |
Enables use of OpenMP® directives |
|
Other Options | |
Enables compiler to use IEEE FP comparisons |
|
Enables faster, less precise math operations |
|
Compiles Fortran free form layout |
|
OpenMP® threads and affinity (N number of cores) |
|
Link to AMD library |
|
Microsoft® Visual Studio 2022
Latest release: 17.11.4, September 2024
https://visualstudio.microsoft.com/
Action | Command |
---|---|
Architecture | |
Generate instructions that run on AMD 5th Gen EPYC™ and AMD 5th Gen Ryzen™ |
|
Optimize for 64-bit AMD processors |
|
Optimization Levels | |
Disable optimizations |
|
Maximum optimizations (favor space) |
includes
|
Maximum optimizations (favor speed) |
includes
|
Enables inline expansion |
(0/1/2/3) |
[link.exe] Eliminates unreferenced function and/or data |
|
[link.exe] Performs identical COMDAT folding |
|
Output an informational message for loops that are auto-vectorized |
|
Enables automatic parallelization of loops, used with #pragma loop() directive |
|
Output an informational message for loops that are auto-parallelized |
|
Additional Optimizations | |
Maintain the precision for floating-point operations through proper rounding |
|
Optimize floating-point code for speed at the expense of floating point accuracy and correctness |
|
Whole Program Optimization (link-time code generation) |
|
Enables Profile-guided optimizations |
(1st invocation)
(2nd invocation) |
Enables OpenMP® Support |
|
GlibC
Latest release: 2.40, July 2024
Recommendation: 2.38 or later
Binutils
Latest release: 2.43, August 2024
Recommendation: 2.42 or later
Intel® oneAPI DPC++/C++ Compiler
Latest release: 2024.2.1
Action | Command |
---|---|
Architecture | |
Generate instructions that run on AMD 5th Gen EPYC™ and AMD 5th Gen Ryzen™ |
|
Optimization Levels | |
Disable all optimizations |
|
Speed optimization without code growth |
|
Enables optimization for speed including vectorization |
|
Enables O2 and aggressive loop transformations |
|
Enables set of aggressive options to improve speed |
|
Additional Optimizations | |
Sets function inline level |
|
Sets maximum number of times to unroll loops |
|
Disable improved precision floating divides |
|
Enables vectorization |
|
Enables inter procedural optimizations (alias for -flto) |
|
Enables whole program link time optimization (LTO) |
|
Enables use of OpenMP® directives |
|
Enables profile generated optimization |
and
|
Other Options | |
Enables floating point accuracy tunings |
|
Compiles Fortran free form layout |
|