GPU backend (using CUBLAS and MAGMA) for LinAlg