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" <flux_ra...@163.com> 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 0 0 0 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