Skip to content

Commit e1601ee

Browse files
committed
revert bug
1 parent f565945 commit e1601ee

File tree

3 files changed

+9
-20
lines changed

3 files changed

+9
-20
lines changed

source/module_basis/module_pw/module_fft/fft_cpu.cpp

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -380,7 +380,6 @@ void FFT_CPU<double>::fftxybac(std::complex<double>* in,std::complex<double>* ou
380380
int npy = this->nplane * this->ny;
381381
if (this->xprime)
382382
{
383-
ModuleBase::timer::tick("fftxybac", "fftybac");
384383
#pragma omp parallel for
385384
for (int i = 0; i < this->lixy + 1; ++i)
386385
{
@@ -391,10 +390,7 @@ void FFT_CPU<double>::fftxybac(std::complex<double>* in,std::complex<double>* ou
391390
{
392391
fftw_execute_dft(this->planybac, (fftw_complex*)&in[i * npy], (fftw_complex*)&out[i * npy]);
393392
}
394-
ModuleBase::timer::tick("fftxybac", "fftybac");
395-
ModuleBase::timer::tick("fftxybac", "fftxbac");
396393
fftw_execute_dft(this->planxbac1, (fftw_complex*)in, (fftw_complex*)out);
397-
ModuleBase::timer::tick("fftxybac", "fftxbac");
398394
}
399395
else
400396
{
@@ -417,9 +413,7 @@ void FFT_CPU<double>::fftzfor(std::complex<double>* in, std::complex<double>* ou
417413
template <>
418414
void FFT_CPU<double>::fftzbac(std::complex<double>* in, std::complex<double>* out) const
419415
{
420-
ModuleBase::timer::tick("fftxybac", "fftzbac");
421416
fftw_execute_dft(this->planzbac, (fftw_complex*)in, (fftw_complex*)out);
422-
ModuleBase::timer::tick("fftxybac", "fftzbac");
423417
}
424418

425419
template <>
@@ -429,6 +423,7 @@ void FFT_CPU<double>::fftxyr2c(double* in, std::complex<double>* out) const
429423
if (this->xprime)
430424
{
431425
fftw_execute_dft_r2c(this->planxr2c, in, (fftw_complex*)out);
426+
#pragma omp parallel for
432427
for (int i = 0; i < this->lixy + 1; ++i)
433428
{
434429
fftw_execute_dft(this->planyfor, (fftw_complex*)&out[i * npy], (fftw_complex*)&out[i * npy]);

source/module_basis/module_pw/pw_basis.cpp

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,15 @@ PW_Basis::PW_Basis()
1515

1616
PW_Basis::PW_Basis(std::string device_, std::string precision_) : device(std::move(device_)), precision(std::move(precision_)) {
1717
classname="PW_Basis";
18-
if(this->precision == "single" || this->precision == "mixing")
19-
{
20-
this->precision = "mixing";
21-
}
22-
else
23-
{
24-
this->precision = "double";
25-
}
18+
std::string fft_precison;
19+
fft_precison = this->precision;
2620
#if (not defined(__ENABLE_FLOAT_FFTW) and (defined(__CUDA) || defined(__RCOM)))
27-
if (this->precision == "gpu")
21+
if (this->device == "gpu")
2822
{
29-
this->precision = "double";
23+
fft_precison = "double";
3024
}
3125
#endif
32-
this->fft_bundle.setfft("cpu",this->precision);
26+
this->fft_bundle.setfft("cpu",fft_precison);
3327
this->double_data_ = (this->precision == "double") || (this->precision == "mixing");
3428
this->float_data_ = (this->precision == "single") || (this->precision == "mixing");
3529
}

source/module_basis/module_pw/pw_basis_k.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -203,11 +203,11 @@ void PW_Basis_K::setuptransform()
203203
this->getstartgr();
204204
this->setupIndGk();
205205
this->fft_bundle.clear();
206+
std::string fft_device = this->device;
206207
#if defined(__DSP)
207-
this->fft_bundle.setfft("dsp", this->precision);
208-
#else
209-
this->fft_bundle.setfft(this->device, this->precision);
208+
fft_device = "dsp";
210209
#endif
210+
this->fft_bundle.setfft(fft_device, this->precision);
211211
if (this->xprime)
212212
{
213213
this->fft_bundle.initfft(this->nx,

0 commit comments

Comments
 (0)