MATLAB: Max Matrix Size for GPU Acceleration

gpu accelerationmax array sizemax matrix size

Will the amount of on card GPU memory significantly limit the benefits of GPU acceleration for very large matrix multiplication? Specifically, I need to multiply matrices (double precision) with between 2 and 4 x 10^9 elements which takes 16-32GB of memory. Will I see a significant increase in performance by installing a single Nvidia GTX Titan with 6GB of memory, or will the large matrix size negate the benefits of GPU acceleration?

Best Answer

The gpuArray support in Parallel Computing Toolbox cannot support arrays larger than the physical memory of your GPU, so you will not be able to use this support directly. You might be able to write a 'divide and conquer' algorithm to implement the matrix multiplication using the GPU to perform the actual multiplications, however whether this beats the multi-threaded CPU implementation in MATLAB would depend a lot not only on the GPU you have, but also the speed of the PCI bus.