Convert matlab code to Cuda c++ (FFT of 2d Images)

5 visualizaciones (últimos 30 días)
alaa Afeef
alaa Afeef el 26 de Ag. de 2016
Respondida: Kanishk el 8 de Jul. de 2025
How can the below Matlab code be converted into Cuda c++? It is to apply FFT of the 2D images.
Input: ptycho.m_wp; %4 dimensional matrix of size (65 x 65 of 2D images of 90 x 90 pixels)
size4D=[65,65,90,90];
size4D = [size(ptycho.m_wp,1), size(ptycho.m_wp,2), ptycho.ObjSize(1), ptycho.ObjSize(2)];
mean_m_wp=zeros(size(ptycho.m_wp,1),size(ptycho.m_wp,2));
sumI=0;
fprintf('FT{M} w.r.t Probe Positions...')
% allocate memory for G matrix
G_wp = complex(zeros(size4D));
disp('*****');
disp('Looping through FFT on CPU');
for i = 1:size4D(1)
for j=1:size4D(2)
G_wp(i,j,:,:) = fftshift(fft2(ifftshift( ImagePadMean(squeeze(ptycho.m_wp(i,j,:,:)),ptycho.ObjSize))));
end
end
mean_m_wp = mean(mean(ptycho.m_wp,4),3);
sumI = sum(ptycho.m_wp(:));

Respuestas (1)

Kanishk
Kanishk el 8 de Jul. de 2025
Hello Alaa,
You can use the "GPU Coder" application in MATLAB to generate CUDA C++ code from MATLAB code. You can generate CUDA C++ source code, static libraries, dynamically linked libraries, and executables that you can then integrate into existing CUDA C++ applications outside of MATLAB.
The application is accessible from toolstrip on Apps tab, under Code Generation.
You can learn more about 'GPU Coder' by following this documentation.
Cheers!!

Categorías

Más información sobre MATLAB Coder en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by