| 查看: 1365 | 回复: 7 | |||
| 当前主题已经存档。 | |||
qnsyhanjiu木虫 (著名写手)
|
[交流]
【分享】VASP编译命令
|
||
|
有关VASP的编译命令 [ Last edited by aylayl08 on 2010-1-11 at 15:20 ] |
» 猜你喜欢
真诚求助:手里的省社科项目结项要求主持人一篇中文核心,有什么渠道能发核心吗
已经有8人回复
寻求一种能扛住强氧化性腐蚀性的容器密封件
已经有5人回复
论文投稿,期刊推荐
已经有6人回复
请问哪里可以有青B申请的本子可以借鉴一下。
已经有4人回复
孩子确诊有中度注意力缺陷
已经有14人回复
请问下大家为什么这个铃木偶联几乎不反应呢
已经有5人回复
请问有评职称,把科研教学业绩算分排序的高校吗
已经有5人回复
2025冷门绝学什么时候出结果
已经有3人回复
天津工业大学郑柳春团队欢迎化学化工、高分子化学或有机合成方向的博士生和硕士生加入
已经有4人回复
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复
calos818
木虫 (著名写手)
新人菜鸟
- 应助: 11 (小学生)
- 金币: 3134.2
- 散金: 77
- 红花: 3
- 帖子: 1200
- 在线: 730.5小时
- 虫号: 698507
- 注册: 2009-02-08
- 专业: 凝聚态物性 II :电子结构
2楼2010-01-09 20:21:02
qnsyhanjiu
木虫 (著名写手)
- 应助: 0 (幼儿园)
- 金币: 2446.2
- 散金: 366
- 红花: 1
- 帖子: 1121
- 在线: 108.4小时
- 虫号: 673346
- 注册: 2008-12-12
- 专业: 凝聚态物性 II :电子结构
3楼2010-01-09 20:56:04
zhangfan2192
金虫 (著名写手)
- 应助: 9 (幼儿园)
- 金币: 1007.3
- 散金: 62
- 红花: 3
- 帖子: 1170
- 在线: 171.3小时
- 虫号: 648132
- 注册: 2008-11-07
- 性别: GG
- 专业: 理论和计算化学

