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

1 vue (au cours des 30 derniers jours)
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.

Réponse acceptée

Raymond Norris
Raymond Norris le 1 Sep 2020
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);

Plus de réponses (0)

Catégories

En savoir plus sur GPU Computing dans Help Center et File Exchange

Produits


Version

R2016b

Community Treasure Hunt

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

Start Hunting!

Translated by