aomp icon indicating copy to clipboard operation
aomp copied to clipboard

When will flang-new be brought in ? General roadmap question about aomp wrt Fortran.

Open fluidnumerics-joe opened this issue 1 year ago • 7 comments

The support for fortran codes in general within ROCm is quite embarrassing.

A number of projects I've worked on for folks at Pawsey, in addition to some of our own projects ( e.g. https://github.com/fluidnumerics/SELF) , that use derived types with type bound procedures, inheritance, and polymorphic types simply don't compile with aomp (separate issues will be open soon) when gpu offloading via openmp is enabled.

It'd be helpful to have some clarification on some rather vague comments (from this issue : https://github.com/ROCm/aomp/issues/576#issuecomment-1639353102 ). Specifically

A: The legacy flang based on the PGI compiler has limited offloading support. So it is not considered production even though it is and has been distributed with ROCm. The production fortran will be the new llvm flang. We cannot discuss schedule here.

What is meant by "limited offloading support" ? When will ROCm actually have a production fortran compiler via llvm flang-new ?

To extend on this, what Fortran language standard will be fully supported ?

fluidnumerics-joe avatar Jun 26 '24 15:06 fluidnumerics-joe

Hi Joe, we are working very hard on flang-new. It is hard to make statements about the future here. It is obvious from upstream LLVM activity that a lot of work for flang-new is upstream. But it is not ready to switch from flang-legacy to flang-new.

gregrodgers avatar Jul 09 '24 13:07 gregrodgers

Now that flang-new appears to be in ROCm 6.3, can we now discuss what specific features are now imparted on the amdflang compiler included with ROCm?

From reading other issues related to this one, it appears that amdflang is no longer pointing to flang-legacy. All ROCm docs suggest that AMD just got equipped with a Fortran compiler, which is not really quite true (amdflang has been around for some time ...). What features specifically come with the new compiler?

fluidnumerics-joe avatar Dec 15 '24 12:12 fluidnumerics-joe

Hi Joe, we have not added flang-new to ROCm 6.3 , not sure where you are seeing this. could you point me at a couple of the links that you mentioned ?

ronlieb avatar Dec 15 '24 12:12 ronlieb

I supppose I'm confused in general about the announcement of the "next-gen fortran compiler" (https://rocm.blogs.amd.com/ecosystems-and-partners/fortran-journey/README.html) ...

fluidnumerics-joe avatar Dec 15 '24 12:12 fluidnumerics-joe

The blog post refers to a preview of the new fortran compiler, an important snippet:

AMD’s Next-Gen Fortran Compiler will be a downstream flavor of LLVM Flang and will in time supplant the current AMD Flang compiler, a downstream flavor of “Classic Flang”.

ronlieb avatar Dec 15 '24 12:12 ronlieb

Got it. It appears the messaging is getting muddied elsewhere, including in comments from cloud providers offering MI300X

fluidnumerics-joe avatar Dec 15 '24 12:12 fluidnumerics-joe

The current release of aomp 21.0-0 now has the latest flang-new . Also, this release includes hipfort built with flang-new.

gregrodgers avatar Apr 04 '25 12:04 gregrodgers

In AOMP_21.0-1, flang-new (the llvm flang) is now the flang-21 binary and flang is a symlink to flang-21. Get rid of any of your references to flang-new.

gregrodgers avatar Jul 07 '25 20:07 gregrodgers