-
Notifications
You must be signed in to change notification settings - Fork 14
Bugfix --- stride needs to have "value" attribute #488
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
Conversation
CI is failing with the following:
|
It builds on my end, and correctly passes on the value of stride. Without the "VALUE" attribute, the reference is passed (not desirable). What's the solution? |
Are you compiling with Intel? It seems to play a bit fast and loose with the Fortran standard. I think the fundamental issue is that in C, an optional variable is given a default value. In that sense, it's never not declared, whereas in Fortran the It's possible there's an easier fix, but my suggestion would be to move the default value from the C side to the Fortran wrapper side. So in |
Another possibility is to define two C functions with different names, one to accept a stride (and |
How's this? Sorry it's a bit cluttered because I worked off the gss/entropy branch to get all 3 functions that need lambdas |
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.
Good catch! I'm happy with this version if @jhp-lanl is.
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 think this will work
Let me at least start the LANL tests to make sure this all works |
It looks like the LANL CI is having an issue with the different definitions:
|
This might be a bug in the Fortran compiler on the MI300 and MI250 machines. I wonder if it's getting confused about the C vs Fortran definitions of the function. You might change |
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.
Once this passes on the MI250/MI300 machines I think this is good to go
Testing on the LANL CI now |
Same issue 😖 @gopsub . I think the C interoperable function needs to be passed all 8 arguments all the time. I would try one of two solutions:
|
I think option #2 is probably slightly preferable IMO, as it reduces code duplication, and this function essentially only exists for the fortran API anyway. |
Took a crack at option 2 |
Running the CI on LANL |
Tests pass! |
PR Summary
PR Checklist
make format
command after configuring withcmake
.If preparing for a new release, in addition please check the following:
when='@main'
dependencies are updated to the release version in the package.py