I have been using magma for a while now for a sequence of BLAS/LAPACK calls from a matlab mex file. Today I reconfigured my system to allow for a 2nd graphics card. The idea was to use a GT 440 as a desktop GPU (1st PCIE slot) and use the GTX 480 as a pure compute device (2nd PCIE). Alas, I find that matlab crashes - following the code through, it seems that the crash occurs with my single call to magma_sgesv_gpu. There are calls to other magma routines before and after this call.
I've run the routine using CULA, which runs fine - this routine is essentially identical, but uses CULA routines rather than magma. I conclude that there is something amiss with magma_sgesv_gpu when 2 GPUs are used.
I gather it is normal behavior for CUDA to automatically select the GTX 480 as the primary device in a configuration like this - at least the device queries have the GTX 480 as compute device 0, and the GT 440 as compute device 1. Insofar as the computer hardware and linux are concerned, it is the other way around.
I'll use CULA for the time being.
I see that CUDA 4.0 is out now. Looking into this latest version, it looks as if MAGMA does not support this as yet - there are enough new features in the new release that I think I will postpone attempting MAGMA on Cuda 4.0. Happy to hear a comment on this situation.