24小时热门版块排行榜    

Znn3bq.jpeg
查看: 2911  |  回复: 11

gleerat

木虫 (正式写手)

[求助] 使用ifort+MKL编译VASP,出错信息却是gfortran

CODE:
mts@unity-ubuntu:~/vasp.5.2$ make -f makefile.linux_ifc_P4
./preprocess base.f90  -DHOST=\"LinuxIFC\" -Dkind8 -DCACHE_SIZE=12000 -DPGF90 -Davoidalloc -DNGXhalf -DRPROMU_DGEMV  -DRACCMU_DGEMV
mpif90 -I/opt/intel/mkl/include/fftw -FR -lowercase -assume byterecl -O3  -c base.f90
gfortran: error: byterecl: No such file or directory
gfortran: error: unrecognized option '-assume'
make: *** [base.o] Error 1
mts@unity-ubuntu:~/vasp.5.2$ which ifort
/opt/intel/composer_xe_2011_sp1.11.339/bin/intel64/ifort

我在makefile中指定了编译器为ifort和mpif90,编译提示出错信息为gfortran。
这是makefile,省去了一些注释,只有修改的部分使用黑体标识。
引用回帖:
.SUFFIXES: .inc .f .f90 .F
# all CPP processed fortran files have the extension .f90
SUFFIX=.f90
#-----------------------------------------------------------------------
# fortran compiler and linker
#-----------------------------------------------------------------------
FC=ifort
#修改fortran编译器为ifort
# fortran linker
FCL=$(FC)

CPP_ =  ./preprocess <$*.F | /usr/bin/cpp -P -C -traditional >$*$(SUFFIX)

CPP     = $(CPP_)  -DHOST=\"LinuxIFC\" \
          -Dkind8 -DCACHE_SIZE=12000 -DPGF90 -Davoidalloc -DNGXhalf \
          -DRPROMU_DGEMV  -DRACCMU_DGEMV

#取消对CPP的注释

#-----------------------------------------------------------------------
# general fortran flags  (there must a trailing blank on this line)
# byterecl is strictly required for ifc, since otherwise
# the WAVECAR file becomes huge
#-----------------------------------------------------------------------

FFLAGS =  -I/opt/intel/mkl/include/fftw -FR -lowercase -assume byterecl
#指定fftw

# ifc.9.1, ifc.10.1 recommended
OFLAG=-O3

OFLAG_HIGH = $(OFLAG)
OBJ_HIGH =
OBJ_NOOPT =
DEBUG  = -FR -O0
INLINE = $(OFLAG)

#-----------------------------------------------------------------------
# the following lines specify the position of BLAS  and LAPACK
# VASP works fastest with the libgoto library
# so that's what we recommend
#-----------------------------------------------------------------------

# mkl.10.0
# set -DRPROMU_DGEMV  -DRACCMU_DGEMV in the CPP lines
BLAS=-L/opt/intel/mkl/lib/intel64 -lmkl_em64t -lmkl_intel_thread -lguide -lmkl_intel_lp64 -lmkl_blacs_lp64 -lmkl_core -liomp5 -lpthread

# use the mkl Intel lapack
LAPACK= -L/opt/intel/mkl/lib/intel64 -lmkl_em64t -lmkl_intel_thread -lguide -lmkl_intel_lp64 -lmkl_blacs_lp64 -lmkl_core -liomp5 -lpthread
#修改数学库
#-----------------------------------------------------------------------

#LIB  = -L../vasp.5.lib -ldmy \
#     ../vasp.5.lib/linpack_double.o $(LAPACK) \
#     $(BLAS)

#注释掉vasp的库,以及下面紧接着的FFT3D,在MPI部分重新指定FFT3D

# options for linking, nothing is required (usually)
LINK    =

#-----------------------------------------------------------------------
# fft libraries:
# VASP.5.2 can use fftw.3.1.X (http://www.fftw.org)
# since this version is faster on P4 machines, we recommend to use it
#-----------------------------------------------------------------------

#FFT3D   = fft3dfurth.o fft3dlib.o

# alternatively: fftw.3.1.X is slighly faster and should be used if available
#FFT3D   = fftw3d.o fft3dlib.o   /opt/libs/fftw-3.1.2/lib/libfftw3.a

#=======================================================================
# MPI section, uncomment the following lines until
#=======================================================================
#-----------------------------------------------------------------------
# fortran linker for mpi
#-----------------------------------------------------------------------

FC=mpif90
#指定编译器为mpif90
FCL=$(FC)

