Skip to content

Make sure SVD inputs are synchronised before calling MAGMA decompositions

I noticed while working on the lu() implementation that sometimes strange failures would occur. It turned out that because MAGMA uses separate OpenCL queues, if the normal Bandicoot OpenCL command queue is not synchronised before calling the MAGMA routines, the data may be incorrect. The fix is just to change get_dev_mem(false) to get_dev_mem(true) for any input where we are about to call a MAGMA backend routine. I only found errors in the svd() implementation, and this MR fixes those.

Merge request reports