本帖最后由 xylsm 于 2019-5-29 11:05 编辑
去年按照论坛里的方法(http://bbs.keinsci.com/thread-4267-1-1.html),外加自己找了很多教程相结合,编译成功了vasp5.3.5,一直没怎么用。最近想要开始做一些计算看了一些教程,发现自己编译的vasp运行效率特别低。测试了一个简单算例,用同样的输入文件,调用同样核心数,用 $ grep LOOP OUTCAR 命令查看电子步时间,发现自己编译的的vasp每步耗时居然有500多秒,而用别人服务器编译的vasp测试只要2秒左右……如图(左边是稳定服务器的情况,右边是别人的):
如果是编译问题,有点想要卸载掉这个版本然后重新编译5.4.4版本,安装sob老师给出的最新的方法。不过我还不太清楚如果想要彻底卸载要怎么做,也希望老师们可以指导一下。
当时编译5.3.5时,为了防止自己忘记具体安装过程,写了一个编译的记录在这里,其实有些步骤自己也不懂为什么,麻烦大家看看可能是什么问题引起的效率低:
VASP5.3.5+VTST
一CentOS 7 以下软件需要自行单独安装 yuminstall gcc-c++ root身份安装) . 安装PS:自定义安装,只需安装其中的intelcomposer一项) http://pan.baidu.com/s/1o6sPd8m ./install.sh (以3.ENTER accept
5. Alternative activation, use a license file, provide the full path, 输入:目录 (具体内容可能有出入,lic.lic) overwrite yes。/home/你的用户名)打开
8.source ~/.bashrc (以后若出现ifort,source .bashrc一下就好了) which ifort显示路径. 安装1. 在网上openmpi-1.6.5.tar.gz
3. cd 目录/)ifort FC=(/完整路径(如果显示)
which ifort 命令显示目录,再) 6.在openmpi.sh ,内容如下,目录自改root身份执行 exportPATH=/usr/local/openmpi/bin:$PATH exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/openmpi/lib:$LD_LIBRARY_PATH exportMANPATH=/usr/local/openmpi/share/man:$MANPATH
然后在home目录.bashrc插入(当前用户身份)
source /usr/local/openmpi/openmpi.sh
最后source ~/.bashrc Openmpi是否安装成功。 1) 验证:which mpirun, mpic++, mpif77, mpif90等,应显示目录等。
2) 测试: cd 解压目录/examples make mpirun -np 2 hello_c (2为双核) 应出现: Hello, world, I am 0of 2 Hello, world, I am 1of 2
四fftw fftw,相应的更改)
1.下载:2.解压
4. ./configure --prefix /usr/local/fftw --enable-mpi
(--enable-mpi,否则在安装好的VASP所必须的5.make
6. sudo make install 7.在.bashrc中加入如下行后,source~/.bashrc
exportPATH=/usr/local/fftw/bin:$PATH exportLD_LIBRARY_PATH=/usr/local/fftw/lib:$LD_LIBRARY_PATH (此部分可能不需要也可以成功) 8.把初始下载文件夹fftw/api/fftw3.f拷贝到VASP.5.3文件夹下. 五vasp 5.3.5
(重要:每次修改了5.3或者makefile.linux_ifc_P4,然后进行重新安装;fftw3.f) 2.修改makefile.linux_ifc_P4文件 3.cd 主目录4.cd vasp.5.lib目录 libdmy.a,文件大小为PS:编译过程后面可能会显示libdmy.a文件即可) 7.修改makefile.linux_ifc_P4文件lib库路径,,具体目录自行修改 详细修改见附件里的VTST, 在8.把VASP.5.3文件夹下VTST. 1) 在VTST官网上下载vtstcode以及vtstscripts文件夹 2) 将vtstcode以及vtstscripts(可以不用拷贝)文件下的所有文件,全部复制到vasp5.3文件夹下,覆盖。 (建议用cp -r 命令) 3) 更改main.F文件 CALL CHAIN_FORCE(T_INFO%NIONS,DYN%POSION,TOTEN,TIFOR,& LATT_CUR%A,LATT_CUR%B,IO%IU6) 改为 CALL CHAIN_FORCE(T_INFO%NIONS,DYN%POSION,TOTEN,TIFOR,& TSIF,LATT_CUR%A,LATT_CUR%B,IO%IU6)
4) 在makefile.linux_ifc_P4文件中,最后的souce,部分,在chain.o之前添加 bfgs.odynmat.o instanton.o lbfgs.o sd.o cg.odimer.o bbm.o \ fire.olanczos.o neb.o qm.o opt.o (附件里我已添加)
, source ~/.bashrc 12.cp makefile.linux_ifc_P4 makefile 10分钟左右,成功应生成名为) 14. 将vasp可执行文件拷入/usr/bin/目录下(root身份)
六1. 测试文件:2.VTST编译情况查看 在上述运算完成文件夹中,vtstscripts
附件:.bashrc文件最终状态
希望各位老师能够指导一下,先谢谢了!
20190529更新
我把之前安装的编译器还有openmpi全部删掉了,也把5.3.5版本卸载,安装sob老师的教程重新编译5.4.4的版本,用同一个体系进行测试,现在的速度很快,结果如图。可能之前就是因为计算机软件和硬件性能没有很好的匹配。感谢大家!
|