FYI
Version 5.2 of the AMD AOCC compiler has been released. A DO CONCURRENT parallelization feature was added in Fortran. Also, the next major release, Version 6, will be based on llvm-flang and not “classic” flang like current versions.
FYI
Version 5.2 of the AMD AOCC compiler has been released. A DO CONCURRENT parallelization feature was added in Fortran. Also, the next major release, Version 6, will be based on llvm-flang and not “classic” flang like current versions.
@Ali do you know if you can include the aocc compiler into setup-fortran with conda? it would be pretty cool !
@jorgeg yes, good idea! AOCC is included now in setup-fortran-conda. Here is the latest status table:
| OS | Compiler | Version | fpm | cmake | meson |
|---|---|---|---|---|---|
| ubuntu 24.04 | amdflang |
5.2.0 | 0.13.0 |
4.3.3 |
1.11.1 |
| ubuntu 24.04 | flang-new |
22.1.5 | 0.13.0 |
4.3.3 |
1.11.1 |
| ubuntu 24.04 | gfortran |
15.2.0 | 0.13.0 |
4.3.3 |
1.11.1 |
| ubuntu 24.04 | ifx |
2026.0.0 | 0.13.0 |
4.3.3 |
1.11.1 |
| ubuntu 24.04 | lfortran |
0.63.0 | 0.12.0 |
4.3.3 |
— |
| ubuntu 24.04 | nvfortran |
26.3 | 0.13.0 |
4.3.3 |
1.11.1 |
| macos 15 | gfortran |
15.2.0 | 0.13.0 |
4.3.3 |
1.11.1 |
| macos 15 | lfortran |
0.63.0 | 0.12.0 |
4.3.3 |
— |
| windows 2025 | flang-new |
22.1.4 | 0.13.0 |
4.3.3 |
1.11.1 |
| windows 2025 | gfortran |
15.2.0 | 0.13.0 |
4.3.3 |
1.11.1 |
| windows 2025 | ifx |
2026.0.0 | 0.12.0 |
4.3.3 |
1.11.1 |
| windows 2025 | lfortran |
0.54.0 | 0.12.0 |
4.3.3 |
— |
What will be its relation with AOMP, “an open source Clang/LLVM based compiler” by AMD (it provides flang under the name amdflang)?
My understanding is the AOMP compilers are a development branch targeting OpenMP on Radeon GPU’s based on LLVM. It is part of the AMD Open Source Stack (AKA ROCm) for GPU computation. AOCC targets AMD Zen processors but will (hopefully) support GPU offloading at some time.
I’m a bit confused now ;). I used amdflang as a wrapper for AOCC because I saw that amdflang is supported in fpm : fpm/src/fpm_compiler.F90 at main · fortran-lang/fpm · GitHub
However, I’m no longer sure whether this refers to AOCC or AOMP, so I’d like to make sure I’m using the correct compiler identifier. Any suggestions?
AOCC is the standard “classic flang” plus clang/clang++ and is “tuned” for AMD Zen family processors but should work for other AMD64 processors (Intel). Its based on a LLVM 17 release (kinda old). AOMP is a development branch based on the most recent LLVM (I think 22 with 23 in the works). As best as I can tell it is where AMD does their development on OpenMP for Radeon GPUs. I presume that it will support offloading to Radeon GPUs via OpenMP but don’t quote me on it. I think AMDs AOMP work will filter back into mainline LLVM flang at some point. For now, unless you really want to play around with OpenMP on a Radeon GPU, AOCC is the release you want to install if you have a Zen processor.