From 4f1a7f7c12e403202fc17137d917fed6cf1e872b Mon Sep 17 00:00:00 2001 From: Guilhem Lavaux Date: Mon, 8 Apr 2013 16:26:31 -0400 Subject: [PATCH] Added a critical barrier to fftw calls --- src/fourier/details/euclidian_transform.hpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/fourier/details/euclidian_transform.hpp b/src/fourier/details/euclidian_transform.hpp index 527d38b..e55e990 100644 --- a/src/fourier/details/euclidian_transform.hpp +++ b/src/fourier/details/euclidian_transform.hpp @@ -85,12 +85,15 @@ namespace CosmoTool boost::shared_ptr >((std::complex*)calls::alloc_complex(Nc), std::ptr_fun(calls::free)), dims[0], m_dims_hc, dk); +#pragma omp critical + { m_analysis = calls::plan_dft_r2c(dims.size(), &swapped_dims[0], realMap->data(), (typename calls::complex_type *)fourierMap->data(), FFTW_DESTROY_INPUT|FFTW_MEASURE); m_synthesis = calls::plan_dft_c2r(dims.size(), &swapped_dims[0], (typename calls::complex_type *)fourierMap->data(), realMap->data(), FFTW_DESTROY_INPUT|FFTW_MEASURE); + } } virtual ~EuclidianFourierTransform()