Using Eigen C++ library on CUDA

I want to port the decomposition methods that are available in the Eigen c++ library, to CUDA. I am new to CUDA and I don’t find much about Eigen in CUDA kernels.

Can someone suggest any solutions or ideas?

Use cuSOLVER or MAGMA

https://docs.nvidia.com/cuda/cusolver/index.html
https://icl.utk.edu/magma/software/index.html

http://eigen.tuxfamily.org/dox-devel/TopicCUDA.html

I am using Tesla C2050, cusolver is not supported.

I have searched online and, while coming into Eigen’s documentation that version 3.3 can be used directly in kernels, still do not find anything about memory layout for more complex data structures.

e.g. I can copy define a Matrix4f both on the host and on the device, and use cudaMemcpy to transfer. Example here : https://stackoverflow.com/questions/23802209/how-to-work-with-eigen-in-cuda-kernels/41120980

But how about more complex data structures? e.g if I have a vector of eigen matrices, and I want each thread to take care of a SVD for a single matrix. How can I copy data and define data structure on the GPU?