-
Notifications
You must be signed in to change notification settings - Fork 21
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
Introduce ldg_ptr to Enable __ldg in Data Stores and simple_ptr_holder #1802
Conversation
launch perftest |
Hi there, this is jenkins continuous integration... |
launch jenkins |
|
||
template <class T> | ||
GT_FUNCTION constexpr T &&as_ldg_ptr(T &&value) { | ||
return std::forward<T>(value); |
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.
Not sure I like this fallback. Doesn't it mean that if you wrap any pointer ad "ldg" pointer, which is not "ldg"-capable, it will silently do that. If this is the intent, then at least I don't like the naming.
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.
It doesn’t wrap anything, it just passes unsupported types through as is. We just call this function wherever we would like to use LDG when available. The name might be improvable though, so let me know if you have a better one …
launch jenkins |
launch jenkins |
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.
made these comments earlier, but didn't commit it seems. feel free to ignore...
launch perftest |
launch perftest |
launch jenkins |
launch perftest |
1 similar comment
launch perftest |
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.
lgtm
#1802) Enables LDG loads for data stores with const data type and for neighbor tables. Shows performance improvements of up to 12% using NVCC and SID composites or dim2tuple on smaller domains. Using Clang, up to 70% performance improvements can be observed in these cases.
Enables LDG loads for data stores with const data type and for neighbor tables. Shows performance improvements of up to 12% using NVCC and SID composites or dim2tuple on smaller domains. Using Clang, up to 70% performance improvements can be observed in these cases.