24小时热门版块排行榜    

查看: 2848  |  回复: 8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

ferminlung

新虫 (初入文坛)

[求助] wien2k mpi ?K行编译报错 已有1人参与

mpi编译报错,请教如何解决
touch .parallel
make PARALLEL='-DParallel' ./lapw0_mpi \
          FORT=mpif90 FFLAGS=' -FR -mp1 -w -prec_div -pc80 -pad -ip -DINTEL_VML -Dmkl_scalapack -traceback -DFFTW3 -I/usr/local/include  '-DParallel''
make[1]: Entering directory `/home/stretch/gskgroup/WIEN2k/SRC_lapw0'
mpif90 -FR -mp1 -w -prec_div -pc80 -pad -ip -DINTEL_VML -Dmkl_scalapack -traceback -DFFTW3 -I/usr/local/include  -DParallel -c modules.F
gfortran: unrecognized option '-prec_div'
gfortran: unrecognized option '-pc80'
gfortran: unrecognized option '-pad'
gfortran: unrecognized option '-traceback'
f951: warning: command line option "-FR" is valid for C/C++/ObjC/ObjC++ but not for Fortran
f951: error: unrecognized command line option "-ip"
f951: error: unrecognized command line option "-mp1"
make[1]: *** [modules.o] Error 1
make[1]: Leaving directory `/home/stretch/gskgroup/WIEN2k/SRC_lapw0'
make: *** [para] Error 2
Copying programs
  SRC_lapw0/lapw0

done.

Compile time errors (if any) were:
SRC_lapw0/compile.msg:f951: error: unrecognized command line option "-ip"
SRC_lapw0/compile.msg:f951: error: unrecognized command line option "-mp1"
SRC_lapw0/compile.msg:make[1]: *** [modules.o] Error 1
SRC_lapw0/compile.msg:make: *** [para] Error 2
试过在.cshrc内加入以下命令但还是报错
setenv I_MPI_CC icc
setenv I_MPI_F77 ifort
setenv I_MPI_F90 ifort
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

KalaShayminS

铁杆木虫 (著名写手)

【答案】应助回帖


感谢参与,应助指数 +1
liliangfang: 金币+1, 谢谢交流 2015-01-09 07:51:44
mpif90应该和串行编译器匹配,从错误来看你的串行编译器是ifort,但mpif90不是ifort
4楼2015-01-07 12:35:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

ferminlung

新虫 (初入文坛)

編譯器為 mpif90 for MVAPICH2 version 2.0
2楼2015-01-07 12:11:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ferminlung

新虫 (初入文坛)

引用回帖:
4楼: Originally posted by KalaShayminS at 2015-01-07 12:35:04
mpif90应该和串行编译器匹配,从错误来看你的串行编译器是ifort,但mpif90不是ifort

在siteconfig中關於并行的設置為
         FFTW_LIB + FFTW_OPT    : -lfftw3_mpi -lfftw3 -L/usr/local/lib  +  -DFFTW3 -I/usr/local/include (already set)
     RP  RP_LIB(SCALAPACK+PBLAS): -lmkl_scalapack_lp64 -lmkl_solver_lp64 -lmkl_blacs_lp64 $(R_LIBS)
     FP  FPOPT(par.comp.options): -FR -mp1 -w -prec_div -pc80 -pad -ip -DINTEL_VML -Dmkl_scalapack -traceback
     MP  MPIRUN commando        : mpirun -np _NP_ -machinefile _HOSTS_ _EXEC_

我可以直接更改FP而不改串行的設置嗎? 用的是學校的cluster,只能用mpif90 和 ifort
5楼2015-01-07 16:40:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

KalaShayminS

铁杆木虫 (著名写手)

【答案】应助回帖


liliangfang: 金币+1, 谢谢交流 2015-01-09 07:51:54
引用回帖:
5楼: Originally posted by ferminlung at 2015-01-07 16:40:09
在siteconfig中關於并行的設置為
         FFTW_LIB + FFTW_OPT    : -lfftw3_mpi -lfftw3 -L/usr/local/lib  +  -DFFTW3 -I/usr/local/include (already set)
     RP  RP_LIB(SCALAPACK+PBLAS): -lmkl_scalapa ...

这些设置不影响这个错误,必须mpif90自动调用ifort。但你的mpif90根据报错信息调用的是gfortran,而cluster上肯定有gfortran。或者,根据一般cluster的安装,可能会有另一个mpif90,对应ifort。
如果实在不行不编译mpi并行也可以,纯粹用k点并行即可。
6楼2015-01-07 18:23:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见