24小时热门版块排行榜    

查看: 2511  |  回复: 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的回帖

ferminlung

新虫 (初入文坛)

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

ljw4010

荣誉版主 (职业作家)

小木虫从头派教主

mpi并行很饿难弄
不要说话
3楼2015-01-07 12:33:02
已阅   回复此楼   关注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的回帖

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的回帖

ferminlung

新虫 (初入文坛)

我把FP的設置改成
FP  FPOPT(par.comp.options): -90=ifort -O3
沒有了gfortran的報錯, 但出現了下面的報錯, 有方法可以修正嗎??

mpif90 -f90=ifort -O3 -DFFTW3 -I/usr/local/include  -DParallel -c modules.F
: error #5149: Illegal character in statement label field  [M]

: error #5149: Illegal character in statement label field  [O]

: error #5149: Illegal character in statement label field  [D]

: error #5149: Illegal character in statement label field  [U]

: error #5118: First statement in file must not be continued

modules.F(2): error #5149: Illegal character in statement label field  [R]
  REAL*8,PARAMETER             :: zero= 0.0d0LEX
--^
modules.F(2): error #5149: Illegal character in statement label field  [E]
  REAL*8,PARAMETER             :: zero= 0.0d0LEX
---^
modules.F(2): error #5149: Illegal character in statement label field  [A]
  REAL*8,PARAMETER             :: zero= 0.0d0LEX
----^
modules.F(3): error #5149: Illegal character in statement label field  [C]
  COMP*16,PARAMETER         :: zeroc= (0.0d0,0.0d0)
--^
modules.F(3): error #5149: Illegal character in statement label field  [O]
  COMP*16,PARAMETER         :: zeroc= (0.0d0,0.0d0)
---^
modules.F(3): error #5149: Illegal character in statement label field  [M]
  COMP*16,PARAMETER         :: zeroc= (0.0d0,0.0d0)
----^
modules.F(4): error #5149: Illegal character in statement label field  [E]
END MODULE defs
^
modules.F(4): error #5149: Illegal character in statement label field  [N]
END MODULE defs
-^
modules.F(4): error #5149: Illegal character in statement label field  [D]
END MODULE defs
--^
modules.F(4): error #5149: Illegal character in statement label field  [M]
END MODULE defs
----^
modules.F(6): error #5149: Illegal character in statement label field  [M]
MODULE parallel
^
modules.F(6): error #5149: Illegal character in statement label field  [O]
MODULE parallel
-^
modules.F(6): error #5149: Illegal character in statement label field  [D]
MODULE parallel
--^
modules.F(6): error #5149: Illegal character in statement label field  [U]
MODULE parallel
---^
modules.F(6): error #5149: Illegal character in statement label field  [L]
MODULE parallel
----^
modules.F(8): error #5149: Illegal character in statement label field  
  use :: ISO_C_BINDING, only: C_INTPTR_T
--^
modules.F(8): error #5149: Illegal character in statement label field  [s]
  use :: ISO_C_BINDING, only: C_INTPTR_T
---^
modules.F(8): error #5149: Illegal character in statement label field  [e]
  use :: ISO_C_BINDING, only: C_INTPTR_T
----^
modules.F(2): error #5082: Syntax error, found '*' when expecting one of: ( % : . = =>
  REAL*8,PARAMETER             :: zero= 0.0d0LEX
------^
modules.F(2): error #5082: Syntax error, found '=' when expecting one of: ( * ) :: , <END-OF-STATEMENT> ; + . - % (/ [ : ] /) . ** / // ...
  REAL*8,PARAMETER             :: zero= 0.0d0LEX
--------------------------------------^
modules.F(12): error #5149: Illegal character in statement label field  [I]
  INTEGER             :: ierr,npe,myid,npe_coul,myid_coulGER
--^
modules.F(12): error #5149: Illegal character in statement label field  [N]
  INTEGER             :: ierr,npe,myid,npe_coul,myid_coulGER
---^
modules.F(12): error #5149: Illegal character in statement label field  [T]
  INTEGER             :: ierr,npe,myid,npe_coul,myid_coulGER
----^
modules.F(13): error #5149: Illegal character in statement label field  [I]
  INTE,ALLOCATABLE :: nstart(,nstop(
--^
modules.F(13): error #5149: Illegal character in statement label field  [N]
  INTE,ALLOCATABLE :: nstart(,nstop(
---^
(15): catastrophic error: Too many errors, exiting
compilation aborted for modules.F (code 1)
make[1]: *** [modules.o] Error 1
make[1]: Leaving directory `/home/stretch/gskgroup/WIEN2k/SRC_lapw0'
make: *** [para] Error 2
7楼2015-01-08 12:59:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ferminlung

新虫 (初入文坛)

???????:
6?: Originally posted by KalaShayminS at 2015-01-07 18:23:23
??Щ???ò??????????????mpif90???????ifort???????mpif90?????????????????gfortran????cluster??????gfortran??????????????cluster??????????????????mpif90?????ifort??
????????в??? ...

??_???r???????k?c???е????node=1:ppn=16
????????einsufficient virtual memory???? (????s100??atom??supercell)
??????????????c????????k?c?????qsub ?? script???@???:
----------------------------------------------------
#!/bin/tcsh

#PBS -S /bin/bash
#PBS -l nodes=8:ppn=1
#PBS -l walltime=50:00:00
#PBS -o wien2k_output
#PBS -j oe
#PBS -q cluster

cd $PBS_O_WORKDIR

#example for k-point parallel lapw1/2
echo '#' > .machines
echo 'granularity:1' >>.machines
awk '{print "1:"$1":1"}' $PBS_NODEFILE >>.machines
echo 'extrafine:1' >>.machines

#define here your Wien2k command
run_lapw -p -fc 0.1 -ec 0.00001 -cc 0.0001 -it
---------------------------------------------------------------------

?a????.machines ?n??
#
granularity:1
1:node1:1
1:node2:1
1:node3:1
1:node4:1
1:node5:1
1:node5:1
1:node5:1
1:node5:1
extrafine:1
---------------------------------------
???????N??node5???????4??k?c??????з???????????????????c????^???k?c???
8楼2015-01-08 13:15:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

KalaShayminS

铁杆木虫 (著名写手)

【答案】应助回帖


liliangfang: 金币+1, 谢谢交流 2015-01-09 07:52:06
#PBS -l nodes=8:ppn=1
这个命令不保证是8个不同节点。要保证每节点只运行一个,需要在脚本里面写判断语句,生成.machines不重复。

试试ifort -free
9楼2015-01-08 16:05:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 ferminlung 的主题更新
信息提示
请填处理意见