Fortran 2008 / 2018 support

Greetings, NVIDIA compiler developers, I have a Fortran codebase that I’d love to test and compile with PGI/NVIDIA Fortran compilers, however, the library heavily relies on modern 2008 / 2018 features of Fortran. It also contains Coarray Fortran parallelism features as recent as Fortran 2018, but those sections can be safely disabled by preprocessing flags. But the rest (non-Coarray parts) of the Fortran 2008 and Fortran 2018 are well integrated into the library and not separable. Is there is a page that describes the current status of the NVIDIA Fortran standard support and is there a timetable for future full support of Fortran 2008 / 2018? Currently, the library successfully compiles with Intel and GNU compilers (and perhaps others that are not tested, such as Cray). Would be great to have NIVIDIA also in the list as I anticipate it would open the way to GPU acceleration of this library too. Thanks!

Hi ARealKing,

Our work on on these standards is in the process of being developed as part of our effort with supporting Flang’s F18 project, See: https://github.com/llvm/llvm-project/tree/master/flang/

Once supported, we’ll most likely then use this front-end for nvfortran, but no timeline on when this will occur. For now, please follow Flang’s development and give it a try with your code.

-Mat

1 Like

Sorry for reviving an old thread, but is there a list of features that are currently supported?
For instance, I just found out that the bit shift intrinsic functions SHIFTL and SHIFTR are not yet there in NVHPC 21.5…

1 Like

No, sorry, I don’t think we document what F2008 feature are available in nvfortran. As noted, these features, including the SHIFT intrinsics are being added to Flang’s F18 project (GitHub - flang-compiler/f18-llvm-project: Fork of llvm/llvm-project for f18. In sync with f18-mlir and f18.) ) so not expected to be added to the current nvfortran.

@wyphan I think LSHIFT and RSHIFT will work. These were extensions before standardisation.

1 Like

Ah, that explains why it is missing.