-
Notifications
You must be signed in to change notification settings - Fork 130
[SYCL] Add sycl complex testing #1058
Conversation
|
@steffenlarsen now that intel/llvm#6309 is merged I was hoping we could merge this too, I see that the pre-ci jobs failed, but I can't see the results, could you send me the logs for these. |
@AerialMantis - Apologies, I will get to this ASAP. I believe most of the CI test failures are due to running prior to the corresponding intel/llvm changes being merged. If the failures persist after comments have been addressed I will supply the failure information. |
|
@steffenlarsen no problem, thanks very much! |
|
@steffenlarsen thanks for the feedback, these changes all sounds fine so happy to make them, though @AidanBeltonS is on holiday for a couple of weeks and I don't have write privileges for this, so we might just have to wait until he's back. |
I am okay with waiting, if that is preferred. Alternatively, feel free to open a new PR with the changes and we can close this one. |
That's okay I'm happy to wait till he's back. |
Co-authored-by: Steffen Larsen <[email protected]>
|
@steffenlarsen the tests are failing, I am not entirely sure why. |
|
On Windows sycl_complex_math_test.cpp, sycl_complex_operator_test.cpp, sycl_complex_pow_test.cpp, and sycl_complex_stream_test.cpp fail with: On Linux the tests fail due to different problems, though all seem to be with sycl_complex_operator_test.cpp sycl_complex_math_test.cpp & sycl_complex_pow_test.cpp sycl_complex_stream_test.cpp |
|
@steffenlarsen I have the tests passing locally, would you be able to provide logs again? Many thanks |
|
On Linux (PI_OpenCL): Complex/sycl_complex_stream_test.cpp ( NOTE: This seems to have been with Regression/kernel_name_inside_sycl_namespace.cpp ( On Windows (PI_LevelZero): Complex/sycl_complex_math_test.cpp ( On Windows (PI_OpenCL): Complex/sycl_complex_math_test.cpp ( Complex/sycl_complex_stream_test.cpp ( |
|
@steffenlarsen I now have access to the logs. Looking at the current results they appear to be failing due to some |
Those tests should be fixed with intel/llvm@c0d639e but test-suite testing was likely out-of-sync at the time. I think we can disregard them. |
This PR adds testing for the experimental sycl complex implementation. It tests math functions, `abs`, `acos`, `asin`, `atan`, `acosh`, `asinh`, `atanh`, `arg`, `conj`, `cos`, `cosh`, `exp`, `log`, `log10`, `norm`, `polar`, `pow`, `proj`, `sin`, `sinh`, `sqrt`, `tanh`, and `tanh`. Additionally it tests the math operators `+`, `-`, `/`, `*` and their assign equivalents. It also tests stream operations with `sycl::stream`, `std::istream`, and `std::ostream`. For simplicity the tests are broken into the test and a list of test cases. Each test is run for the complex type with `double`, `float`, and `sycl::half`. Results are compared to values from `std::complex`. Due to differences in error handling for the `pow` function between, libstdc++ and libc++(which the implementation is based on), testing of NAN's and INF's of pow is not done through comparison with `std::complex` but instead using expected values. Depends on: intel/llvm#6309
This PR adds testing for the experimental sycl complex implementation. It tests math functions, `abs`, `acos`, `asin`, `atan`, `acosh`, `asinh`, `atanh`, `arg`, `conj`, `cos`, `cosh`, `exp`, `log`, `log10`, `norm`, `polar`, `pow`, `proj`, `sin`, `sinh`, `sqrt`, `tanh`, and `tanh`. Additionally it tests the math operators `+`, `-`, `/`, `*` and their assign equivalents. It also tests stream operations with `sycl::stream`, `std::istream`, and `std::ostream`. For simplicity the tests are broken into the test and a list of test cases. Each test is run for the complex type with `double`, `float`, and `sycl::half`. Results are compared to values from `std::complex`. Due to differences in error handling for the `pow` function between, libstdc++ and libc++(which the implementation is based on), testing of NAN's and INF's of pow is not done through comparison with `std::complex` but instead using expected values. Depends on: intel#6309
This PR adds testing for the experimental sycl complex implementation.
It tests math functions,
abs,acos,asin,atan,acosh,asinh,atanh,arg,conj,cos,cosh,exp,log,log10,norm,polar,pow,proj,sin,sinh,sqrt,tanh, andtanh. Additionally it tests the math operators+,-,/,*and their assign equivalents. It also tests stream operations withsycl::stream,std::istream, andstd::ostream.For simplicity the tests are broken into the test and a list of test cases. Each test is run for the complex type with
double,float, andsycl::half.Results are compared to values from
std::complex. Due to differences in error handling for thepowfunction between, libstdc++ and libc++(which the implementation is based on), testing of NAN's and INF's of pow is not done through comparison withstd::complexbut instead using expected values.Depends on: intel/llvm#6309