-
Notifications
You must be signed in to change notification settings - Fork 761
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] Enable SPV_INTEL_fp_max_error by default #16942
Conversation
Signed-off-by: Sidorov, Dmitry <[email protected]>
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.
LGTM. Just one question, why was the pass removed?
The reason we originally added it in the first place is the following: clang now generated llvm.fpbuiltin.fdiv/sqrt by default (with 2.5 and 3.0 ULP precision). So the llvm-spirv translator would generate brand new decorations for them by default for every SYCL code that uses div or sqrt operations, making it impossible to use old drivers. So the idea behind the pass was: if LLVM IR module contains On the one hand it seem to be a nice idea, on the other hand oneAPI documentation says: please install the latest GPU drivers on your system, when install oneAPI version xx.yy.zz. So the extension should be implicitly supported by the user's system drivers (until we change oneAPI release criteria) and the pass is not needed from this perspective. And at the same time such pass, that iterates over all intrinsic declarations, analyses their usages and conditionally replaces calls to them is affecting compilation time. IF we see a case, when OLD drivers must be used - the pass will be restored. |
@intel/dpcpp-clang-driver-reviewers @intel/dpcpp-cfe-reviewers 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.
LGTM. Thanks
@intel/dpcpp-clang-driver-reviewers @intel/dpcpp-cfe-reviewers friendly ping, there are several tests failing without this patch |
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.
OK for driver
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 not sure why FE review was required for this since the changes are to the driver and tools (I think) has other code owners. In any case this looks ok to me.
@intel/llvm-gatekeepers please help with merge |
Since a pass that cleans up unnecessary llvm.fpbuiltin intrinsics was removed from
#16107 we need to enable the extension by default to
successfully translate them.