I'm a bit confused about the execution devices of the MAGMA functions. As it name says, the library is intended to be executed on CPU+GPU, but, it is possible to force one of them to the functions be executed or always is CPU+GPU? Inspecting, for example, the dgetrf.cpp file I can see calls to lapackf77_dgetrf routine fron the external LAPACK for CPU library, so I understand this function is enforced to use both CPU+GPU devices. But inspecting dgetrf_gpu.cpp file I can also see lapackf77_dgetrf calls, so I think this function also uses CPU+GPU. So I'm also confused about the _gpu interface. Ithought the _gpu interface were only for GPU computations, but I can see actually is also hybrid. Am I right?
Also can be seen some calls to magmablas_ interface. Are this functions simply wrappers to cublas functions or were coded? I'm again a bit confused because there exists magmablas_dgemm and magma_dgemm in the interface_cuda folder...