Open sangallidavide opened 3 weeks ago
I think a possible fix is to have a routine dedicated to the initialization of the FFTs, to be explicitly called in the drivers before the parallel regions where scatterBamp (to make an example is called). At present this is sorted out by WF_load (which, most of the time, initializes FFTs), but it looks as a fragile situation.
https://github.com/yambo-code/yambo/blob/master/src/wf_and_fft/fft_3d_fftw.F is not thread safe if
fftw_plan=0
.In yambo, by chance, the subroutine, when called inside multi-thread loops, seems to always be in the situation with
fftw_plan\=0
.Still, the subroutine is not thread safe and it is called deep insided
OpenMP
loops