如何解决Quantum esspresso-6.7.0 用 openmpi-4.0.5 问题编译
亲爱的, 我已经安装了 openmpi-4.0.5,当我编译 Quantum espresso-6.7.0 以在我的计算中使用我的所有线程时,使用以下命令:“ ./configure --enable-openmp ; make -j 12 ”,似乎一切正常,当我运行 test ~/qe-qe-6.7.0/PW/examples/example01/run_example 时,终端中会出现以下内容:
#########################################################################################
/home/youca/Softwares/q-e-qe-6.7.0/PW/examples/example01 : starting
This example shows how to use pw.x to calculate the total energy and
the band structure of four simple systems: Si,Al,Cu,Ni.
executables directory: /home/youca/Softwares/q-e-qe-6.7.0/bin
pseudo directory: /home/youca/Softwares/q-e-qe-6.7.0/pseudo
temporary directory: /home/youca/Softwares/q-e-qe-6.7.0/tempdir
checking that needed directories and files exist... done
running pw.x as: mpirun -np 4 /home/youca/Softwares/q-e-qe-6.7.0/bin/pw.x -nk 1 -nd 1 -nb 1 -nt 1
running the scf calculation for Si...Abort(1094543) on node 0 (rank 0 in comm 0): Fatal error in PMPI_Init_thread: Other MPI error,error stack:
MPIR_Init_thread(639)......:
MPID_Init(860).............:
MPIDI_NM_mpi_init_hook(689): OFI addrinfo() Failed (ofi_init.h:689:MPIDI_NM_mpi_init_hook:No data available)
Abort(1094543) on node 1 (rank 1 in comm 0): Fatal error in PMPI_Init_thread: Other MPI error,error stack:
MPIR_Init_thread(639)......:
MPID_Init(860).............:
MPIDI_NM_mpi_init_hook(689): OFI addrinfo() Failed (ofi_init.h:689:MPIDI_NM_mpi_init_hook:No data available)
Abort(1094543) on node 2 (rank 2 in comm 0): Fatal error in PMPI_Init_thread: Other MPI error,error stack:
MPIR_Init_thread(639)......:
MPID_Init(860).............:
MPIDI_NM_mpi_init_hook(689): OFI addrinfo() Failed (ofi_init.h:689:MPIDI_NM_mpi_init_hook:No data available)
Abort(1094543) on node 3 (rank 3 in comm 0): Fatal error in PMPI_Init_thread: Other MPI error,error stack:
MPIR_Init_thread(639)......:
MPID_Init(860).............:
MPIDI_NM_mpi_init_hook(689): OFI addrinfo() Failed (ofi_init.h:689:MPIDI_NM_mpi_init_hook:No data available)
forrtl: error (78): process killed (SIGTERM)
Image PC Routine Line Source
pw.x 0000000000DF35D4 UnkNown UnkNown UnkNown
libpthread-2.31.s 00001512446D13C0 UnkNown UnkNown UnkNown
libpthread-2.31.s 00001512446D0330 read UnkNown UnkNown
libmpi.so.12.0.0 0000151246A1199F UnkNown UnkNown UnkNown
libmpi.so.12.0.0 0000151246A10D32 UnkNown UnkNown UnkNown
libmpi.so.12.0.0 00001512450538D0 UnkNown UnkNown UnkNown
libmpi.so.12.0.0 0000151245104613 MPIR_Err_return_c UnkNown UnkNown
libmpi.so.12.0.0 0000151245CF2D95 PMPI_Init_thread UnkNown UnkNown
libmpifort.so.12. 0000151247A895DC MPI_INIT_THREAD UnkNown UnkNown
pw.x 0000000000895521 mp_world_mp_mp_wo 65 mp_world.f90
pw.x 0000000000894FC6 mp_global_mp_mp_s 71 mp_global.f90
pw.x 0000000000407390 MAIN__ 64 pwscf.f90
pw.x 0000000000407322 UnkNown UnkNown UnkNown
libc-2.31.so 0000151243FB80B3 __libc_start_main UnkNown UnkNown
pw.x 000000000040722E UnkNown UnkNown UnkNown
forrtl: error (78): process killed (SIGTERM)
Image PC Routine Line Source
pw.x 0000000000DF35D4 UnkNown UnkNown UnkNown
libpthread-2.31.s 000014EC37DFD3C0 UnkNown UnkNown UnkNown
libpthread-2.31.s 000014EC37DFC330 read UnkNown UnkNown
libmpi.so.12.0.0 000014EC3A13D99F UnkNown UnkNown UnkNown
libmpi.so.12.0.0 000014EC3A13CD32 UnkNown UnkNown UnkNown
libmpi.so.12.0.0 000014EC3877F8D0 UnkNown UnkNown UnkNown
libmpi.so.12.0.0 000014EC38830613 MPIR_Err_return_c UnkNown UnkNown
libmpi.so.12.0.0 000014EC3941ED95 PMPI_Init_thread UnkNown UnkNown
libmpifort.so.12. 000014EC3B1B55DC MPI_INIT_THREAD UnkNown UnkNown
pw.x 0000000000895521 mp_world_mp_mp_wo 65 mp_world.f90
pw.x 0000000000894FC6 mp_global_mp_mp_s 71 mp_global.f90
pw.x 0000000000407390 MAIN__ 64 pwscf.f90
pw.x 0000000000407322 UnkNown UnkNown UnkNown
libc-2.31.so 000014EC376E40B3 __libc_start_main UnkNown UnkNown
pw.x 000000000040722E UnkNown UnkNown UnkNown
forrtl: error (78): process killed (SIGTERM)
Image PC Routine Line Source
pw.x 0000000000DF35D4 UnkNown UnkNown UnkNown
libpthread-2.31.s 00001502753273C0 UnkNown UnkNown UnkNown
libpthread-2.31.s 0000150275326330 read UnkNown UnkNown
libmpi.so.12.0.0 000015027766799F UnkNown UnkNown UnkNown
libmpi.so.12.0.0 0000150277666D32 UnkNown UnkNown UnkNown
libmpi.so.12.0.0 0000150275CA98D0 UnkNown UnkNown UnkNown
libmpi.so.12.0.0 0000150275D5A613 MPIR_Err_return_c UnkNown UnkNown
libmpi.so.12.0.0 0000150276948D95 PMPI_Init_thread UnkNown UnkNown
libmpifort.so.12. 00001502786DF5DC MPI_INIT_THREAD UnkNown UnkNown
pw.x 0000000000895521 mp_world_mp_mp_wo 65 mp_world.f90
pw.x 0000000000894FC6 mp_global_mp_mp_s 71 mp_global.f90
pw.x 0000000000407390 MAIN__ 64 pwscf.f90
pw.x 0000000000407322 UnkNown UnkNown UnkNown
libc-2.31.so 0000150274C0E0B3 __libc_start_main UnkNown UnkNown
pw.x 000000000040722E UnkNown UnkNown UnkNown
forrtl: error (78): process killed (SIGTERM)
Image PC Routine Line Source
pw.x 0000000000DF35D4 UnkNown UnkNown UnkNown
libpthread-2.31.s 000014FD8472A3C0 UnkNown UnkNown UnkNown
libpthread-2.31.s 000014FD84729330 read UnkNown UnkNown
libmpi.so.12.0.0 000014FD86A6A99F UnkNown UnkNown UnkNown
libmpi.so.12.0.0 000014FD86A69D32 UnkNown UnkNown UnkNown
libmpi.so.12.0.0 000014FD850AC8D0 UnkNown UnkNown UnkNown
libmpi.so.12.0.0 000014FD8515D613 MPIR_Err_return_c UnkNown UnkNown
libmpi.so.12.0.0 000014FD85D4BD95 PMPI_Init_thread UnkNown UnkNown
libmpifort.so.12. 000014FD87AE25DC MPI_INIT_THREAD UnkNown UnkNown
pw.x 0000000000895521 mp_world_mp_mp_wo 65 mp_world.f90
pw.x 0000000000894FC6 mp_global_mp_mp_s 71 mp_global.f90
pw.x 0000000000407390 MAIN__ 64 pwscf.f90
pw.x 0000000000407322 UnkNown UnkNown UnkNown
libc-2.31.so 000014FD840110B3 __libc_start_main UnkNown UnkNown
pw.x 000000000040722E UnkNown UnkNown UnkNown
Error condition encountered during test: exit status = 179
Aborting
#########################################################################################
###############################################################
# make.inc. Generated from make.inc.in by configure.
# compilation rules
.SUFFIXES :
.SUFFIXES : .o .c .f90 .h .fh
# 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 $<
.c.o:
$(CC) $(CFLAGS) -c $<
.h.fh:
$(CPP) $(CPPFLAGS) $< -o $*.fh
# Top QE directory,useful for locating libraries,linking QE with plugins
# The following Syntax should always point to TOPDIR:
TOPDIR = $(dir $(abspath $(filter %make.inc,$(MAKEFILE_LIST))))
# if it doesn't work,uncomment the following line (edit if needed):
# TOPDIR = /home/youca/Softwares/q-e-qe-6.7.0
# DFLAGS = precompilation options (possible arguments to -D and -U)
# used by the C compiler and preprocessor
# To use libxc (v>=3.0.1),add -D__LIBXC to DFLAGS
# 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
# MANUAL_DFLAGS = additional precompilation option(s),if desired
# BEWARE: it does not work for IBM xlf! Manually edit FDFLAGS
MANUAL_DFLAGS =
DFLAGS = -D__DFTI -D__MPI
FDFLAGS = $(DFLAGS) $(MANUAL_DFLAGS)
# IFLAGS = how to locate directories with *.h or *.f90 file to be included
# typically -I$(TOPDIR)/include -I/some/other/directory/
# the latter contains .e.g. files needed by FFT libraries
# for libxc add -I/path/to/libxc/include/
IFLAGS = -I$(TOPDIR)/include -I$(TOPDIR)/FoX/finclude -I/Opt/intel/compilers_and_libraries_2019.1.144/linux/mkl:/opt/intel/compilers_and_libraries_2019.1.144/linux/mkl/include
# MOD_FLAG = flag used by f90 compiler to locate modules
MOD_FLAG = -I
# BASEMOD_FLAGS points to directories containing basic modules,# while BASEMODS points to the corresponding module libraries
# Each Makefile can add directories to MODFLAGS and libraries to QEMODS
BASEMOD_FLAGS= $(MOD_FLAG)$(TOPDIR)/upflib \
$(MOD_FLAG)$(TOPDIR)/Modules \
$(MOD_FLAG)$(TOPDIR)/FFTXlib \
$(MOD_FLAG)$(TOPDIR)/LAXlib \
$(MOD_FLAG)$(TOPDIR)/UtilXlib \
$(MOD_FLAG)$(TOPDIR)/FoX/finclude
# 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 = mpiifort
F90 = ifort
CC = icc
# CUDA Toolkit path
CUDA_PATH=
# GPU architecture (Kepler: 35,Pascal: 60,Volta: 70 )
GPU_ARCH=
# CUDA runtime (Pascal: 8.0,Volta: 9.0)
CUDA_RUNTIME=
# CUDA F90 Flags
CUDA_F90FLAGS=
# 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 -Uvector $(DFLAGS) $(IFLAGS)
# compiler flags: C,F90
# 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 -qopenmp -fpp $(FDFLAGS) $(CUDA_F90FLAGS) $(IFLAGS) $(MODFLAGS)
# compiler flags with and without optimization for fortran-77
# the latter is NEEDED to properly compile dlamch.f,used by lapack
FFLAGS = -O2 -assume byterecl -g -traceback -qopenmp
FFLAGS_NOOPT = -O0 -assume byterecl -g -traceback
# compiler flag needed by some compilers when the main program is not fortran
# Currently used for Yambo
FFLAGS_NOMAIN = -nofor_main
# Linker,linker-specific flags (if any)
# Typically LD coincides with F90 or MPIF90,LD_LIBS is empty
# for libxc,set LD_LIBS=-L/path/to/libxc/lib/ -lxcf90 -lxc
# If libxc is older than v5.0.0 replace -lxcf90 with -lxcf03
LD = mpiifort
LDFLAGS = -qopenmp
LD_LIBS =
# External Libraries (if any) : blas,lapack,fft,MPI
# If you have nothing better,use the local copy
# BLAS_LIBS = $(TOPDIR)/LAPACK/libblas.a
BLAS_LIBS = -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core
# If you have nothing better,use the local copy
# LAPACK_LIBS_SWITCH = internal
# LAPACK_LIBS = $(TOPDIR)/LAPACK/liblapack.a
LAPACK_LIBS =
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 =
# HDF5
HDF5_LIBS =
FOX_LIB = -L$(TOPDIR)/FoX/lib -lFoX_dom -lFoX_sax -lFoX_wxml -lFoX_common\
-lFoX_utils -lFoX_fsys
FOX_FLAGS =
# 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 =
# library for bayesian error estimate functionals
BEEF_LIBS = $(TOPDIR)/LIBBEEF/libbeef.a
BEEF_LIBS_SWITCH = internal
# CUDA libraries
CUDA_LIBS=
CUDA_EXTLIBS =
# 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 = $(TOPDIR)/clib/clib.a
LIBXC_LIBS =
QELIBS = $(BEEF_LIBS) $(LIBXC_LIBS) $(CUDA_LIBS) $(SCALAPACK_LIBS) $(LAPACK_LIBS) $(FOX_LIB) $(FFT_LIBS) $(BLAS_LIBS) $(MPI_LIBS) $(MASS_LIBS) $(HDF5_LIBS) $(LD_LIBS)
# wget or curl - useful to download from network
WGET = wget -O
# Install directory - "make install" copies *.x executables there
PREFIX = /usr/local
########################################################
比你提前
解决方法
您似乎根本没有真正使用 Open MPI。您的 make.inc
文件集
MPIF90 = mpiifort
这是英特尔 MPI Fortran 编译器包装器。错误消息似乎也来自英特尔 MPI。如果是这样,您可能只是遇到了英特尔 MPI(或更具体地说 libfrabric)的经典问题,不知道任何可用于并行通信的默认接口。尝试在使用英特尔 MPI 运行任何程序之前指定一个,例如
export FI_PROVIDER=tcp
或
export FI_PROVIDER=sockets
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。