#CPP    = $(CPP_) -DMPI  -DHOST=\"LinuxIFC\" -DIFC \
#     -Dkind8 -DCACHE_SIZE=4000 -DPGF90 -Davoidalloc -DNGZhalf \
#     -DMPI_BLOCK=8000
##    -DRPROMU_DGEMV  -DRACCMU_DGEMV
#注释CPP,使用前面的CPP

#-----------------------------------------------------------------------
# location of SCALAPACK
# if you do not use SCALAPACK simply leave that section commented out
#-----------------------------------------------------------------------
SCA= /opt/intel/mkl/lib/intel64/libmkl_scalapack_lp64.a /opt/intel/mkl/lib/intel64/libmkl_blacs_openmpi_lp64.a
#修改SCA

#-----------------------------------------------------------------------
# libraries for mpi
#-----------------------------------------------------------------------

LIB     = -L../vasp.5.lib -ldmy  \
      ../vasp.5.lib/linpack_double.o $(LAPACK) \
      $(SCA) $(BLAS)

#取消注释

# FFT: fftmpi.o with fft3dlib of Juergen Furthmueller
#FFT3D   = fftmpi.o fftmpi_map.o fft3dfurth.o fft3dlib.o

# alternatively: fftw.3.1.X is slighly faster and should be used if available
FFT3D   = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o  /opt/intel/mkl/lib/intel64/libfftw3xf_intel.a
#使用指定的fftw3xf

回复此楼

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

Photochemistry

» 猜你喜欢

明察、慎思、笃行
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

aylixmut

铜虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
fzx2008: 金币+1, 谢谢回帖! 2012-07-25 11:40:47
gleerat: 金币+10, ★★★很有帮助 2012-07-25 14:19:23
gleerat: 金币+10, ★★★很有帮助 2012-07-25 14:20:30
是mpif90命令没找到。
在命令行打入:mpif90 看看是什么提示。
2楼2012-07-24 15:45:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gleerat

木虫 (正式写手)

引用回帖:
2楼: Originally posted by aylixmut at 2012-07-24 15:45:23
是mpif90命令没找到。
在命令行打入:mpif90 看看是什么提示。

CODE:
mts@unity-ubuntu:~$ which mpif90
/usr/bin/mpif90
mts@unity-ubuntu:~$

明察、慎思、笃行
3楼2012-07-24 16:23:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

souledge

专家顾问 (著名写手)

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
fzx2008: 金币+3, 专家考核, 谢谢指教! 2012-07-24 17:28:35
fzx2008: 金币+20, 代发金币 2012-07-25 16:57:36
引用回帖:
3楼: Originally posted by gleerat at 2012-07-24 16:23:54
mts@unity-ubuntu:~$ which mpif90
/usr/bin/mpif90
mts@unity-ubuntu:~$
...

你的MPI不是用ifort编译的,而是用gfortran编译的。用
CODE:
mpif90 --version

就可以看到了。
建议下载MPI重新编译,编译时加上FC=ifort一句~
思想重于技巧,内涵重于表象
4楼2012-07-24 16:28:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gleerat

木虫 (正式写手)

内容已删除
明察、慎思、笃行
5楼2012-07-24 19:34:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

aylixmut

铜虫 (小有名气)


fzx2008: 金币+1, 谢谢回帖! 2012-07-25 11:41:23
我曾经编译也遇到跟您一样的问题,就是因为mpif90没找到,后来设置一下即可。如果这个没问题,那接下来应该就考虑库的问题,是否存在,有无问题。
6楼2012-07-24 21:13:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sjzxbe

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
gleerat: 金币+5, 有帮助, 谢谢 2012-07-25 14:21:18
gleerat: 金币+5, 有帮助 2012-07-25 14:21:47
intel环境编译
(1) source /opt/intel/Compiler/11.1/080/bin/ifortvars.sh intel64
(2)安装openmpi
  tar jxf openmpi-1.4.3.tar.bz2
  cd openmpi-1.4.3
  ./configure --prefix=/opt/openmpi-intel CC=icc CXX=icpc F77=ifort FC=ifort --enable-mpirun-prefix-by-default --with-tm=/usr/local --with-openib=/usr
  make
  make install

(3) 配置环境
  source /opt/intel/Compiler/11.1/080/bin/ifortvars.sh intel64
  source /opt/openmpi-intel/openmpi-intel.sh  

(4) 编译VASP.lib and vasp
网上有不少intel+MKL+openmpi的,找一下.
7楼2012-07-25 08:14:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gleerat

木虫 (正式写手)

引用回帖:
6楼: Originally posted by aylixmut at 2012-07-24 21:13:10
我曾经编译也遇到跟您一样的问题,就是因为mpif90没找到,后来设置一下即可。如果这个没问题,那接下来应该就考虑库的问题,是否存在,有无问题。

