-
Notifications
You must be signed in to change notification settings - Fork 164
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
[BLAS][generic] Fix compilation with AdaptiveCpp #655
[BLAS][generic] Fix compilation with AdaptiveCpp #655
Conversation
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 the fix, I can see why this can be needed.
I don't get why do you say that no unit tests are available? Do you mean there is another issue with AdaptiveCpp preventing you to run the tests?
I missed I needed NETLIB to build the tests. I installed it now and ran the tests, however, with the tip of the My commands were:
|
The tests being marked as skipped is expected. One CTest runs multiple configurations and if one of them is not supported the test is marked as skipped. It's not great but changing that would be a large change I think. |
3a7733f
to
fb95b33
Compare
The generic BLAS backend currently offers limited support for AdaptiveCpp, where: * complex data type is not supported * USM API is not supported Add the required protections to make the generic BLAS backend compile and run correctly in the capacity it offers with AdaptiveCpp. That is, make the buffer USM without complex data work fine. Throw the unimplemented exception for the unsupported features. This change relies on the update of the generic blas backend to version 0.2.0 in: uxlfoundation/generic-sycl-components#7
fb95b33
to
18081dc
Compare
@Rbiessy this is ready, but please rerun CI here after uxlfoundation/generic-sycl-components#7 is merged as oneMath pulls the main branch. Before the merge, the variables are not exported so complex and USM support gets disabled in oneMath. I uploaded new unit test outputs in the description which confirm there's no regression, but I still feel I'm doing something wrong on my system or the tests are unreliable as I'm getting very few tests passing even with Intel iGPU or CPU with the head of |
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 @rafbiels for the work, this looks good to me! We need 2 approvals on this PR so can someone from @uxlfoundation/onemath-arch-write review this one? Then we can merge the generic-blas PR, re-run the CI here and ensure the CI passes before merging.
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.
Thansk for this fix! I have a very minor suggestion but it is not required for merging.
CI failing due to #658 - this needs fixing first |
Description
The generic BLAS backend currently offers limited support for AdaptiveCpp, where:
Add the required protections to make the generic BLAS backend compile and run correctly in the capacity it offers with AdaptiveCpp. That is, make the buffer API with real/integer data work fine. Throw the
unimplemented
exception for the unsupported features.This change relies on the update of the generic blas backend to version 0.2.0 in: uxlfoundation/generic-sycl-components#7
Checklist
-DONEMATH_SYCL_IMPLEMENTATION=hipsycl
-DENABLE_MKLCPU_BACKEND=False
-DHIPSYCL_TARGETS='generic
-DENABLE_MKLGPU_BACKEND=False
-DENABLE_MKLCPU_BACKEND=False
-DENABLE_GENERIC_BLAS_BACKEND=True
-DBUILD_FUNCTIONAL_TESTS=True
-DBUILD_EXAMPLES=True