| 查看: 9670 | 回复: 85 | ||
| 本帖产生 1 个 1ST强帖 ,点击这里进行查看 | ||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | ||
[资源]
ifort(10.1.012) + MKL(10.0.2.018) + OpenMPI(1.4.4)编译并行vasp-5.2.2
|
||
|
ifort,MKL以及OpenMPI的安装不多赘述,可以参考 http://muchong.com/bbs/viewthread.php?tid=1930406 http://muchong.com/bbs/viewthread.php?tid=4433857 0.编译MKL中的fftw 3.x Fortran wrapper library cd /opt/intel/mkl/10.1.0.015/interfaces/fftw3xf make libem64t compiler=intel 如果没有安装icc的话,需要使用gcc,则 make libem64t compiler=gnu 1.解压vasp软件包 tar zxvf vasp.5.2.tar.gz tar zxvf vasp.5.lib.tar.gz 2. 编译 VASP带的lib得到libdmy.a cd vasp.5.lib cp makefile.linux_ifc_P4 makefile vi makefile 修改 FC=ifort make 3.编译vasp cd vasp.5.2 cp makefile.linux_ifc_P4 makefile 修改整个文件如附件 主要要修改的地方如下:(一定注意将重复的部分去掉,因为这个makefile的模版比较杂乱,可以直接用附件的文件根据自己情况修改) FC=mpif90 FCL=$(FC) CPP_ = ./preprocess <$*.F | /usr/bin/cpp -P -C -traditional >$*$(SUFFIX) CPP = $(CPP_) -DMPI -DHOST=\"LinuxIFC\" -DIFC \ -Dkind8 -DCACHE_SIZE=4000 -DPGF90 -Davoidalloc -DNGZhalf \ -DMPI_BLOCK=8000 \ -DRPROMU_DGEMV -DRACCMU_DGEMV -DscaLAPACK FFLAGS = -I/opt/intel/mkl/10.0.2.018/include/fftw -FR -lower_case OFLAG=-O3 OFLAG_HIGH = $(OFLAG) OBJ_HIGH = OBJ_NOOPT = DEBUG = -FR -O0 INLINE = $(OFLAG) BLAS= -L/opt/intel/mkl/10.0.2.018/lib/em64t -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread LAPACK= -L/opt/intel/mkl/10.0.2.018/lib/em64t -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread SCA= /opt/intel/mkl/10.0.2.018/lib/em64t/libmkl_scalapack_lp64.a /opt/intel/mkl/10.0.2.018/lib/em64t/libmkl_blacs_openmpi_lp64.a LIB = -L../vasp.5.lib -ldmy \ ../vasp.5.lib/linpack_double.o $(LAPACK) \ $(SCA) $(BLAS) FFT3D = fftmpi.o fftmpi_map.o fftw3d.o fft3dlib.o /opt/intel/mkl/10.0.2.018/lib/em64t/libfftw3xf_intel.a 编译完毕. make ~/bin cp vasp ~/bin 测试:(测试文件见附件) mpirun -np 8 ~/bin/vasp >vasp.out &[ Last edited by zhangguangping on 2012-6-6 at 21:33 ] 需要注意的是在编译intel的fftw3xf的时候,虽然有两种方法: make libem64t compiler=intel 和 make libem64t compiler=gnu, 如果你没有icc,也不要使用gnu的这个命令,因为编译到最后会报如下错误: fftw3d.o: In function `fftmakeplan_': 。。。等等 这个时候需要的是修改makefile为: ifeq ($(compiler),gnu) override CC=gcc -D_GNU else override compiler=intel override CC=gcc endif 或者把gnu下面的gcc的参数去掉: ifeq ($(compiler),gnu) override CC=gcc else override compiler=intel override CC=icc endif 这样的话,make libem64t compiler=gnu编译也是可以的。 也就是说即使指明用intel,也要用gcc编译。这样生成的文件大小和用gnu大小都是不一样的。 [ Last edited by zhangguangping on 2014-1-11 at 12:11 ] vasp 5.3.2编译时不能直接用vasp 5.2的makefile.附件中上传了5.3.2的makefile.其中, FC=mpif90 -I/home/software/intel/composer_xe_2013.5.192/mkl/include/fftw中的-I/home/software/intel/composer_xe_2013.5.192/mkl/include/fftw是为了编译fftmpiw.F时用的。因为编译fftmpiw.F的规则是 fftmpiw.o : fftmpiw.F $(CPP) $(FC) -FR -lowercase -O1 $(INCS) -c $*$(SUFFIX) 或者将/home/software/intel/composer_xe_2013.5.192/mkl/include/fftw目录下的fftw3.f文件拷贝到当下编译目录中也可以。[ Last edited by zhangguangping on 2014-12-11 at 07:19 ] |
» 本帖附件资源列表
-
欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com - 附件 1 : lib-makefile
- 附件 2 : 1_7_H2O.rar
- 附件 3 : vasp-makefile
- 附件 4 : makefile-5.3.2
2012-06-06 20:49:29, 1.78 K
2012-06-06 20:53:41, 87.86 K
2012-06-06 21:33:27, 6.3 K
2014-12-11 07:16:30, 6.44 K
» 猜你喜欢
A期刊撤稿
已经有3人回复
职称评审没过,求安慰
已经有34人回复
垃圾破二本职称评审标准
已经有17人回复
回收溶剂求助
已经有6人回复
投稿Elsevier的Neoplasia杂志,到最后选publishing options时页面空白,不能完成投稿
已经有22人回复
申请26博士
已经有5人回复
EST投稿状态问题
已经有7人回复
毕业后当辅导员了,天天各种学生超烦
已经有4人回复
求助文献
已经有3人回复
投稿返修后收到这样的回复,还有希望吗
已经有8人回复
86楼2016-11-04 22:02:31
2楼2012-06-06 21:06:26
3楼2012-06-06 21:12:01
4楼2012-06-06 21:34:28
简单回复
2012-06-07 13:51
回复
五星好评 顶一下,感谢分享!
lwk20513楼
2012-06-09 18:36
回复
五星好评 顶一下,感谢分享!













回复此楼