aboutsummaryrefslogtreecommitdiff
path: root/Source/FieldSolver/SpectralSolver
diff options
context:
space:
mode:
authorGravatar Revathi Jambunathan <revanathan@login2.summit.olcf.ornl.gov> 2019-06-06 17:23:22 -0400
committerGravatar Revathi Jambunathan <revanathan@login2.summit.olcf.ornl.gov> 2019-06-06 17:23:22 -0400
commite7bc3c34fc838c4ab6ee845de2e3f6354c3cbdec (patch)
treec46f0bacdb2531f58a8f4d92b874c3d1c08a4553 /Source/FieldSolver/SpectralSolver
parent7cad9dae5a2acf76e2352d428cd2a03c88453a3f (diff)
downloadWarpX-e7bc3c34fc838c4ab6ee845de2e3f6354c3cbdec.tar.gz
WarpX-e7bc3c34fc838c4ab6ee845de2e3f6354c3cbdec.tar.zst
WarpX-e7bc3c34fc838c4ab6ee845de2e3f6354c3cbdec.zip
adding 2D cufft plans
Diffstat (limited to 'Source/FieldSolver/SpectralSolver')
-rw-r--r--Source/FieldSolver/SpectralSolver/SpectralFieldData.cpp21
1 files changed, 13 insertions, 8 deletions
diff --git a/Source/FieldSolver/SpectralSolver/SpectralFieldData.cpp b/Source/FieldSolver/SpectralSolver/SpectralFieldData.cpp
index cb26b19b7..6eeb266e7 100644
--- a/Source/FieldSolver/SpectralSolver/SpectralFieldData.cpp
+++ b/Source/FieldSolver/SpectralSolver/SpectralFieldData.cpp
@@ -55,7 +55,7 @@ SpectralFieldData::SpectralFieldData( const BoxArray& realspace_ba,
#ifdef AMREX_USE_GPU
// Add cuFFT-specific code
// Creating 3D plan for real to complex -- double precision
-
+ // Assuming CUDA is used for programming GPU
cufftResult result;
#if (AMREX_SPACEDIM == 3)
result = cufftPlan3d( &forward_plan[mfi], fft_size[2],
@@ -63,21 +63,26 @@ SpectralFieldData::SpectralFieldData( const BoxArray& realspace_ba,
if ( result != CUFFT_SUCCESS ) {
amrex::Print() << " cufftplan3d forward failed! \n";
}
-#else
- // Add 2D cuFFT-spacific code for D2Z
- // Note that D2Z is inherently forward plan
-#endif
-#if (AMREX_SPACEDIM == 3)
result = cufftPlan3d( &backward_plan[mfi], fft_size[2],
fft_size[1], fft_size[0], CUFFT_Z2D);
if ( result != CUFFT_SUCCESS ) {
amrex::Print() << " cufftplan3d backward failed! \n";
}
#else
- // Add 2D cuFFT-specific code for Z2D
- // Note that Z2D is inherently backward plan
+ // Add 2D cuFFT-spacific code for D2Z
+ // Note that D2Z is inherently forward plan
+ result = cufftPlan2d( &forward_plan[mfi], fft_size[1],
+ fft_size[0], CUFFT_D2Z );
+ if ( result != CUFFT_SUCCESS ) {
+ amrex::Print() << " cufftplan2d forward failed! \n";
+ }
+ result = cufftPlan2d( &backward_plan[mfi], fft_size[1],
+ fft_size[0], CUFFT_Z2D );
+ if ( result != CUFFT_SUCCESS ) {
+ amrex::Print() << " cufftplan2d backward failed! \n";
+ }
#endif
#else