-
Notifications
You must be signed in to change notification settings - Fork 902
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
Combine linearizer and ast_plan #8900
Combine linearizer and ast_plan #8900
Conversation
…iate shared mem story to account for nullability.
Codecov Report
@@ Coverage Diff @@
## branch-21.10 #8900 +/- ##
================================================
- Coverage 10.67% 10.59% -0.09%
================================================
Files 110 116 +6
Lines 18271 19043 +772
================================================
+ Hits 1951 2017 +66
- Misses 16320 17026 +706
Continue to review full report at Codecov.
|
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.
Is there a potential perf impact?
Nope this change is performance-neutral. It simply converts what was previously an implicit relationship (the |
rerun tests |
CC @jlowe you mentioned that you're pulling in the |
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 don't think this rename will cause any problems for your implementation
Yep, it should be ok. The good news is that the Java build is now part of the CI, and you can see in the checks whether it fails or not.
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.
Still need to convert to east const
convention in some places. I didn't point out all those, so please read and check the entire code. Otherwise, it is good.
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.
CMake changes LGTM
@gpucibot merge |
This PR combines the
ast_plan
andlinearizer
classes into the newexpression_parser
class. Previously thelinearizer
would parse the expression into some host-side buffers, and theast_plan
simply wrapped alinearizer
instance and transferred its contents into an owned device buffer so that expressions could be evaluated in device code. This required either adding lots of accessor methods to otherwise internal components of thelinearizer
or adding friend relationships. Since we have no use for parsing expressions without making them evaluable on device, this PR combines the two classes to simplify that process.There's one additional minor change which is the move of the
single_dispatch_binary_operator
functor fromoperators.hpp
totransform.cuh
. It's only being used in one place, so this change reduces the need for includes and makes the code more readable.Contributes to #8145.