I have a Dual GPU card named Titan Z. I have Matlab 2016a trying to solve a sparse Ax=b equation set for different 'b' values. Titan Z has two GPUs and 6 GB ram for each gpu
Here is the problem.
- If I solve a
Ax=bproblem on 1 GPU, let's say a 'A' matrix size of 2GB, Matlab copies this matrix to each GPU's vram. GPU-Z reports that each GPU has 2 GB of data and only 1 GPU is working - If I solve two
Ax=bproblem on 2 GPU, let's say 'A' matrix size of 2GB, Matlab again copies this matrix to each GPU's vram twice. Now GPU-Z reports that each GPU has 4GB of data and two GPU is working simultaneously. - If I try to solve a '4GB' problem simultaneously Nvidia driver crashes due to insufficient Vram. But I can solve it on one GPU. not on 2 GPU simultaneously.
Problem is Matlab copies those matrices twice, when it is not needed, more interestingly, it does this when two GPUs uses exact same 'A' matrix but different 'b' vectors.
How can I solve this problem?
spmdor similar? - EdricgpuArrayinside theparforloop? What happens if you do build thegpuArrays insideparfor? - Edricb- coercion