Does MAGMA support outofcore computations ?

 Posts: 2
 Joined: Mon Dec 26, 2011 12:25 pm
Does MAGMA support outofcore computations ?
I haven't use MAGMA as of now and wanted to know that does MAGMA 1.1 support outofcore memory operations without having to worry about the division of input data ? The input data is more than the capacity of global memory available with the GPU, and for such a case, is it possible to just allocate the memory on the CPU and let MAGMA figure out how to do the computations on the bigger input data ?
Re: Does MAGMA support outofcore computations ?
Yes, for LU, Cholesky, and QR the MAGMA code automatically handles matrices larger than the GPU's memory ("nonGPU resident"). The input matrix must fit in the host's memory.
mark
mark
Re: Does MAGMA support outofcore computations ?
Which are the top level routines which use this? Are there any examples?
John
John
Re: Does MAGMA support outofcore computations ?
Presumably this is not supported by routines where the user assigns the GPU memory, because all they could do is assign memory for the whole matrix, which would then fail.
John
John
Re: Does MAGMA support outofcore computations ?
The routines are
magma_*getrf() for LU,
magma_*potrf() for Cholesky,
magma_*qrtrf() for QR.
These automatically do outofcore computation, so the regular testing_*trf sample code should work, given a large matrix.
An outofcore triangular solve is not currently available in MAGMA, so you have to use LAPACK's triangular solve, getrs() or potrs(). Similarly for QR, use LAPACK's unmqr or ungqr.
mark
magma_*getrf() for LU,
magma_*potrf() for Cholesky,
magma_*qrtrf() for QR.
These automatically do outofcore computation, so the regular testing_*trf sample code should work, given a large matrix.
An outofcore triangular solve is not currently available in MAGMA, so you have to use LAPACK's triangular solve, getrs() or potrs(). Similarly for QR, use LAPACK's unmqr or ungqr.
mark