在Itanium2、Intel Fortran Compiler上安装VASP4.6

1、VASP4.6 是量子化学计算的一个商业软件,这里是源码包。来自奥地利。这个软件也可用在物理系,做分子动力学等分析。

2、首先声明一点:VASP4.6无法在Intel Fortran Compiler 8系列上编译通过。会报一个fortcom的内部错误,这是编译器的bug。

3、VASP建议在Intel Fortran Compiler V7上编译,由于手上没有这个版本,所以,只好拿了一个最新的Intel Fortran Compiler 9.0来测试(装完编译器后记得source ifortvars.sh和写一个简单的f90程序来测试一下)。

4、首先tar开两个包,自然先装vasp.4.lib这个,非常简单:

cp makefile.linux_efc_itanium makefile

efc就是以前intel fortran编译器的名字,现在叫ifort了(V7以前都叫efc)

然后编辑makefile文件,将里面的 FC=efc 改成 FC=/opt/intel_fc_90/bin/ifort 就OK了

最后make,生成了libdmy.a 和一些其他的 .o 文件

5、然后进入vasp.4.6目录,一样:

cp makefile.linux_efc_itanium makefile

efc就是以前intel fortran编译器的名字,现在叫ifort了(V7以前都叫efc)

然后编辑makefile文件,将里面的 FC=efc 改成 FC=/opt/intel_fc_90/bin/ifort

还要修改BLAS库的地址,因为vasp需要BLAS库。这里默认配置是Intel的mkl库,正好我们Itanium上有这个库,所以,将他原来的配置:

BLAS=-L/opt/intel/mkl50/lib/64/ -lmkl_i2p -lmkl_vml_i2p -lguide

改成:

BLAS=-L/opt/intel/mkl72cluster/lib/64/ -lmkl_i2p -lmkl_vml_i2p -lguide

就OK了!如果没有intel的mkl库,那么用libgoto的Itanium版也可以!

6、最后make,就OK了!

7、最后注意,如果Intel 9编译器还不行的话,那就老老实实找一个7版本的编译器吧。

8、如果要编译成并行版,请详细阅读makefile中有关mpif90的项目,他推荐用LAM或mpich,而且这两者最好不用捆绑g77或f77 fortran编译器,应该也只要配置一个mpif90就OK了!
 
后续进展:

使用IFC 9也不行,现象是编译到某个源文件的时候就死在那里了,一直在编译,就像进入了死循环一样

后来用户打电话告知,VASP可以在IFC8.x上面编译了,方法是把CFLAGS的-O3改成-O2就可以了!
原文地址:https://www.cnblogs.com/super119/p/2036393.html