amirgholami / accfft

A Massively Parallel FFT Library for CPU/GPU
http://accfft.org
GNU General Public License v2.0
54 stars 18 forks source link

Fix issues with cmake and merge single/double precision codes. #24

Open frobnitzem opened 5 years ago

frobnitzem commented 5 years ago

These changes replace struct accfft_plan/accfft_plan_gpu with a new AccFFT/AccFFT_gpu class and use templates to combine float and double precision codes. The result is a smaller code that is easier to maintain. All tests appear to pass.

Note that looking at the diffs between accfft_gpu and accfft_gpuf, there are several calls to cudaDeviceSynchronize that only appeared in accfft_gpu. These have been commented in the combined code and marker "DOUBLE ONLY".