Does MAGMA support out-of-core computations ?
-
- Posts: 2
- Joined: Mon Dec 26, 2011 12:25 pm
Does MAGMA support out-of-core computations ?
I haven't use MAGMA as of now and wanted to know that does MAGMA 1.1 support out-of-core 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 out-of-core computations ?
Yes, for LU, Cholesky, and QR the MAGMA code automatically handles matrices larger than the GPU's memory ("non-GPU resident"). The input matrix must fit in the host's memory.
-mark
-mark
Re: Does MAGMA support out-of-core computations ?
Which are the top level routines which use this? Are there any examples?
John
John
Re: Does MAGMA support out-of-core 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 out-of-core computations ?
The routines are
magma_*getrf() for LU,
magma_*potrf() for Cholesky,
magma_*qrtrf() for QR.
These automatically do out-of-core computation, so the regular testing_*trf sample code should work, given a large matrix.
An out-of-core 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 out-of-core computation, so the regular testing_*trf sample code should work, given a large matrix.
An out-of-core 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