Description
Hi,
can we pass the same buffer as input and output argument of oneMKL functions? Is "buffer aliasing" allowed?
E.g. the function oneapi::mkl::sparse::trsv
. It takes multiple buffers as arguments, namely the input right-hand-side vector and the output solution vector. Can I pass the same buffer for both of these arguments? (mimicking the oneapi::mkl::blas::row_major::trsv
behaviour, where there is just one argument for that) (experimentally tested with intel onemkl and it works, but don't know if it is a guarantee).
In general, can buffers passed to oneMKL functions overlap, alias, or be the same? I could not find any information about this in the spec (https://spec.oneapi.io/versions/1.2-rev-1/elements/oneMKL/source/domains/spblas/trsv.html and other pages on that site). Is it specified somewhere?
This might also apply to other one* libraries, but I am not familiar with them.
Thanks,
Jakub