-
Notifications
You must be signed in to change notification settings - Fork 13.7k
sycl: unify unary kernels with a generic implementation and enable wide operator support #17213
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
Conversation
|
Hello @CISC @NeoZhangJianyu, |
NeoZhangJianyu
left a comment
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 good job!
Thank you!
We could merge directly after the conflicts are fixed. |
|
@shani-f Thank you! |
|
Hello @NeoZhangJianyu, |
|
Regen the CSV, at least |
|
Is everything correct and finalized now?
|
I really did mean that you should regen it, there are more ops in the CSV that would be removed if you did. |
|
Hello @CISC, Let me know what you prefer. |
As explained here, simply run Line 7 in 9ee5bdc
|
|
Hello @CISC, |
Yes, perfect, thank you! :) |
…ide operator support (ggml-org#17213) * SYCL: add generic unary op implementation for multiple ops (ABS/SGN/…); unify non-contiguous access * SYCL: update documentation and sycl.csv to reflect new unary op support * update ops.md after syncing SYCL.csv changes * Fix SYCL.csv merge conflict * Update ops.md after fixing SYCL.csv conflicts * Fix SYCL.csv tail after merge conflict and regenerate ops.md * Fix line endings and final newline in SYCL.csv * Remove TOPK_MOE entries from SYCL.csv as requested * Update ops.md after removing TOPK_MOE from SYCL.csv * Regenerated SYCL.csv and synced ops.md with upstream * Update ops.md using create_ops_docs.py
Summary
Adds a generic unary implementation for the SYCL backend, allowing many unary operators to share a single optimized execution path.
The implementation matches the behavior of the existing CPU unary kernels.
Changes
ggml_sycl_op_unarygeneric functionelement_wise.cppdocs/ops.mddocs/ops/SYCL.csvImplementation
F16andF32data typesdispatch_ggml_sycl_op_unarywithparallel_forSupported Ops
Testing
test-backend-opsPerformance
Compatibility