Hi,
I am building a function, and calling it with on gpu with @arrayfun(). That function calls another function inside of it, and I get this error: ''Error using gpuArray/arrayfun. Scripts are not supported on the GPU.''
But I have done it in the past and it works fine (Below, computeNewDelta() is a function I made, that I call)... What is my problem?
function [count,Zn]=computeMandelbrotIterationsByDeltaForImage(orbit,Xdelta0,Ydelta0,iteration)
refOrbitX=gpuArray(real(orbit));
refOrbitY=gpuArray(imag(orbit));
maxIterations=iteration;
function [count,Zn] = innerCompute(dx0,dy0)
deltaX = dx0;
deltaY = dy0;
count = 1;
Xn = refOrbitX(1,1)+deltaX;
Yn = refOrbitY(1,1)+deltaY;
while ( (Xn*Xn+Yn*Yn) < 10000 && count <= maxIterations )
Xn = refOrbitX(count,1)+deltaX;
Yn = refOrbitY(count,1)+deltaY;
[deltaX,deltaY] = computeNewDelta(Xn,deltaX,Yn,deltaY,dx0,dy0);
count = count + 1;
end
Zn=complex(Xn,Yn);
end
[count,Zn] = arrayfun( @innerCompute,Xdelta0,Ydelta0);
end

답변 (1개)

Rajani Mishra
Rajani Mishra 2020년 2월 10일

0 개 추천

Possibly the cause for the error: “Error using gpuArray/arrayfun. Scripts are not supported on the GPU. is that not all the functions used in your script are GPU supported. Please check that the functions using gpuArrays as input arguments are GPU supported. You can refer to the following link for more information:

카테고리

도움말 센터File Exchange에서 GPU Computing에 대해 자세히 알아보기

제품

질문:

MR
2019년 9월 12일

답변:

2020년 2월 10일

Community Treasure Hunt

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

Start Hunting!

Translated by