Good evening everyone,
I'm currently trying to speed up my code by converting it to GPU computation. But I'm facing a problem I didn't have with CPU : The time doesn't scale linearly with the number of loops.
Here is the code :
Nloops = 500;
Z1 = repmat(z1,n,1);
z1 = z1 + (dt*0.5i/pi) * (sum((C1.*nD)./(Z1-Z1.'+D),1));
The result is quite surprising
Nloops = 100 : Elapsed time is 0.014950 seconds.
Nloops = 500 : Elapsed time is 17.072178 seconds.
While on CPU it scales well ( 3 and 15 seconds respectively ), do you have an idea why it scales so badly on GPU ?