I am experimenting with some large matrix sizes that fit into CPU memory, but not in GPU memory for LU factorization.

I am using the 'magma_dgetrf_m' routine. http://icl.cs.utk.edu/projectsfiles/mag ... de2af56314

In the documentation it says that the matrix may exceed the GPU memory and must be in CPU memory. The problem size I am using is 64,000 unknowns (~30 GB) running it on a machine with ~192 GB of CPU RAM and a Tesla K40 (12 GB GDDR5). Below is the code that is called to execute the example. The initMatrix function initializes a matrix that is non-zero and diagonally dominant.

- Code: Select all
`int matrixSize = 64000;`

double *matrix = new double[matrixSize * matrixSize];

initMatrix(matrix, matrixSize, matrixSize);

magma_init();

magma_setdevice(1);

int *pivot = new int[matrixSize];

int info;

magma_dgetrf_m(1, matrixSize, matrixSize, matrix, matrixSize, piv, &info);

Am I missing something here or are there memory concerns with matrices that do not fit into GPU memory? I am able to get the correct solution when using smaller problem sizes that will fit into the Tesla memory (i.e. 32,000 unknowns).