aboutsummaryrefslogtreecommitdiff
path: root/Source/FieldSolver/SpectralSolver/WrapFFTW.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/FieldSolver/SpectralSolver/WrapFFTW.cpp')
-rw-r--r--Source/FieldSolver/SpectralSolver/WrapFFTW.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/Source/FieldSolver/SpectralSolver/WrapFFTW.cpp b/Source/FieldSolver/SpectralSolver/WrapFFTW.cpp
index a4dfc8b29..57a0fad04 100644
--- a/Source/FieldSolver/SpectralSolver/WrapFFTW.cpp
+++ b/Source/FieldSolver/SpectralSolver/WrapFFTW.cpp
@@ -1,4 +1,4 @@
-/* Copyright 2019-2020
+/* Copyright 2019-2021
*
* This file is part of WarpX.
*
@@ -32,6 +32,16 @@ namespace AnyFFT
{
FFTplan fft_plan;
+#if defined(AMREX_USE_OMP) && defined(WarpX_FFTW_OMP)
+# ifdef AMREX_USE_FLOAT
+ fftwf_init_threads();
+ fftwf_plan_with_nthreads(omp_get_max_threads());
+# else
+ fftw_init_threads();
+ fftw_plan_with_nthreads(omp_get_max_threads());
+# endif
+#endif
+
// Initialize fft_plan.m_plan with the vendor fft plan.
// Swap dimensions: AMReX FAB are Fortran-order but FFTW is C-order
if (dir == direction::R2C){