MATLAB Answers


reading saved gpuArray data with a non-gpu computer

Asked by Natan
on 21 Dec 2015
Latest activity Commented on by Joss Knight
on 21 Dec 2016
After some lengthy calculations using gpus in Matlab (2015b, cuda7), I have saves .mat files that have variables of class gpuArray. I wanted to further analyze them with my non gpu laptop and was underthe impression that a simple gather would work, but I was wrong. I get the following error:
>> gather(x)
Error using gpuArray/gather
Attempting to access the property or method of an invalid object.
I know I can first gather(x) and then save, I wanted to know how would one access data of class gpuArray that is saved in a mat file without have a gpu present?


Sign in to comment.

1 Answer

Answer by Joss Knight
on 23 Dec 2015
 Accepted Answer

Unfortunately, this is not possible. To make data visible to a MATLAB that does not have Parallel Computing Toolbox, you must first gather it before calling save. Without PCT, MATLAB does not know how to construct a gpuArray from the saved data, hence the error you are seeing. With PCT but with no GPU device you will see a different error.


I think the question is how to access data of class gpuArray using a non-gpu computer but with PCT installed. Actually, I am also facing the same problem with same error coming up, and I am having PCT available but no gpu. So question is, are both PCT and gpu MUST be available on computer to access gpu-generated/saved mat file? If not, how to access it?
Yes, you must have both and there is no way to access it. You need to find out where the MAT file came from, and get whoever created it to store the data as a normal array not a gpuArray.

Sign in to comment.