-
Notifications
You must be signed in to change notification settings - Fork 752
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 vec<bfloat16>
support to math builtins
#14002
[SYCL] Add vec<bfloat16>
support to math builtins
#14002
Conversation
to clarify vec/swizzle overloads of isnan, fma, and fmax
by clarifying log/expr/rint/trunc overloads for vec<bfloat16>
} // namespace sycl::ext::oneapi::experimental | ||
``` | ||
|
||
===== Description | ||
====== Overloads (1) and (2) |
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.
thanks for these numbered descriptions.
sycl/doc/extensions/experimental/sycl_ext_oneapi_bfloat16_math_functions.asciidoc
Outdated
Show resolved
Hide resolved
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.
Changes to BFloat16 test looks good. Thanks
to align bfloat16 builtins documentation with that of SYCL
Thanks. I've augmented the test case to also add the tests for builtin overloads accepting swizzles. |
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.
Looks good from the DPC++ Tools 9offload utilities) perspective
Thanks
sycl/doc/extensions/experimental/sycl_ext_oneapi_bfloat16_math_functions.asciidoc
Outdated
Show resolved
Hide resolved
Linux Gen12 failures are unrelated:
@intel/llvm-gatekeepers the PR is ready to be merged! |
This PR 1. Updates extension to add math builtins for `vec<bfloat16>` and corresponding swizzles. 2. Implements **unoptimized** support for `vec<bloat16>`/swizzles in math builtins and adds a test case for the same. 3. Adds a test to check the device code generated for `vec<bloat16>` math builtins. I will make a follow-up PR to optimize `vec<bfloat16>` math builtins. I think we can use elementwise builtins for `ext_vector_type` (https://clang.llvm.org/docs/LanguageExtensions.html#vectors-and-extended-vectors) to optimize `vec<bfloat16>` math builtins. The device code test case will help visualizing/reviewing math builtin optimizations.
This PR
vec<bfloat16>
and corresponding swizzles.vec<bloat16>
/swizzles in math builtins and adds a test case for the same.vec<bloat16>
math builtins.I will make a follow-up PR to optimize
vec<bfloat16>
math builtins. I think we can use elementwise builtins forext_vector_type
(https://clang.llvm.org/docs/LanguageExtensions.html#vectors-and-extended-vectors) to optimizevec<bfloat16>
math builtins. The device code test case will help visualizing/reviewing math builtin optimizations.