24小时热门版块排行榜    

查看: 5422  |  回复: 29

暖秋

新虫 (小有名气)


[交流] 【求助】求详细的PWscf并行编译过程(越详细越好,包括各种环境和参数的设置,及软件�

大家好,我按照有关PWscf并行编译的过程在机群上并行编译了PWscf,没有出现错误,并行环境也检测没问题。但计算的时候发现并没有并行。我不懂这个,发现不了到底错在哪里了。想求教一个详细的编译过程,越详细越好,请各位帮帮我,谢谢了。。。
回复此楼

» 收录本帖的淘帖专辑推荐

pwscf

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
★
暖秋(金币+1): 2010-12-06 10:54:03
youzhizhe(金币+1): 谢谢交流。 2011-05-11 20:45:37
pwscf编译应该很简单
既然已经编译上去了
可以说一下你的错误
大家帮你看一下错误
2楼2010-12-05 23:03:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

暖秋

新虫 (小有名气)


引用回帖:
Originally posted by zzy870720z at 2010-12-05 23:03:08:
pwscf编译应该很简单
既然已经编译上去了
可以说一下你的错误
大家帮你看一下错误

mpif90  -o gww.x \
        gww.o basic_structures.o compact_product.o create_hf.o create_quasi_particle.o energies_gww.o expansion.o fft_gw.o fit_multipole.o fit_polynomial.o go_dressed_w.o go_exchange.o go_fft.o go_green.o go_polarization.o green_function.o gv_time.o input_gw.o para_gww.o polarization.o read_data_pw.o remainder.o self_energy.o self_energy_storage.o start_end.o times_gw.o vcprim.o  ../../Modules/libqemod.a ../../iotk/src/libiotk.a ../../flib/flib.a ../../clib/clib.a ../../flib/ptools.a ../../Multigrid/mglib.a  -lmkl_lapack  -L/home/software/intel/mkl/8.0/lib/em64t/ -lguide -lmkl -llapack -lvml     ../minpack/minpacklib.a
( cd ../../bin; ln -fs ../GWW/gww/gww.x . )
mpif90 -O2 -assume byterecl -g -traceback -nomodule -fpp -D__INTEL -D__FFTW -D__MPI -D__PARA -I../../include -I../../iotk/src -I../../Modules -I../../EE -I../pw4gww -I. -c gww_fit.f90
mpif90  -o gww_fit.x \
gww_fit.o basic_structures.o compact_product.o create_hf.o create_quasi_particle.o energies_gww.o expansion.o fft_gw.o fit_multipole.o fit_polynomial.o go_dressed_w.o go_exchange.o go_fft.o go_green.o go_polarization.o green_function.o gv_time.o input_gw.o para_gww.o polarization.o read_data_pw.o remainder.o self_energy.o self_energy_storage.o start_end.o times_gw.o vcprim.o  ../../Modules/libqemod.a ../../iotk/src/libiotk.a ../../flib/flib.a ../../clib/clib.a ../../flib/ptools.a ../../Multigrid/mglib.a  -lmkl_lapack  -L/home/software/intel/mkl/8.0/lib/em64t/ -lguide -lmkl -llapack -lvml     ../minpack/minpacklib.a
( cd ../../bin; ln -fs ../GWW/gww/gww_fit.x . )
make[2]: Leaving directory `/home/software/PW/PW1/espresso-4.2/GWW/gww'
make[1]: Leaving directory `/home/software/PW/PW1/espresso-4.2/GWW'
if test -d TDDFPT ; then \
( cd TDDFPT ; if test "make" = "" ; then make  TLDEPS= all ; \
else make  TLDEPS= all ; fi ) ; fi
请各位看看,这是什么原因?
3楼2010-12-06 10:53:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
暖秋(金币+1): 2010-12-06 16:35:02
引用回帖:
Originally posted by 暖秋 at 2010-12-06 10:53:52:

mpif90  -o gww.x \
        gww.o basic_structures.o compact_product.o create_hf.o create_quasi_particle.o energies_gww.o expansion.o fft_gw.o fit_multipole.o fit_polynomial.o go_dressed_w.o go_exchange ...

没有报错啊
4楼2010-12-06 10:55:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

暖秋

新虫 (小有名气)


引用回帖:
Originally posted by zzy870720z at 2010-12-06 10:55:57:


没有报错啊

下面是configure的过程,麻烦各位牛人帮我看看,是哪里出了问题。万分感谢啊!



[root@node10 espresso-4.2]# ./configure
checking build system type... x86_64-unknown-linux-gnu
checking architecture... x86_64
checking for ifort... no
checking for pgf90... no
checking for pathf95... no
checking for sunf95... no
checking for openf95... no
checking for g95... no
checking for gfortran... gfortran
configure: WARNING: using cross tools not prefixed with host triplet
checking whether the Fortran 77 compiler works... yes
checking for Fortran 77 compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... yes
checking for suffix of object files... o
checking whether we are using the GNU Fortran 77 compiler... yes
checking whether gfortran accepts -g... yes
checking for mpif90... no
checking for gfortran... gfortran
checking whether we are using the GNU Fortran 77 compiler... yes
checking whether gfortran accepts -g... yes
checking version of gfortran... gfortran 4.1.0
setting F90... gfortran
setting MPIF90... gfortran
checking for cc... cc
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
setting CC... cc
checking how to run the C preprocessor... cc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking size of int *... 8
checking malloc.h usability... yes
checking malloc.h presence... yes
checking for malloc.h... yes
checking for struct mallinfo.arena... yes
checking for gfortran... gfortran
checking whether we are using the GNU Fortran 77 compiler... yes
checking whether gfortran accepts -g... yes
setting F77... gfortran
using F90... gfortran
setting FFLAGS... -O3 -g
setting F90FLAGS... $(FFLAGS) -x f95-cpp-input
setting FFLAGS_NOOPT... -O0 -g
setting CFLAGS... -O3
setting CPP... cpp
setting CPPFLAGS... -P -traditional
setting LD... gfortran
setting LDFLAGS... -g
setting AR... ar
setting ARFLAGS... ruv
checking whether make sets $(MAKE)... yes
checking whether Fortran files must be preprocessed... no
checking how to get verbose linking output from gfortran... -v
checking for Fortran 77 libraries of gfortran...  -L/usr/lib/gcc/x86_64-redhat-linux/4.1.0 -L/usr/lib/gcc/x86_64-redhat-linux/4.1.0/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -lgfortranbegin -lgfortran -lm
checking for dummy main to link with Fortran 77 libraries... none
checking for Fortran 77 name-mangling scheme... lower case, underscore, no extra underscore
checking for library containing dgemm... no
in /opt/intel/Compiler/*/*/mkl/lib/em64t: checking for library containing dgemm... no
in /opt/intel/mkl/*/lib/em64t: checking for library containing dgemm... no
in /opt/intel/mkl*/lib/em64t: checking for library containing dgemm... no
checking for library containing dgemm... no
in /usr/local/lib: checking for library containing dgemm... no
checking for library containing dgemm... -lblas
checking for library containing dspev... -llapack
setting BLAS_LIBS... -lblas
setting LAPACK_LIBS... -llapack
checking for library containing dfftw_execute_dft... no
in /usr/local/lib: checking for library containing dfftw_execute_dft... no
setting FFT_LIBS...
setting MASS_LIBS...
checking for library containing mpi_init... no
setting MPI_LIBS...
checking for library containing mpi_init... (cached) no
setting DFLAGS... -D__GFORTRAN -D__STD_F95 -D__FFTW
setting IFLAGS... -I../include
setting FDFLAGS... $(DFLAGS)
checking for ranlib... ranlib
setting RANLIB... ranlib
configure: creating ./config.status
config.status: creating include/fft_defs.h
config.status: creating make.sys
config.status: creating configure.msg
config.status: creating plugins/install/make_wannier90.sys
config.status: creating extlibs/install/make_blas.inc
config.status: creating extlibs/install/make_lapack.inc
config.status: creating include/c_defs.h
config.status: include/c_defs.h is unchanged
--------------------------------------------------------------------
ESPRESSO can take advantage of several optimized numerical libraries
(essl, fftw, mkl...).  This configure script attempts to find them,
but may fail if they have been installed in non-standard locations.
If a required library is not found, the local copy will be compiled.

The following libraries have been found:
  BLAS_LIBS= -lblas
  LAPACK_LIBS= -llapack
  FFT_LIBS=
Please check if this is what you expect.

If any libraries are missing, you may specify a list of directories
to search and retry, as follows:
  ./configure LIBDIRS="list of directories, separated by spaces"

Parallel environment not detected \(is this a parallel machine?\).\
Configured for compilation of serial executables.

For more info, read the ESPRESSO User's Guide (Doc/users-guide.tex).
--------------------------------------------------------------------
configure: success
5楼2010-12-06 16:34:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
★ ★
暖秋(金币+1): 2010-12-06 18:26:55
sunyang1988(金币+2):谢谢指点 2010-12-06 18:43:13
引用回帖:
Originally posted by 暖秋 at 2010-12-06 16:34:33:

下面是configure的过程,麻烦各位牛人帮我看看,是哪里出了问题。万分感谢啊!



[root@node10 espresso-4.2]# ./configure
checking build system type... x86_64-unknown-linux-gnu
checking architec ...

这个没有错误,给出你的make.sys看看
好像没有并行环境
是不是你的并行环境没有设好
6楼2010-12-06 16:41:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

暖秋

新虫 (小有名气)


引用回帖:
Originally posted by zzy870720z at 2010-12-06 16:41:19:


这个没有错误,给出你的make.sys看看
好像没有并行环境
是不是你的并行环境没有设好

请您帮忙看看,谢谢。。。

# make.sys.  Generated from make.sys.in by configure.

# compilation rules

.SUFFIXES :
.SUFFIXES : .o .c .f .f90

# most fortran compilers can directly preprocess c-like directives: use
#         $(MPIF90) $(F90FLAGS) -c $<
# if explicit preprocessing by the C preprocessor is needed, use:
#         $(CPP) $(CPPFLAGS) $< -o $*.F90
#        $(MPIF90) $(F90FLAGS) -c $*.F90 -o $*.o
# remember the tabulator in the first column !!!

.f90.o:
        $(MPIF90) $(F90FLAGS) -c $<

# .f.o and .c.o: do not modify

.f.o:
        $(F77) $(FFLAGS) -c $<

.c.o:
        $(CC) $(CFLAGS)  -c $<


# DFLAGS  = precompilation options (possible arguments to -D and -U)
#           used by the C compiler and preprocessor
# FDFLAGS = as DFLAGS, for the f90 compiler
# See include/defs.h.README for a list of options and their meaning
# With the exception of IBM xlf, FDFLAGS = $(DFLAGS)
# For IBM xlf, FDFLAGS is the same as DFLAGS with separating commas

DFLAGS         =  -D__INTEL -D__FFTW -D__MPI -D__PARA
FDFLAGS        = $(DFLAGS)

# IFLAGS = how to locate directories where files to be included are
# In most cases, IFLAGS = -I../include

IFLAGS         = -I../include

# MOD_FLAGS = flag used by f90 compiler to locate modules
# Each Makefile defines the list of needed modules in MODFLAGS

MOD_FLAG      = -I

# Compilers: fortran-90, fortran-77, C
# If a parallel compilation is desired, MPIF90 should be a fortran-90
# compiler that produces executables for parallel execution using MPI
# (such as for instance mpif90, mpf90, mpxlf90,...);
# otherwise, an ordinary fortran-90 compiler (f90, g95, xlf90, ifort,...)
# If you have a parallel machine but no suitable candidate for MPIF90,
# try to specify the directory containing "mpif.h" in IFLAGS
# and to specify the location of MPI libraries in MPI_LIBS

MPIF90         = mpif90
#F90           = ifort
CC             = icc
F77            = ifort

# C preprocessor and preprocessing flags - for explicit preprocessing,
# if needed (see the compilation rules above)
# preprocessing flags must include DFLAGS and IFLAGS

CPP            = cpp
CPPFLAGS       = -P -traditional $(DFLAGS) $(IFLAGS)

# compiler flags: C, F90, F77
# C flags must include DFLAGS and IFLAGS
# F90 flags must include MODFLAGS, IFLAGS, and FDFLAGS with appropriate syntax

CFLAGS         = -O3 $(DFLAGS) $(IFLAGS)
F90FLAGS       = $(FFLAGS) -nomodule -fpp $(FDFLAGS) $(IFLAGS) $(MODFLAGS)
FFLAGS         = -O2 -assume byterecl -g -traceback

# compiler flags without optimization for fortran-77
# the latter is NEEDED to properly compile dlamch.f, used by lapack

FFLAGS_NOOPT   = -O0 -assume byterecl -g -traceback

# Linker, linker-specific flags (if any)
# Typically LD coincides with F90 or MPIF90, LD_LIBS is empty

LD             = mpif90
LDFLAGS        =
LD_LIBS        =

# External Libraries (if any) : blas, lapack, fft, MPI

# If you have nothing better, use the local copy :
# BLAS_LIBS = /your/path/to/espresso/BLAS/blas.a
# BLAS_LIBS_SWITCH = internal

BLAS_LIBS      =  -L/home/software/intel/mkl/8.0/lib/em64t/ -lguide -lmkl -llapack -lvml
BLAS_LIBS_SWITCH = external

# If you have nothing better, use the local copy :
# LAPACK_LIBS = /your/path/to/espresso/LAPACK/lapack.a
# LAPACK_LIBS_SWITCH = internal

# The following lapack libraries will be available in flib/ :
# ../flib/lapack.a : contains all needed routines
# ../flib/lapack_atlas.a: only routines not present in the Atlas library
# For IBM machines with essl (-D__ESSL): load essl BEFORE lapack !
# remember that LAPACK_LIBS precedes BLAS_LIBS in loading order

LAPACK_LIBS    =   -lmkl_lapack
LAPACK_LIBS_SWITCH = external

SCALAPACK_LIBS =

# nothing needed here if the the internal copy of FFTW is compiled
# (needs -D__FFTW in DFLAGS)

FFT_LIBS       =

# For parallel execution, the correct path to MPI libraries must
# be specified in MPI_LIBS (except for IBM if you use mpxlf)

MPI_LIBS       =

# IBM-specific: MASS libraries, if available and if -D__MASS is defined in FDFLAGS

MASS_LIBS      =

# pgplot libraries (used by some post-processing tools)

PGPLOT_LIBS    =

# ar command and flags - for most architectures: AR = ar, ARFLAGS = ruv

AR             = ar
ARFLAGS        = ruv

# ranlib command. If ranlib is not needed (it isn't in most cases) use
# RANLIB = echo

RANLIB         = ranlib

# all internal and external libraries - do not modify

FLIB_TARGETS   = all

LIBOBJS        = ../flib/ptools.a ../flib/flib.a ../clib/clib.a ../iotk/src/libiotk.a ../Multigrid/mglib.a
LIBS           = $(SCALAPACK_LIBS) $(LAPACK_LIBS) $(FFT_LIBS) $(BLAS_LIBS) $(MPI_LIBS) $(MASS_LIBS) $(PGPLOT_LIBS) $(LD_LIBS)

# topdir for linking espresso libs with plugins
TOPDIR = /home/software/PW/espresso-4.2
7楼2010-12-06 18:36:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lfhuang

木虫 (著名写手)


★ ★
zzy870720z(金币+2):谢谢指教 2010-12-06 19:55:43
暖秋(金币+1): 2010-12-06 21:39:33
根据./configure的输出信息:
(1)mpif90找不到,所以程序自动用找到的gfortran来代替了;
(2)mpi环境找不到。
因此,导致所安装的是串行程序。
8楼2010-12-06 18:57:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
暖秋(金币+1): 2010-12-06 21:40:19
引用回帖:
Originally posted by 暖秋 at 2010-12-06 18:36:38:



请您帮忙看看,谢谢。。。

# make.sys.  Generated from make.sys.in by configure.

# compilation rules

.SUFFIXES :
.SUFFIXES : .o .c .f .f90

# most fortran compilers can directly pre ...

看楼上的注解
应该是你编译环境没有设置好
9楼2010-12-06 19:56:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

暖秋

新虫 (小有名气)


引用回帖:
Originally posted by lfhuang at 2010-12-06 18:57:38:
根据./configure的输出信息:
(1)mpif90找不到,所以程序自动用找到的gfortran来代替了;
(2)mpi环境找不到。
因此,导致所安装的是串行程序。

你好!麻烦你再看一下,这下可以检测到并行环境了,可是make all 之后还是不能并行,你能帮我看看是什么原因吗?

./configure
checking build system type... x86_64-unknown-linux-gnu
checking architecture... x86_64
checking for ifort... ifort
configure: WARNING: using cross tools not prefixed with host triplet
checking whether the Fortran 77 compiler works... yes
checking for Fortran 77 compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... yes
checking for suffix of object files... o
checking whether we are using the GNU Fortran 77 compiler... no
checking whether ifort accepts -g... yes
checking for mpif90... mpif90
checking whether we are using the GNU Fortran 77 compiler... no
checking whether mpif90 accepts -g... yes
checking version of mpif90... ifort 9.0
setting F90... ifort
setting MPIF90... mpif90
checking for icc... icc
checking whether we are using the GNU C compiler... yes
checking whether icc accepts -g... yes
checking for icc option to accept ISO C89... none needed
setting CC... icc
checking how to run the C preprocessor... icc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking size of int *... 8
checking malloc.h usability... yes
checking malloc.h presence... yes
checking for malloc.h... yes
checking for struct mallinfo.arena... yes
checking for ifort... ifort
checking whether we are using the GNU Fortran 77 compiler... no
checking whether ifort accepts -g... yes
setting F77... ifort
using F90... ifort
setting FFLAGS... -O2 -assume byterecl -g -traceback
setting F90FLAGS... $(FFLAGS) -nomodule
setting FFLAGS_NOOPT... -O0 -assume byterecl -g -traceback
setting CFLAGS... -O3
setting CPP... cpp
setting CPPFLAGS... -P -traditional
setting LD... mpif90
setting LDFLAGS...
setting AR... ar
setting ARFLAGS... ruv
checking whether make sets $(MAKE)... yes
checking whether Fortran files must be preprocessed... no
checking how to get verbose linking output from ifort... -v
checking for Fortran 77 libraries of ifort...  -L/home/software/intel/fce/9.0/lib -L/usr/lib/gcc/x86_64-redhat-linux/3.4.6/ -L/usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64 -lsvml -lifport -lifcore -limf -lm -lirc -lirc_s
checking for dummy main to link with Fortran 77 libraries... none
checking for Fortran 77 name-mangling scheme... lower case, underscore, no extra underscore
checking for library containing dgemm... no
in /opt/intel/Compiler/*/*/mkl/lib/em64t: checking for library containing dgemm... no
in /opt/intel/mkl/8.0/lib/em64t: checking for library containing dgemm... no
in /opt/intel/mkl/9.0/lib/em64t: checking for library containing dgemm... no
in /opt/intel/mkl*/lib/em64t: checking for library containing dgemm... no
in /home/software/intel/fce/9.0/lib: checking for library containing dgemm... no
in /home/software/intel/cce/9.0/lib: checking for library containing dgemm... no
in /home/software/intel/mkl/8.0/lib/em64t: checking for library containing dgemm... no
in /home/software/tclsh8.4.16/lib: checking for library containing dgemm... no
in /home/software/mpich-1.2.7-intel9//lib: checking for library containing dgemm... no
checking for library containing dgemm... no
in /usr/local/lib: checking for library containing dgemm... no
in /home/software/intel/fce/9.0/lib: checking for library containing dgemm... no
in /home/software/intel/cce/9.0/lib: checking for library containing dgemm... no
in /home/software/intel/mkl/8.0/lib/em64t: checking for library containing dgemm... no
in /home/software/tclsh8.4.16/lib: checking for library containing dgemm... no
in /home/software/mpich-1.2.7-intel9//lib: checking for library containing dgemm... no
checking for library containing dgemm... -lblas
checking for library containing dspev... -llapack
setting BLAS_LIBS... -lblas
setting LAPACK_LIBS... -llapack
checking for library containing dfftw_execute_dft... no
in /usr/local/lib: checking for library containing dfftw_execute_dft... no
in /home/software/intel/fce/9.0/lib: checking for library containing dfftw_execute_dft... no
in /home/software/intel/cce/9.0/lib: checking for library containing dfftw_execute_dft... no
in /home/software/intel/mkl/8.0/lib/em64t: checking for library containing dfftw_execute_dft... no
in /home/software/tclsh8.4.16/lib: checking for library containing dfftw_execute_dft... no
in /home/software/mpich-1.2.7-intel9//lib: checking for library containing dfftw_execute_dft... no
setting FFT_LIBS...
setting MASS_LIBS...
checking for library containing mpi_init... none required
setting MPI_LIBS...
checking for library containing mpi_init... (cached) none required
checking for library containing pdgemr2d... no
checking for library containing pdgemr2d... no
checking for library containing pdgemr2d... no
setting DFLAGS... -D__INTEL -D__FFTW -D__MPI -D__PARA
setting IFLAGS... -I../include
setting FDFLAGS... $(DFLAGS)
checking for ranlib... ranlib
setting RANLIB... ranlib
configure: creating ./config.status
config.status: creating include/fft_defs.h
config.status: creating make.sys
config.status: creating configure.msg
config.status: creating plugins/install/make_wannier90.sys
config.status: creating extlibs/install/make_blas.inc
config.status: creating extlibs/install/make_lapack.inc
config.status: creating include/c_defs.h
config.status: include/c_defs.h is unchanged
--------------------------------------------------------------------
ESPRESSO can take advantage of several optimized numerical libraries
(essl, fftw, mkl...).  This configure script attempts to find them,
but may fail if they have been installed in non-standard locations.
If a required library is not found, the local copy will be compiled.

The following libraries have been found:
  BLAS_LIBS= -lblas
  LAPACK_LIBS= -llapack
  FFT_LIBS=
Please check if this is what you expect.

If any libraries are missing, you may specify a list of directories
to search and retry, as follows:
  ./configure LIBDIRS="list of directories, separated by spaces"

Parallel environment detected successfully.\
Configured for compilation of parallel executables.

For more info, read the ESPRESSO User's Guide (Doc/users-guide.tex).
--------------------------------------------------------------------
configure: success
10楼2010-12-07 11:20:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
引用回帖:
Originally posted by 暖秋 at 2010-12-07 11:20:17:


你好!麻烦你再看一下,这下可以检测到并行环境了,可是make all 之后还是不能并行,你能帮我看看是什么原因吗?

./configure
checking build system type... x86_64-unknown-linux-gnu
checking archit ...

这次不能并行是什么提示?
11楼2010-12-07 12:16:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lfhuang

木虫 (著名写手)


引用回帖:
Originally posted by 暖秋 at 2010-12-07 11:20:17:
你好!麻烦你再看一下,这下可以检测到并行环境了,可是make all 之后还是不能并行,你能帮我看看是什么原因吗?

好像./configure成功了。怎么不能并行?是计算出错吗?还是只给并行计算?
12楼2010-12-07 12:22:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

暖秋

新虫 (小有名气)


引用回帖:
Originally posted by zzy870720z at 2010-12-07 12:16:00:


这次不能并行是什么提示?

下面是建立任务后的输出:
提示是并行的,但是我检查节点的时候发现并没有并行,只是在一个cpu上算。而且一个cpu的利用率也不高,您看看可能会是什么原因?

Program PHONON v.4.2       starts on  7Dec2010 at 10:21:52

     This program is part of the open-source Quantum ESPRESSO suite
     for quantum simulation of materials; please acknowledge
         "P. Giannozzi et al., J. Phys.:Condens. Matter 21 395502 (2009);
          URL http://www.quantum-espresso.org",
     in publications or presentations arising from this work. More details at
     http://www.quantum-espresso.org/ ... ng_Quantum-ESPRESSO

     Parallel version (MPI), running on     4 processors
     R & G space division:  proc/pool =    4

     Ultrasoft (Vanderbilt) Pseudopotentials
     file Co.pbe-nd-rrkjus.UPF: wavefunction(s)  4S 3D renormalized
     file O.pbe-rrkjus.UPF: wavefunction(s)  2S renormalized

     Planes per process (thick) : nr3 = 120 npp =   30 ncplane =  1024
     Planes per process (smooth): nr3s=  75 npps=   19 ncplanes=   400

     Proc/  planes cols     G    planes cols    G      columns  G
     Pool       (dense grid)       (smooth grid)      (wavefct grid)
        1    30    159    12403   19     60     2860     22      634
        2    30    160    12408   19     60     2846     21      621
        3    30    159    12405   19     61     2859     21      623
        4    30    159    12403   18     60     2848     21      625
     tot    120    637    49619   75    241    11413     85     2503
13楼2010-12-07 12:24:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
引用回帖:
Originally posted by 暖秋 at 2010-12-07 12:24:16:

下面是建立任务后的输出:
提示是并行的,但是我检查节点的时候发现并没有并行,只是在一个cpu上算。而且一个cpu的利用率也不高,您看看可能会是什么原因?

Program PHONON v.4.2       starts on  7Dec20 ...

没有错误啊
你多大体系?
14楼2010-12-07 12:26:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

暖秋

新虫 (小有名气)


引用回帖:
Originally posted by lfhuang at 2010-12-07 12:22:43:

好像./configure成功了。怎么不能并行?是计算出错吗?还是只给并行计算?

计算没有出错,麻烦您帮我看看下面,可能会是什么原因?
15楼2010-12-07 12:28:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

暖秋

新虫 (小有名气)


引用回帖:
Originally posted by zzy870720z at 2010-12-07 12:26:02:


没有错误啊
你多大体系?

体系不大,是别人算过的一个,不到10个原子。不并行的话算声子很慢,不知道咋办?
16楼2010-12-07 12:29:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
暖秋(金币+1): 2010-12-07 12:38:24
Parallel version (MPI), running on     4 processors
     R & G space division:  proc/pool =    4

看样子是已经并行了的。
建议你换一个最新的版本试试。
此外,我搞不懂你的mpif90到底是用ifort还是gfortran编译的,这直接关系到并行环境和你的编译器的搭配。
17楼2010-12-07 12:36:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
引用回帖:
Originally posted by goldenfisher at 2010-12-07 12:36:26:
Parallel version (MPI), running on     4 processors
     R & G space division:  proc/pool =    4

看样子是已经并行了的。
建议你换一个最新的版本试试。
此外,我搞不懂你的mpif90到底是用ifort还 ...

顺带问一下,我用ifort和mpif90编译,ifort出现好多warning,这些没有问题吧
18楼2010-12-07 12:53:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

totem

金虫 (正式写手)


★
ym23(金币+1):谢谢帮助 2010-12-07 20:29:06
引用回帖:
Originally posted by 暖秋 at 2010-12-06 16:34:33:

下面是configure的过程,麻烦各位牛人帮我看看,是哪里出了问题。万分感谢啊!



[root@node10 espresso-4.2]# ./configure
checking build system type... x86_64-unknown-linux-gnu
checking architec ...

看编译情况没有找到并行环境,不知道你安装的哪个mpd?
mpiCH2,mpiifort之类的都可以
19楼2010-12-07 13:57:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huazhorg

铁杆木虫 (正式写手)


★
youzhizhe(金币+1): 有帮助的回帖。 2011-05-11 20:46:44
我们一般用系统自带的CC和gfortran编译都能很轻松的编译成功的,不需要另外去安装ifort编译器。一般如果并行环境编译成功了,在./configure的最后可以明显看到类似“并行环境编译成功”的提示。
20楼2010-12-07 14:58:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
★
ym23(金币+1):谢谢帮助 2010-12-07 20:28:20
引用回帖:
Originally posted by zzy870720z at 2010-12-07 12:53:33:


顺带问一下,我用ifort和mpif90编译,ifort出现好多warning,这些没有问题吧

warning应该不是很多哦,大概有那么几个。这一般不会影响计算的。
21楼2010-12-07 15:50:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

暖秋

新虫 (小有名气)


引用回帖:
Originally posted by lfhuang at 2010-12-06 18:57:38:
根据./configure的输出信息:
(1)mpif90找不到,所以程序自动用找到的gfortran来代替了;
(2)mpi环境找不到。
因此,导致所安装的是串行程序。

麻烦看看我的make.sys文件,是不是有什么问题?

# make.sys.  Generated from make.sys.in by configure.

# compilation rules

.SUFFIXES :
.SUFFIXES : .o .c .f .f90

# most fortran compilers can directly preprocess c-like directives: use
#         $(MPIF90) $(F90FLAGS) -c $<
# if explicit preprocessing by the C preprocessor is needed, use:
#         $(CPP) $(CPPFLAGS) $< -o $*.F90
#        $(MPIF90) $(F90FLAGS) -c $*.F90 -o $*.o
# remember the tabulator in the first column !!!

.f90.o:
        $(MPIF90) $(F90FLAGS) -c $<

# .f.o and .c.o: do not modify

.f.o:
        $(F77) $(FFLAGS) -c $<

.c.o:
        $(CC) $(CFLAGS)  -c $<


# DFLAGS  = precompilation options (possible arguments to -D and -U)
#           used by the C compiler and preprocessor
# FDFLAGS = as DFLAGS, for the f90 compiler
# See include/defs.h.README for a list of options and their meaning
# With the exception of IBM xlf, FDFLAGS = $(DFLAGS)
# For IBM xlf, FDFLAGS is the same as DFLAGS with separating commas

DFLAGS         =  -D__INTEL -D__FFTW -D__MPI -D__PARA
FDFLAGS        = $(DFLAGS)

# IFLAGS = how to locate directories where files to be included are
# In most cases, IFLAGS = -I../include

IFLAGS         = -I../include

# MOD_FLAGS = flag used by f90 compiler to locate modules
# Each Makefile defines the list of needed modules in MODFLAGS

MOD_FLAG      = -I

# Compilers: fortran-90, fortran-77, C
# If a parallel compilation is desired, MPIF90 should be a fortran-90
# compiler that produces executables for parallel execution using MPI
# (such as for instance mpif90, mpf90, mpxlf90,...);
# otherwise, an ordinary fortran-90 compiler (f90, g95, xlf90, ifort,...)
# If you have a parallel machine but no suitable candidate for MPIF90,
# try to specify the directory containing "mpif.h" in IFLAGS
# and to specify the location of MPI libraries in MPI_LIBS

MPIF90         = mpif90
#F90           = ifort
CC             = icc
F77            = ifort

# C preprocessor and preprocessing flags - for explicit preprocessing,
# if needed (see the compilation rules above)
# preprocessing flags must include DFLAGS and IFLAGS

CPP            = cpp
CPPFLAGS       = -P -traditional $(DFLAGS) $(IFLAGS)

# compiler flags: C, F90, F77
# C flags must include DFLAGS and IFLAGS
# F90 flags must include MODFLAGS, IFLAGS, and FDFLAGS with appropriate syntax

CFLAGS         = -O3 $(DFLAGS) $(IFLAGS)
F90FLAGS       = $(FFLAGS) -nomodule -fpp $(FDFLAGS) $(IFLAGS) $(MODFLAGS)
FFLAGS         = -O2 -assume byterecl -g -traceback

# compiler flags without optimization for fortran-77
# the latter is NEEDED to properly compile dlamch.f, used by lapack

FFLAGS_NOOPT   = -O0 -assume byterecl -g -traceback

# Linker, linker-specific flags (if any)
# Typically LD coincides with F90 or MPIF90, LD_LIBS is empty

LD             = mpif90
LDFLAGS        =
LD_LIBS        =

# External Libraries (if any) : blas, lapack, fft, MPI

# If you have nothing better, use the local copy :
# BLAS_LIBS = /your/path/to/espresso/BLAS/blas.a
# BLAS_LIBS_SWITCH = internal

BLAS_LIBS      =  -lblas
BLAS_LIBS_SWITCH = external

# If you have nothing better, use the local copy :
# LAPACK_LIBS = /your/path/to/espresso/LAPACK/lapack.a
# LAPACK_LIBS_SWITCH = internal

# The following lapack libraries will be available in flib/ :
# ../flib/lapack.a : contains all needed routines
# ../flib/lapack_atlas.a: only routines not present in the Atlas library
# For IBM machines with essl (-D__ESSL): load essl BEFORE lapack !
# remember that LAPACK_LIBS precedes BLAS_LIBS in loading order

LAPACK_LIBS    =  -llapack
LAPACK_LIBS_SWITCH = external

SCALAPACK_LIBS =

# nothing needed here if the the internal copy of FFTW is compiled
# (needs -D__FFTW in DFLAGS)

FFT_LIBS       =

# For parallel execution, the correct path to MPI libraries must
# be specified in MPI_LIBS (except for IBM if you use mpxlf)

MPI_LIBS       =

# IBM-specific: MASS libraries, if available and if -D__MASS is defined in FDFLAGS

MASS_LIBS      =

# pgplot libraries (used by some post-processing tools)

PGPLOT_LIBS    =

# ar command and flags - for most architectures: AR = ar, ARFLAGS = ruv

AR             = ar
ARFLAGS        = ruv

# ranlib command. If ranlib is not needed (it isn't in most cases) use
# RANLIB = echo

RANLIB         = ranlib

# all internal and external libraries - do not modify

FLIB_TARGETS   = all

LIBOBJS        = ../flib/ptools.a ../flib/flib.a ../clib/clib.a ../iotk/src/libiotk.a ../Multigrid/mglib.a
LIBS           = $(SCALAPACK_LIBS) $(LAPACK_LIBS) $(FFT_LIBS) $(BLAS_LIBS) $(MPI_LIBS) $(MASS_LIBS) $(PGPLOT_LIBS) $(LD_LIBS)

# topdir for linking espresso libs with plugins
TOPDIR = /home/software/PW/PW1/espresso-4.2
22楼2010-12-07 17:24:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
★
ym23(金币+1):谢谢帮助 2010-12-07 20:28:34
引用回帖:
Originally posted by goldenfisher at 2010-12-07 15:50:00:


warning应该不是很多哦,大概有那么几个。这一般不会影响计算的。

挺多的,好像是数据格式的warning,没有问题?
23楼2010-12-07 17:36:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ChemiAndy

木虫 (正式写手)


★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
gzqdyouxia(金币+2): 谢谢指教 2011-09-23 12:06:11
这个跟我的犯过的错误一样,你编译mpi的时候肯定是用gfortran,所以只能用mpi+gfortran去编译pqscf,而不能用mpi+ifort.

如果要用mpi+ifort,那就要用ifort去重新编译配置mpi。
24楼2011-09-23 11:43:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

magicmonk

至尊木虫 (著名写手)


★
小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
24楼: Originally posted by ChemiAndy at 2011-09-23 11:43:10
这个跟我的犯过的错误一样,你编译mpi的时候肯定是用gfortran,所以只能用mpi+gfortran去编译pqscf,而不能用mpi+ifort.

如果要用mpi+ifort,那就要用ifort去重新编译配置mpi。

请问如果编译成功后在make.sys里发现软件调用的编译器不是自己想要的,应该如何操作来调整相关参数或路径?是否跟系统环境变量有关?
25楼2014-08-11 16:49:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
★
小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
25楼: Originally posted by magicmonk at 2014-08-11 16:49:04
请问如果编译成功后在make.sys里发现软件调用的编译器不是自己想要的,应该如何操作来调整相关参数或路径?是否跟系统环境变量有关?...

编译前就应该加载相应的编译环境,而且configure的时候应该指明编译器
./configure CC= MPIF90=
不一定要等到编译成功,configure成功就可以检查一下,如果有问题可以重新加载环境变量进行configure或是手工修改make.sys

比如blas lapack和fftw我就手动修改为自己的mkl.
26楼2014-08-12 02:48:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

magicmonk

至尊木虫 (著名写手)


★
小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
26楼: Originally posted by 卡开发发 at 2014-08-12 02:48:30
编译前就应该加载相应的编译环境,而且configure的时候应该指明编译器
./configure CC= MPIF90=
不一定要等到编译成功,configure成功就可以检查一下,如果有问题可以重新加载环境变量进行configure或是手工修改 ...

请问在编译QE时,Intel MKL的blas lapack scalapck和fftw的动态库或静态库路径应该怎么写?
27楼2014-11-09 15:34:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
★
小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
27楼: Originally posted by magicmonk at 2014-11-09 15:34:47
请问在编译QE时,Intel MKL的blas lapack scalapck和fftw的动态库或静态库路径应该怎么写?...

在make.sys下面修改
blas_libs=-lmkl_intel_lp64  -lmkl_sequential -lmkl_core
lapack_libs=
scalapack_libs=
fft_libs=-lfftw3xc_intel (前提是编译了intel的fft,否则应该使用-lfftw3)

印象中QE的手册上有,你可以确定一下。
28楼2014-11-09 16:59:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

magicmonk

至尊木虫 (著名写手)


★
小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
28楼: Originally posted by 卡开发发 at 2014-11-09 16:59:04
在make.sys下面修改
blas_libs=-lmkl_intel_lp64  -lmkl_sequential -lmkl_core
lapack_libs=
scalapack_libs=
fft_libs=-lfftw3xc_intel (前提是编译了intel的fft,否则应该使用-lfftw3)

印象中QE的手册 ...

请问fftw必须是C接口吗?fortran接口不行吗?
29楼2014-11-09 17:25:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
★
小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
29楼: Originally posted by magicmonk at 2014-11-09 17:25:16
请问fftw必须是C接口吗?fortran接口不行吗?...

应该可以把,我自己当时两个都写了。
30楼2014-11-09 17:48:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 暖秋 的主题更新
普通表情 龙 兔 虎 猫 高级回复 (可上传附件)
信息提示
请填处理意见