Can I simulate this example (diffraction pattern) on my CPU not my GPU?

1 次查看(过去 30 天)
I tried to apply this example but it doesn't work, because I don't have an external Nividea GPU, I have an intel internal GPU.
Thus, can I apply this example with my CPU.

采纳的回答

Raymond Norris
Raymond Norris 2020-9-1
Hi Muhamed,
In the best situation, by simply casting your data to a GPU, the code following the data creation will run, so long as all of the functions are overloaded for GPU arrays. For example
% CPU version
a = rand(10);
b = fft(a);
% GPU version
a = gpuArray.rand(10); % Create GPU array instead of a standard numeric array
b = fft(a); % Call your code as you normally would
In the example you've highlited, the code should run fine by just making the following change
[gx, gy] = meshgrid( gpuArray.colon( -1, 1/N2, (N2-1)/N2 ) );
to
[gx, gy] = meshgrid( colon( -1, 1/N2, (N2-1)/N2 ) );
or what would be more common coded as
[gx, gy] = meshgrid(-1:1/N2:(N2-1)/N2);

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 GPU Computing 的更多信息

产品


版本

R2016b

Community Treasure Hunt

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

Start Hunting!

Translated by