I see that magma has SGEEV for computing the eigenvalues/vectors of a matrix, however, it uses a mix of cpu and gpu routines to achieve this.
I need to work out eigenvalues+vectors entirely on the GPU without assistance from the CPU as to avoid any device-host memory transfers (in addition to what I already have). I am working in a real-time video application and have to calculate this every frame.
Could anyone suggest the easiest approach to do this.
I have tried using the cula tools, however, they do not run asynchronously to the gpu memory copies and I cannot control the stream cula functions use.
My current thinking is to try and adapt the SGEEV code by creating kernels to replace any calls to CPU bound functions, however, any suggestions would be appreciated as this seems like a large undertaking.