Skip to content
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

Refactored blas1 dot & sdsdot operators #471

Merged

Conversation

OuadiElfarouki
Copy link
Collaborator

This PR follows the refactoring approach of reduction based operators (asum, nrm2) for the dot (& sdsdot), namely the reduction through the sycl::reduce_over_group encapsulated in the blas::WGAtomicReduction kernel.
Also, per-target device tuned wg size & local memory configurations are added for the dot operator to be selected depending on tuning target (at compile time) & input size (at run-time).
The changes affect the dot and sdsdot async operators directly and their synchronous (with output return) versions indirectly. The async version of the two operators API expect the input/output to be initialized to zero, while the sync version handles the initialization to zero internally.

src/interface/blas1_interface.hpp Outdated Show resolved Hide resolved
src/interface/blas1_interface.hpp Outdated Show resolved Hide resolved
test/unittest/blas1/blas1_dot_test.cpp Show resolved Hide resolved
src/interface/blas1_interface.hpp Outdated Show resolved Hide resolved
Copy link
Collaborator

@s-Nick s-Nick left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for addressing all the comments, LGTM!

@OuadiElfarouki OuadiElfarouki force-pushed the dot_refacto_pr branch 4 times, most recently from 6c8cb3f to 2e77adf Compare October 27, 2023 10:29
test/unittest/blas1/blas1_sdsdot_test.cpp Outdated Show resolved Hide resolved
test/unittest/blas1/blas1_sdsdot_test.cpp Outdated Show resolved Hide resolved
test/unittest/blas1/blas1_sdsdot_test.cpp Outdated Show resolved Hide resolved
Copy link
Collaborator

@muhammad-tanvir-1211 muhammad-tanvir-1211 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, Thanks.

@muhammad-tanvir-1211 muhammad-tanvir-1211 merged commit ece6336 into codeplaysoftware:master Nov 16, 2023
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants