-
Notifications
You must be signed in to change notification settings - Fork 237
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
Include memory access costs in cost models (cost-based optimizer) #2397
Conversation
@revans2 This is what I have so far for incorporating memory access costs. It's very early and I have plenty to fix already but wanted to get your feedback early on to make sure I am heading in the right direction. I will handle kernel costs in a separate PR. |
eb9be1f
to
c979e95
Compare
Jason had a good point when we talked that it is not really kernel costs as much as it is a fixed cost per operation. The cost of launching a kernel is likely small compared to other parts of the computation. |
@revans2 This is ready for review now. |
I filed a follow-on issue for improving our handling of BHJ: #2417 |
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.
This looks fine to me, but I would like to hear from others
I filed #2430 for adding kernel launch costs |
build |
Signed-off-by: Andy Grove <andygrove@nvidia.com>
Signed-off-by: Andy Grove <andygrove@nvidia.com>
Signed-off-by: Andy Grove <andygrove@nvidia.com>
ed03490
to
a62289f
Compare
Rebased to pull in fix for test failure |
build |
@revans2 Any objection to me merging this now so we can see the impact in the automated benchmarks? |
…IDIA#2397) * Implement basic mechanism for memory access costs Signed-off-by: Andy Grove <andygrove@nvidia.com> * Use real memory speeds in model * Fix bug with moving broadcast exchange back to CPU Signed-off-by: Andy Grove <andygrove@nvidia.com> * Remove redundant configs Signed-off-by: Andy Grove <andygrove@nvidia.com>
…IDIA#2397) * Implement basic mechanism for memory access costs Signed-off-by: Andy Grove <andygrove@nvidia.com> * Use real memory speeds in model * Fix bug with moving broadcast exchange back to CPU Signed-off-by: Andy Grove <andygrove@nvidia.com> * Remove redundant configs Signed-off-by: Andy Grove <andygrove@nvidia.com>
…IDIA#2397) * Implement basic mechanism for memory access costs Signed-off-by: Andy Grove <andygrove@nvidia.com> * Use real memory speeds in model * Fix bug with moving broadcast exchange back to CPU Signed-off-by: Andy Grove <andygrove@nvidia.com> * Remove redundant configs Signed-off-by: Andy Grove <andygrove@nvidia.com>
Signed-off-by: Andy Grove andygrove@nvidia.com
This PR starts to introduce the mechansim for including memory access costs in the cost model. The default settings are 320 GB/s for GPU and 30 GB/s for CPU.
This also contains a fix for a bug that was highlighted during testing where CBO could move a BroadcastExchange back to CPU but leave the BHJ on GPU, resulting in an invalid plan.