-
-
Notifications
You must be signed in to change notification settings - Fork 35
Initial support for OpenACC syntax #224
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
Made OpenMP sentinel less greedy Added initial support for OpenACC directives WIP: Some clauses not matching properly. Directives with optional arguments may not match properly.
…uses depending on it
The one thing that would be useful would be to add a Fortran file where you test these directives. I added some myself under Also, as I said in my tracking issue, could you think of any cases where the OpenMP functionality would fail with the change that you made? |
Sure. I will add the test cases I was using when I'm back at that computer on Monday. Regarding the OpenMP matching, what I found was that with the existing matching it would sometimes erroneously match an OpenACC directive with the OpenMP syntax. For instance 'acc parallel do' is not valid, but it would get matched from the OpenMP. I made the matching less greedy and as best as I could tell still match correctly. |
Adds resource file with extensive OpenACC directives to check. Multi-line matching appears to not work as expected in OpenACC or OpenMP
@gnikit I added I included a test at the bottom to test that the OpenMP is not over-matching the OpenACC, but is still correctly matching on its own. |
I submitted #225 related to line continuations, but since this is true for the existing OpenMP and OpenACC, I don't think it should block the merging of this issue. The fix should be the same for each. |
Fixes #225 |
@gnikit I believe this is ready to merge and put out in the market. Do you agree? |
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.
Awesome job @jefflarkin. Thanks for taking the time to do this.
I had a quick play around with my OpenMP and the added OpenACC test and all looks good.
It truly is a shame that we cannot unify the openmp.json and openacc.json into one file since they have a lot of duplicate code, but I think it is better to add support now for the openacc and improve on it in the future, if need be.
I left some minor comments, but no major changes.
I look forward to seeing this in master.
I don't know if @krvajal you want to have a look. All is good. I will add the updated CHANGELOG in a bit. |
Fixes #184 |
This PR creates initial support for OpenACC directives, based on the existing OpenMP syntax.
Changes:
Made OpenMP sentinel less greedy
Added initial support for OpenACC directives
Future work:
readonly:
andzero: