-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor implicit none to type,external #3002
Conversation
You can't portably use |
Ah. Yes. Better to say that. 😄 Good news is, it looks like this is close to passing. So that's nice. |
Note to self: I'll probably need to do more of this once this gets into MAPL3. |
Ooh. All passed! |
Well, nuts. I'm drafting for now. Why? nvfortran doesn't support it it looks like:
Never mind. I asked on the Forum a while back and the answer is "It won't": https://forums.developer.nvidia.com/t/support-for-implicit-none-external/290470/3 |
I knew there was a reason. OTOH, I think we are confident enough in Flang that we could just accept we won't ever use nvfortran? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I noticed that sometimes implicit none
is converted to implicit none (type, external)
and other times it is converted to implicit none (type)
Why is it different?
Some of the MPI and NetCDF libraries do not play well with |
And both forms fail with nvfortran so ... not sure where we are going with this PR. |
One thought we've had is to use a "macro" for the |
Do we have nvidia bug report for this already or not? |
Sorry @jeffhammond - this one is hardly a pressing matter for us. My initial thought is that we don't want the nvfortran team wasting time on this issue unless others really need this. We don't realistically expect to get our full model to work with nvfortran and instead are putting our investments (and hopes) into nvflang. If you have some internal reason for which you wish we'd submit a bug report - just respond one more time, and we will. |
Types of change(s)
Checklist
make tests
)Description
Got a bit bored and wondered "What if I did a mass search-and-replace" of
implicit none
toimplicit none (type, external)
.Now let's see what the CI says! → What CI says is "Listen to @jeffhammond and move to
use mpi_f08
" as manyuse mpi
procedures do not have explicit interfaces!Oh dear lord it's worse than I thought. Intel MPI required all the
external :: MPI_Send
junk. But with Open MPI:So, since MPI stacks are different with
use mpi
, we don't use(type, external)
when MPI is used in a file.Likewise, in a few places we use old-school netcdf2 interfaces:
We have issues #1865 and #2327 to remove these. @atrayano can do the latter, but perhaps with @bena-nasa we can get the CFIO one done...unless it's just dead code for MAPL3.
Related Issue