To offer proper oneMKL support rotmg operator must support the possibility to have y1 argument passed as scalar value.
This PR enables this possibility by adding a check on its type and handling both cases: pointer/buffer or scalar.
Moreover, due to a bug in OpenCL the copy for DEFAULT target, that it generally used on CPUs, must be explicitly synchronized if using USM.
I think that src/interface/blas1/rotmg.cpp.in needs to be updated in order to consider the new rotmg interface. Probably, the unit test could be updated as well.
To offer proper oneMKL support
rotmg
operator must support the possibility to havey1
argument passed as scalar value. This PR enables this possibility by adding a check on its type and handling both cases: pointer/buffer or scalar. Moreover, due to a bug in OpenCL the copy for DEFAULT target, that it generally used on CPUs, must be explicitly synchronized if using USM.