I am just asking if Nvidia/PGI has a future plan to support FORTRAN 2008 or it only cares about OpenACC, because I didn’t any new FORTRAN 2008 features in the last releases. It is unfair to support the last c++ standard (C++14) but not last standard FORTRAN (fortran 2008) and sooner (fortran 2015).
Some features of FORTRAN 2008:
-Submodules (for large projects)
-Coarray (Parallelization)
-DO CONCURRENT (Vectorization)
Hello,
Our work on F2008 is progressing, though no one is happy about speed of the
progress.
At the same time, not that many fortran applications use F2008.
Our biggest opportunities with OpenACC on Fortran are with applications already working, that need higher performance and are suited to GPUs.
OpenACC allows users to create executables that work on CPUs with GPUs and
CPUs without GPUs. it also provides a persistent sanity check, where
recompiling without OpenACC gives you the original working application.
So our main focus is on clearing the path for existing apps to include GPUs for much higher performance.
dave
Not many Fortran applications use F2008 because there is only one compiler whose stable version fully supports F2008, and it is only available in CRAY systems - so nobody will waste their time writing code that most systems won’t compile.
This is finally starting to change: Intel announced last month full F2008 support in their v18 compiler (now in beta), and gfortran has also made progress over the last year (v6 supports submodules, and multiple coarray functionalities have been added over the last releases).
According to the last Compiler Support tables in the Fortran Forum, the number of supported Fortran 2008 features by vendor is:
- 66/67 CRAY
- 58/67 Intel (67/67 expected in v18)
- 54/67 NAG
- 48(+4 partial)/67 gfortran
- 48(+1 partial)/67 IBM
- 24/67 PGI
- 13/67 or less: the 5 compilers with lowest count of Fortran 2003 features (one implemented 50/57, but the other 4 stay at < 65%)
At the moment the main reason my project (quantum chemistry, 350k lines) cannot think of using Fortran 2008 is that it would break the PGI, GPU-enabled builds.
Any update? Support for Fortran 2008 features such as Coarrays would be extremely useful. I am writing scientific SPMD-type code using modern Fortran and coarrays particularly have great promise in this context - seems NVIDIA is one of the few vendors still not supporting it.
Hi Peterukk,
The PGI compilers probably wont support Co-Arrays, at least any time soon, but we are working on them as part of the Flang F18 project see: GitHub - flang-compiler/f18: F18 is a front-end for Fortran intended to replace the existing front-end in the Flang compiler.
-Mat
That sounds very promising!