Dear QE users and developers,
The problem has been solved, so I just reply my own mail.
In QE version 5.4.0, it was found the error information from
PW/src/allocate_fft.f90, but the real issue was raised from the subroutine
sticks_maps defined in FFTXLib/stick_base.f90.
Just before the end of sticks_maps subroutine, the function MPI_ALLREDUCE is
used. However, the first parameter MPI_IN_PLACE could not work with certain
cases of MPICH2. Thus, the members of three integer arrays, st, stw and sts,
become all zero.
So far, I just added three internal "shadows" integer arrays, _st_, _stw_ and
_sts_. They copied all the members of st, stw and sts before calling
MPI_ALLREDUCE. Thereafter, MPI_IN_PLACE are replaced by the "shadows".
After recompiling the code under MinGW with GNU compiler, the source code
package of QE 5.4.0 was compiled to Windows 32-bit parallel executable files.
Several computations has been done under Windows, it proved that the modified
code is able to provide similar speed and the same results as running under
Unix/Linux.
Please do not hesitate to let me know if one wants to test the Windows -
parallel version QE 5.4.0.
Best Regards,
--
GAO Zhe, Dr.,
Research Engineer,
Gypsum Activity R&D - Asia,
Saint-Gobain Research Shanghai Co., Ltd.,
No. 55, Wenjing-road, Minhang-district, Shanghai, China,
Tel: +86-21-5475-7251
At 2016-10-16 11:01:46, "GAO Zhe" wrote:
Dear QE users and developers,
I am trying to compile QE 5.4.0 under MinGW-32 with MPICH2.
However, pw.x met error while allocating FFT as following:
G-vector sticks info
sticks: dense smooth PW G-vecs:dense smooth PW
Sum 0 0 000 0
%%
Error in routine allocate_fft (1):
wrong ngm
%%
During compiling, the only warning information was occurred for zhpev_drv.f90
in LAXlib as:
gfortran -O3 -static -x f95-cpp-input -D__WIN32 -D__FFTW3 -D__GFORTRAN
-D__STD_F95 -D__MPI -D__PARA -I../include -I/$(MPICH_TOP)/include
-I/local/include -I../ELPA/src -c zhpev_drv.f90
mpif.h:511.11:
Included at zhpev_drv.f90:14:
SAVE /MPIFCMB1/, /MPIFCMB2/
1
Warning: SAVE statement at (1) follows blanket SAVE statement
mpif.h:512.11:
Included at zhpev_drv.f90:14:
SAVE /MPIFCMB3/, /MPIFCMB4/, /MPIFCMB5/, /MPIFCMB6/
1
Warning: SAVE statement at (1) follows blanket SAVE statement
mpif.h:513.11:
Included at zhpev_drv.f90:14:
SAVE /MPIFCMB7/, /MPIFCMB8/
1
Warning: SAVE statement at (1) follows blanket SAVE statement
So far, I have no idea why the strange error took place. Would you like to
share some comments with me how to avoiding the error?
Many thanks.
Best Regards,
--
GAO Zhe, Dr.,
Research Engineer,
Gypsum Activity R&D - Asia,
Saint-Gobain Research Shanghai Co., Ltd.,
No. 55, Wenjing-road, Minhang-district, Shanghai, China,
Tel: +86-21-5475-7251
___
Pw_forum mailing list
Pw_forum@pwscf.org
http://pwscf.org/mailman/listinfo/pw_forum