gpu arrayfun don't support linspace or NaN array
Show older comments
example code is:
gn = rand(1000,"gpuArray")/100 + 0.995;
offs = rand(1000,"gpuArray")/50 - 0.01;
meas = ones(1000)*3; % 1000-by-1000 matrix
corrected = arrayfun(@MC_OceanLidar_sub,meas,gn,offs);
results = gather(corrected);
function c = test(rawdata, gain, offset)
layer=1:0.2:100;
c = (rawdata .* gain) + offset + max(layer);
end
the error message is:
Function passed as first input argument contains unsupported or unknown function 'test'.
or
function c = test(rawdata, gain, offset)
layer=NaN(10000,1,'single');
c = (rawdata .* gain) + offset + max(layer);
end
the error message is :
Size inputs are not supported when using 'NaN'. Input to 'NaN' must be a valid class specification such as 'single' or 'double', or the
word 'like' followed by a prototype argument.
Answers (1)
Joss Knight
on 5 Nov 2022
0 votes
You cannot create an array inside a call to GPU arrayfun, only scalars.
Categories
Find more on GPU Computing in MATLAB in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!