mpif90的问题,我已经解决。
我现在的问题是我在五楼说的编译问题。
明察、慎思、笃行
8楼2012-07-25 08:27:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gleerat

木虫 (正式写手)

引用回帖:
7楼: Originally posted by sjzxbe at 2012-07-25 08:14:57
intel环境编译
(1) source /opt/intel/Compiler/11.1/080/bin/ifortvars.sh intel64
(2)安装openmpi
  tar jxf openmpi-1.4.3.tar.bz2
  cd openmpi-1.4.3
  ./configure --prefix=/opt/openmpi-intel CC=icc  ...

mpif90的问题我已经解决,我现在的问题是我在五楼提到的编译出错问题。正是你略过的第四步。
由于原帖不能编辑,所以我在五楼提出了问题。
明察、慎思、笃行
9楼2012-07-25 08:31:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

aylixmut

铜虫 (小有名气)

★ ★
fzx2008: 金币+2, 谢谢回帖! 2012-07-25 11:42:15
引用回帖:
9楼: Originally posted by gleerat at 2012-07-25 08:31:37
mpif90的问题我已经解决,我现在的问题是我在五楼提到的编译出错问题。正是你略过的第四步。
由于原帖不能编辑,所以我在五楼提出了问题。...

您是要并行编译,还是串行编译?如果并行的话,把串行的都注释掉。
看您的makefile有点乱哦,可以参考一些成功编译的makefile进行修改。比如,下面是用libgoto库编译的makefile
http://muchong.com/bbs/viewthread.php?tid=2687491&page=1
用你自己makefile的标的blas库也行。
10楼2012-07-25 11:34:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 gleerat 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 国自然面上和省基金B类撒花 +6 花田半亩~白 2026-04-21 6/300 2026-04-22 10:55 by 3126142009
[考博] 华师大读博 +3 xq83 2026-04-22 5/250 2026-04-22 10:42 by xq83
[教师之家] 又一批高校组建人工智能学院 师资行吗 不是骗人吗 +5 yexuqing 2026-04-19 5/250 2026-04-22 10:01 by easeheart
[论文投稿] 急需审稿人!!! +3 陆小果画大饼 2026-04-21 3/150 2026-04-21 23:54 by jzy_123456
[考研] 一志愿A区211,22408 321求调剂 +7 随心所欲☆ 2026-04-15 8/400 2026-04-21 08:22 by Equinoxhua
[考研] 295分求调剂 +6 ?要上岸? 2026-04-17 6/300 2026-04-21 08:18 by Equinoxhua
[考研] 一志愿中科大材料与化工,353分还有调剂学校吗 +11 否极泰来2026 2026-04-15 13/650 2026-04-20 22:31 by Equinoxhua
[考研] 085600材料与化工调剂 5+3 孜孜不倦2002 2026-04-19 6/300 2026-04-20 21:25 by babero
[论文投稿] 期刊推荐 +3 材料研究生 2026-04-15 5/250 2026-04-20 16:02 by 豆豆7758
[考研] 337求调剂 +3 jyz04 2026-04-18 3/150 2026-04-20 12:24 by 研可安
[考博] 申博 +3 Xyyx. 2026-04-18 3/150 2026-04-20 10:44 by YuY66
[考博] 湖南大学刘巧玲课题组2026年第二批次博士研究生招生信息 +3 南风观火 2026-04-18 5/250 2026-04-20 10:13 by 南风观火
[考研] 求计算机方向调剂 +3 Toffee2 2026-04-16 6/300 2026-04-19 22:37 by ll叶
[考研] 304求调剂 +8 castLight 2026-04-16 8/400 2026-04-19 17:14 by 中豫男
[考研] 求调剂 +10 小聂爱学习 2026-04-16 12/600 2026-04-19 16:51 by 中豫男
[考研] 300求调剂 +12 橙a777 2026-04-15 12/600 2026-04-18 23:51 by 路病情
[考研] 接受任何调剂 +6 也就是栗子 2026-04-17 7/350 2026-04-18 17:20 by 涵竹刘
[考研] 收到复试调剂但是去不了 +8 小蜗牛* 2026-04-16 8/400 2026-04-18 11:15 by zixin2025
[考研] 急需调剂 +9 绝不放弃22 2026-04-15 10/500 2026-04-18 08:09 by chixmc
[有机交流] 二苯甲酮酸类衍生物 50+3 小白爱主人 2026-04-17 6/300 2026-04-17 18:47 by kf2781974
信息提示
请填处理意见