MATLAB Answers


why using gpu.Array.zeros I have error Undefined variable "parallel" or class "parallel.​gpu.gpuArr​ay.zeros" ?

Asked by Anastasiia on 2 Apr 2013
the line of the code is: gpu = gpuDevice(); Z = parallel.gpu.gpuArray.zeros(8192, 1); Undefined variable "parallel" or class "parallel.gpu.gpuArray.zeros".


Sign in to comment.

1 Answer

Answer by Jill Reese
on 2 Apr 2013
 Accepted Answer

What version of MATLAB are you using?
In R2010b-R2012a releases, the GPU object was named parallel.gpu.GPUArray. In those releases you would create an array of all zeros on the GPU using:
z = parallel.gpu.GPUArray.zeros(8192,1);
In R2012b, the GPU object was renamed to gpuArray, so in R2012b and onward you would create the same array using this line of code:
z = gpuArray.zeros(8192,1);


I have R2012b, but I tried both variants. None of them work.
I found my mistake: I used z = parallel.gpu.gpuArray.zeros(8192,1); but the rigth is z = parallel.gpu.GPUArray.zeros(8192,1);
So the problem was in the non-capital letters '..gpuArray..'
Thank you!

Sign in to comment.