error with gpuarray transformation

>> A3 = gpuArray(q);
Error using gpuArray
Only full arrays of fundamental numeric types or logical types are
supported for GPU arrays.
i get the following error message. q is a cell array consisting of a matrices with many thousand rows.
my gpu is a cuda card with 4 gigabytes.
thanks

 Accepted Answer

Matt J
Matt J on 18 Dec 2014
Edited: Matt J on 19 Dec 2014
q is not allowed to be a cell array. It must be a matrix or n-dimensional array. And it must be non-sparse.

6 Comments

Is there a solution to this problem?
No, you cannot put a cell array on the GPU. You can make a cell array containing gpuArrays if you wish, like so:
A = cellfun(@gpuArray, {1, 2, 3}, 'UniformOutput', false)
Not sure whether that's any use to you.
so any calculations I do after this will be transformed using gpu rather than cpU?
A = cellfun(@gpuArray, a, 'UniformOutput', false)
All operations on A{i} will be done on the GPU.
A = cellfun(@gather, a, 'UniformOutput', false) and this turns it back

Sign in to comment.

More Answers (0)

Asked:

AA
on 18 Dec 2014

Commented:

AA
on 21 Dec 2014

Community Treasure Hunt

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

Start Hunting!