4楼2010-01-11 14:20:27
wuli8
荣誉版主 (知名作家)
…………
- 1ST强帖: 2
- 应助: 35 (小学生)
- 贵宾: 12.924
- 金币: 20188.4
- 散金: 15888
- 红花: 88
- 沙发: 4
- 帖子: 7840
- 在线: 1114.6小时
- 虫号: 465889
- 注册: 2007-11-23
- 专业: 物理学I
- 管辖: 计算模拟
1
|
VASP程序的编译 ID:8 分类:VASP/安装与编译 日期:2005-4-25 关键词:VASP,编译 发信人: valenhou (VASP&TranSIESTAC), 信区: Gaussian 标 题: VASP程序的编译 发信站: BBS 大话西游站 (Tue Jul 6 21:19:59 2004), 站内 下面以编译VASP4.4.5版本为例,编译更新的版本VASP4.5.5、VASP4.6和VASP5.0(即将发布)的步骤与此相同。 1、 所需文件和程序 VASP源代码:vasp.4.4.5.tar.gz和vasp.4.lib.tar.gz 数学库:LAPACK和BLAS (http://www.netlib.org/), 或mkl(配合intel的fotran编译器用), 或ATLAS (http://math-atlas.sourceforge.net/) 或Lib GOTO (http://www.cs.utexas.edu/users/flame/goto/) Fortran编译器:PGI fortran 至少4.0以上版本(http://www.pgroup.com/), 或Intel的 ifc (8.0以上版本是ifort, http://www.intel.com/software/products/compilers/flin/),前者可以从网站上下载到15天的试用版本,后者可以从网站下载到免费的版本。 2、下面采用PGI fortan编译器pgf90、ATLAS数学库对VASP4.4.5进行编译 这里假定已经安装好了fortran编译器,所有文件都放在/home/xxx/VASP_SRC目录下,机器的操作系统是Linux: Redhat9.0。 A) 从http://math-atlas.sourceforge.net/下载atlas3.6.0_Linux_P4SSE2.tar.gz,并用如下命令解压:tar xzvf atlas3.6.0_Linux_P4SSE2.tar.gz 解压后得到一个目录Linux_P4SSE2,在此目录下有个lib子目录,该lib子目录中的文件为libatlas.a, libcblas.a, libf77blas.a, liblapack.a, 这些就是编译vasp时所需要的数学库文件之一。 B) 用如下命令解压vasp.4.4.5.tar.gz和vasp.4.lib.tar.gz: tar xzvf vasp.4.4.5.tar.gz tar xzvf vasp.4.lib.tar.gz 解压后分别得到目录vasp.4.4和vasp.4.lib,目录vasp.4.4中文件是vasp的主要源代码,vasp.4.lib是编译vasp时需要的一些特定的数学库程序,在这两个目录中都有编译时所用的makefile文件,针对机器和fortran编译器,选择相应的makefile。 C) 进入vasp.4.lib目录,选择makefile.linux_pg,并把它拷贝成makefile,然后键入make命令开始编译。整个命令如下: cd vasp.4.lib cp makefile.linux_pg makefile make 编译成功后,得到libdmy.a文件。 D) 退出vasp.4.lib目录,进入vasp.4.4目录,选择makefile.linux_pg,并把它拷贝成makefile,编辑makefile文件,通过修改LIB变量的赋值而采用基于ATLAS的数学库文件,修改的地方和方法是: 在第87和88行前加上#,把这两行注释掉,然后去掉第91,92和93行前的#。 修改前和后的内容为分别为: LIB = -L../vasp.4.lib -ldmy ../vasp.4.lib/linpack_double.o \ ../vasp.4.lib/lapack_double.o -L/usr/local/lib /usr/local/lib/libblas.a # # the following lines should allow you to link to atlas based blas #LIB = -L../vasp.4.lib -ldmy ../vasp.4.lib/linpack_double.o \ # ../vasp.4.lib/lapack_double.o -L/usr/local/lib \ # -L$(HOME)/archives/BLAS_OPT/ATLAS/lib/Linux_ATHLONTB/ -lf77blas –latlas #LIB = -L../vasp.4.lib -ldmy ../vasp.4.lib/linpack_double.o \ # ../vasp.4.lib/lapack_double.o -L/usr/local/lib /usr/local/lib/libblas.a # # the following lines should allow you to link to atlas based blas LIB = -L../vasp.4.lib -ldmy ../vasp.4.lib/linpack_double.o \ ../vasp.4.lib/lapack_double.o -L/usr/local/lib \ -L../Linux_P4SSE2/lib/ -lf77blas -latlas 修改后保存makefile文件,键入make命令开始编译vasp。整个命令为: cd .. Cd vasp.4.4 cp makefile.linux_pg makefile 编辑修改makefile文件 make 编译成功后,就可以得到VASP的可执行文件vasp。 E) 以root帐号登录机器,把成功编译VASP后得到的vasp放到/bin目录下,则任何一个普通用户都可以使用vasp。此时vasp可以当成于一个linux的命令来使用了,不再需要把vasp拷贝到当前的计算目录下。 [点击:372] [评论(1)] [文本模式] Source : Presenter :valenhou CrossRef : Attachment: Editor :gentboy 简单组建linux集群及并行编译vasp过程 我们现在主要是用做高性能计算,下面就是我的集群的组建过程。 集群的硬件环境:做一个集群,节点机器的硬件最好相同,这样计算的效率就会高很多,同时组建集群也相对容易。以下是我的机器的配置情况(全新,组装)另外要说的是,我们的节点机没有配置显示器,全部工作由服务器完成。连接就是通过交换机连接,和一般局域网连接相同。 服务器:P4 3.2, 内存2 G ,硬盘:160G ,显示器 ,网卡:2个千兆网卡 (money:8千多) 节点(10台): P4 3.2, 内存:2 G, 硬盘:80G , 网卡:千兆网卡 (5千多每台) 华为24口千兆交换机(4千多) 集群软件环境:建一个简单的集群,其实并不难,主要配置nis,nfs,rsh,mpi就好了。推荐大家看一本书《微机集群组建、优化和管理》车静光著,机械工业出版社。我的集群,采用suse9.3,操作系统其实也很重要,这次试了很多操作系统,redhat9,rhas4无法识别网卡,rocks无法安装,如果硬件没有什么问题,建议大家可以试下rocks cluster这个集群系统,rocks集操作系统和集群于一体,安装完成并行环境就已经建立,而且还配备了pbs管理软件,非常简单,容易上手,只是我的硬件不太兼容,本来是想装rocks的,无奈,只有自己动手了。 Suse配置nis,nfs非常简单,因为suse强大的yast,就像window一样方便,只要鼠标轻点几下就ok。 1.Linux系统的安装,suse安装也非常简单,在此不想详细讲太多,主要是在分区的时候要注意,最要自己手动分区,对于服务器来说,最好能分一个独立的分区/home,因为节点机器要通过nfs共享服务器的/home。注意的是一下几个软件包一定要安装nfs(nfs-utils),nis(ypbind),rsh(rsh-server)。 2.基本的网络配置(通过yast的网卡配置) 服务器的:192.168.1.253 hostname:node0 域名:node0.cluster 节点机器:192.168.1-192.168.1.10 hostname:node1-node10 域名:node*.cluser 掩码:255.255.255.0 3.服务器的配置 3.1.Nfs设置 NFS(NetWork File System)是一种使用比较多的网络文件系统,它以它的安装容易,使用方便得到很多Linux爱好者的使用。在使用NFS时,我们把需要共享的分区或者文件按照一定的规范共享出去,想使用这个资源的机器使用mount 命令把共享的资源加载到自己的系统上,然后就可以像使用自己的本地文件系统一样方便。 进入图形yast-network-nfs server,之后开始配置, 点击add directory:之后设置两个共享目录, /home,/usr/local/,然后加入共享这两个目录的主机通配符192.168.1.0/255.255.255.0 rw,root_squash, sync。其实配置nfs就是修改/etc/exports 文件,你也可以直接修改成 /home/ 192.168.1.1/255.255.255.0(rw,root_squash,sync) /usr/local 192.168.1.1/255.255.255.0(rw,root_squash,sync) Ok,NFS就这样配置好了。 3.2 NIS的配置 NIS(Network Information Service)是实现网络上各Linux机器之间的重要数据分享。这些数据包括用户帐号,密码,组文件,主机文件,等等。在集群中我们要做到单一的镜象就需要NIS的一些服务。比如我们不需要在每个节点上建立各自的用户,而是在master上建立一个用户以后,就同时在其它的节点上能够访问到这个用户。 下面是我的配置过程: Yast-network-nis server-create nis master server之后填入nis domain name,就是域名,我们填node0.Cluster,之后一些信息一般选默认就可以了,之后要配置hosts: netmask:255.255.255.255 network:127.0.0.1 netmask:255.255.0.0 network:192.168.0.0 ok,之后完成,进入/var/yp目录,执行make就最后完成nis的配置。注意的是如果你新建用户了,要注意执行make命令更新nis信息。 最后启动网络服务yast-network-start service进入设置,开启shell,login两项服务。 3.3 rsh的配置 注意修改这两个文件/etc/hosts /etc/hosts.equiv 所建立用户的.rhosts,这个文件和/hosts.equiv文件内容设置相同。 Hosts的文件信息,最后修改成: 127.0.0.1 localhost 192.168.1.253 node0.cluster node0 192.168.1.1 node1.cluster node1 192.168.1.10 node10.cluster node10 Hosts.equiv: Node0 Node1 Node10 把所有节点的信息输入到这两个文件,等节点机器的配置好后,你就可以用命令rlogin node*,登陆节点机器,这样就可以对节点机器进行操作了。 节点机器的配置 配置nis,nfs的情况基本和服务器类似,只是进入yast的时候选择的是nis客户端,和nfs客户端即可,这里不再详细说明。之后启动rsh服务,启动过程,编辑/etc/xinetd.d/rsh 将其中内容“disable=yes”改成“disable=no”,重新restart xinetd,激活rsh #chkconfig –level 345 rsh on #/etc/rc.d/xinetd restart,这样就配置好rsh了, Lam-mpi的编译安装使用。 (1) 到lam-mpi官方网站www.lam-mpi.org下载最新的源代码,注意不要下载rpm格式的,要自己编译tar.gz格式的 (2) 用“tar zxvf lam-7.1.1.tar.gz”解压 (3) 进入该目录配置编译信息(后面编译vasp中的makefile有) ./configure—prefix =/usr/local/lam-7.1.1 ――with CFLAGS=―O ―with –fc=ifort ―― with ―f77flags=―O ―without ―romio 几点说明,前面是配置lam-mpi的安装路径/usr/local/lam-7.1.1,指定的编译器是intel的fortran编译器ifort (4) 然后执行make进行编译,最后执行make install安装,ok成功安装lam-mpi 之后最好把/usr/local/lam-7.1.1/bin加入到搜索路径中,具体做法vi编辑/etc/profile找到 #make path more comfortable #if test ………then ATH=/usr/local/bin:/usr/bin:/usr/X11R6/bin:/usr/local/lam-7.1.1/bin Ok, 这样就设置好路径了,注意的是服务器和节点机器都要设置,因为我们是通过nfs共享lam。之后新建一个文件,lamhosts,输入node0,执行lamboot - lamhosts 如果显示有lam的相关信息,那说明安装成功。 之后顺便说一下lam的使用的几个命令,注意执行lam不能在root下操作 1) 新建一个文件,说明要使用并行计算的几个机器,vi lamhosts 加入你要计算的机器,比如node0 node1 node2 …每个机器一行 2) lamboot -v lamhosts 启动lam-mpi 3) mpirun - np * program *为你运行机器的台数,progran为并行程序,在vasp中我就直接运行mpirun -np 10 vasp 4) 运行结束,记得wipe -v lamhosts 释放机器,否则节点机器无法关机,我经常忘记执行这个命令,导致关机的时候无法正常关机.。 Ifc8.0并行vasp的编译(参考了本论坛的[转帖]VASP程序的编译(valenhou)) 感觉vasp安装不同操作系统不同的版本情况有很大不一样,在suse中并行vasp4.6我编译不成功,并行vasp4.5成功,串行4.6也成功,在rhas4.0中串行vasp4.6无法成功编译,vasp4.5则没有问题,大家如果编译不成功的话,可以试试不同版本。下面讲讲我的并行编译。首先要安装好fortran的编译器ifc这个不详细讲了,重要是要配置好路径,节点机器也是同样问题,ifc可以通过nfs共享,节点机器只要设置好路径就好了。 1. 下载数学库libgoto,我的是intel平台我下libgoto_prescott32p-r1.00.so,之后我把他放在vasp上一级目录/usr/local/lib中 2. 解压vasp.4.5.tar.gz和vasp.4.lib.tar.gz,注意把vasp安装在usr/local的共享目录中 Tar zxvf vasp.4.5.tar.gz tar zxvf vasp.4.lib.tar.gz 3. cd vasp.4.lib cp makefile.linux_ifc_P4 makefile vi makefile 把当中的编译命令ifc改为ifort,在8.0中的命令是ifort不是ifc 之后执行make命令得到libdmy.a。 4. cd vasp.4.5 cp makefile.linux_ifc_P4 makefile vi makefile 把前面第50行的FC=IFC部分用#注释掉,第80-82的cpp部分也注释掉 之后就是136行blas=/usr/local/lib/libgoto_prescott32p-r1.00.so -lsvml LAPACK用139行vasp自带的lapack, 把第166行和167行有关FFT3D的行前加上注释号,如下面的 #FFT3D = fft3dfurth.o fft3dlib.o #FFT3D = fftw3d.o fft3dlib.o /opt/libs/fftw-3.0.1/lib/libfftw3.a 之后把202,203行mpi部分fc=mpif77的#去掉 把212行有关CPP的行前的注释号去掉 把226和227行有关SCA的行,加上注释号 把239和243行有关FFT3D的行,改成如下的内容: # FFT: fftmpi.o with fft3dlib of Juergen Furthmueller FFT3D = fftmpi.o fftmpi_map.o fft3dlib.o # fftw.3.0.1 is slighly faster and should be used if available #FFT3D = fftmpiw.o fftmpi_map.o fft3dlib.o /opt/libs/fftw-3.0.1/lib/libfftw3.a 把这些都修改后,保存,再make得到vasp的可执行程序,为了和串行区别之后我把vasp修改为vaspmpi,copy到/bin中去。这样就大功告成了。 |

5楼2010-01-11 15:06:17
肖湘
银虫 (初入文坛)
- 应助: 0 (幼儿园)
- 金币: 117.3
- 散金: 20
- 帖子: 50
- 在线: 37.5小时
- 虫号: 725097
- 注册: 2009-03-17
- 性别: MM
- 专业: 理论和计算化学

6楼2010-01-11 20:05:56
happyjwx
木虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 3094.5
- 散金: 70
- 帖子: 168
- 在线: 174.5小时
- 虫号: 934744
- 注册: 2009-12-29
- 性别: GG
- 专业: 凝聚态物性 II :电子结构

7楼2010-01-12 13:04:17
8楼2010-02-05 04:02:14













回复此楼