-
Notifications
You must be signed in to change notification settings - Fork 788
[SYCL] Add support for radix_sorter #7639
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
[SYCL] Add support for radix_sorter #7639
Conversation
Co-authored-by: Andrei Fedorov <andrey.fedorov@intel.com>
Test is here: intel/llvm-test-suite#1435 |
/verify with intel/llvm-test-suite#1435 |
/verify with intel/llvm-test-suite#1435 |
This reverts commit ce8b972.
/verify with intel/llvm-test-suite#1435 |
1 similar comment
/verify with intel/llvm-test-suite#1435 |
/verify with intel/llvm-test-suite#1435 |
@v-klochkov Could you please take a look? |
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 have only few minor non-blocking comments.
sycl/include/sycl/ext/oneapi/experimental/group_helpers_sorters.hpp
Outdated
Show resolved
Hide resolved
sycl/include/sycl/ext/oneapi/experimental/group_helpers_sorters.hpp
Outdated
Show resolved
Hide resolved
After additional commit, need to get answer to a review comment.
/verify with intel/llvm-test-suite#1435 |
/verify with intel/llvm-test-suite#1435 |
1 similar comment
/verify with intel/llvm-test-suite#1435 |
The failures are unrelated. |
uint32_t new_offset_idx = private_scan_memory[bucket_val]++ + | ||
scan_memory[bucket_val * wgsize + idx]; | ||
if (val_idx < n) { | ||
keys_output[new_offset_idx] = keys_input[val_idx]; |
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's better to use placement new for 1st initialisation of this memory: https://en.cppreference.com/w/cpp/language/new#Placement_new
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.
Could you please clarify why it's required here since we have trivially copyable types?
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.
Sorry, we use just arithmetic types for radix. It's ok if we work with trivially copyable types
/verify with intel/llvm-test-suite#1435 |
@romanovvlad, post-commit issue on windows https://github.com/intel/llvm/actions/runs/3687647938/jobs/6241495307 |
This seemed familiar, so I prepared a PR: #7768 |
Co-authored-by: Andrei Fedorov andrey.fedorov@intel.com