-
Notifications
You must be signed in to change notification settings - Fork 52
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
Add helper class for thread and block identifiers #596
Conversation
I haven't tested this on SYCL yet, I just guessed at the function names and crossed my fingers. |
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'm on board with the general idea. In fact, I've wondered about something similar myself as well.
But let's do it in a cleaner (and I believe simpler) way.
device/common/include/traccc/clusterization/device/ccl_kernel.hpp
Outdated
Show resolved
Hide resolved
912cda0
to
d63e4c6
Compare
d63e4c6
to
9dc060a
Compare
I've split this into a CUDA and a SYCL class now, unified by - you guessed it - a concept. |
9dc060a
to
fe302a2
Compare
fe302a2
to
01ecf6f
Compare
01ecf6f
to
66355dd
Compare
@CrossR could you check if the Alpaka code in this PR makes sense? |
Looks 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.
I'm happy with this code setup. Apart from the one comment, as long as it is brought up to date, I'm happy with this update to go in.
a0f6c04
to
69c0adc
Compare
The number of parameters in a lot of our kernels and device functions is becoming absurdly large. Part of this is that we are passing variables like thread identifiers, block identifiers and block sizes for each of these functions. Not only does this make code harder to read, it may also increase register pressure on the device causing potentially slow spilling. This commit introduces a new type that handles thread identifiers more compactly and efficiently.
The number of parameters in a lot of our kernels and device functions is becoming absurdly large. Part of this is that we are passing variables like thread identifiers, block identifiers and block sizes for each of these functions. Not only does this make code harder to read, it may also increase register pressure on the device causing potentially slow spilling. This commit introduces a new type that handles thread identifiers more compactly and efficiently.