Skip to content

stu4355226/3-D_FFT_CUDA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Multithreading-Analysis-for-3-D-Fast-Fourier-Transform

A 3D-FFT implementation on C and CUDA. Author

CHIA-CHE, LEE
Computer Engineering, Florida institute of technology.
Email: stu4355226@gmail.com

Target

Platform: Visual Studio 2013.
Language: C, CUDA.

Program Flow

program_flow

This project is using CUDA and C languages to implement 3D Fast Fourier Transform and 3D inverse Fast Fourier Transform.
The goal is comparing the executuon speeds and analysis the advantages and disadvantages on using CUDA for multthreading.
In 3D-FFT folder, the ouput file is "fft3rm.d" file.
In the first exeution, the program will generate a 3D array with ramdom numbers.

original

Then add the transfer data right after the original data.

transfer

Then add the inverse data after the transfer data.

inverse

if the incerse data is the same as the original data, we can say the program is executing correctly.

to check the data for CUDA 3D-FFT.
you need to open file"fft3_cuda.d", the file is made in the same way of C 3D-FFT does.

Execution

execution

Result

Result

The result is showing that in the small matrix computation, CUDA is slower becase of moving data from DDR to GDDR taking too much time.
It's on my expection. If we don't count the time that moves data from DDR to GDDR, CUDA is faster in any cases.

About

A 3D-FFT implementation on C and CUDA.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published