reading saved gpuArray data with a non-gpu computer

8 visualizzazioni (ultimi 30 giorni)
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?

Risposta accettata

Joss Knight
Joss Knight il 23 Dic 2015
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.
  2 Commenti
Adnan Hanif
Adnan Hanif il 1 Dic 2016
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?
Joss Knight
Joss Knight il 21 Dic 2016
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.

Accedi per commentare.

Più risposte (1)

Alison Eele
Alison Eele il 19 Set 2019
This is now possible from R2019b.
To quote from the gpuArray documentation:
"You can load MAT files containing gpuArray data as in-memory arrays when a GPU is not available. A gpuArray loaded without a GPU is limited and you cannot use it for computations. To use a gpuArray loaded without a GPU, retrieve the contents using gather."

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by