简单组建linux集群及并行编译vasp过程

合集下载

64位并行vasp安装过程总结

64位并行vasp安装过程总结

采用IFC编译器,MKL数据库对V ASP编译的过程1.准备系统为Open suse linux-10.3 x86-64或Open suse linux-11.0 x86-64V ASP源代码(vasp.4.6.tar.gz和vasp.4.lib.tar.gz),mkl数据库(l_mkl_p_9.1.023.tar),ifc 编译器(l_fc__pl_9.1.036.tar.gz)。

我们将以上安装所需文件都放在/root/vasp目录下并解压2.Ifc编译器安装先解压tar –zxvf l_fc_c_9.1.036.tar.gz 得到l_fc_c_9.1.036.文件夹进入l_fc__pl_9.1.036文件夹找到install.sh文件执行./install.sh开始安装ifc,安装过程都选用默认的路径(/opt/intel/fc/9.1.036)安装安装完毕,进入/opt/intel/fce/9.1.036/bin目录执行cp ifort /binifc安装完成3.mkl的安装进入l_mkl_p_9.1.023.tar所在目录tar –zxvf l_mkl_p_9.1.023.tar进入解压得到的目录l_mkl_p_9.1.023进入install文件夹,可以看到一个可执行的文件install./install.sh默认安装即可,默认目录为/opt/intel/mkl/9.1.023二、安装MPICH2(在节点root目录下)1、解压缩#tar -zxvf mpich2-1.0.1.tar.gz或者#gunzip -c mpich2-1.0.1.tar.gz|tar xf mpich2-1.0.1.tar2、创建安装目录#mkdir /usr/MPICH-instsll3、进入mpich2解压目录#cd mpich2-1.0.14、默认安装目录#./configure5、编译#make6、安装#make install7、退出到root目录#cd ..8、通过编辑.bashrc文件修改环境变量#vi .bashrc修改后的.bashrc文件如下:8.设置环境变量编辑root下的.bashrc# .bashrc# User specific aliases and functionsalias rm='rm -i'alias cp='cp -i'alias mv='mv -i'PATH="$PATH:/usr/local/bin" (安装mpich2要添加的路径)# Source global definitionsif [ -f /etc/bashrc ]; then. /etc/bashrcfiexport LD_LIBRARY_PATH=/opt/intel/mkl/9.1.023/lib/em64t:/opt/intel/fce/9.1.036/lib. /opt/intel/fce/9.1.036/bin/ifortvars.sh (新添加路径)export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/mkl/9.1.023/lib/em64t (新添加路径)9、测试环境变量设置#which mpd#which mpicc#which mpiexec#which mpirun#which mpif9010、修改/etc/mpd.conf文件,添加内容为secretword=myword#vi /etc/mpd.conf添加secretword=myword设置文件读取权限和修改时间#touch /etc/mpd.conf#chmod 600 /etc/mpd.conf1、本地测试#mpd & 启动#mpdtrace 观看启动机器#mpdallexit 退出三。

vasp编译

vasp编译

(1)准备1.sudo apt-get install g++sudo apt-get install build-essentialsudo apt-get install gcc-multilibsudo apt-get install libstdc++5sudo apt-get install openjdk-6-jre-headlesssudo apt-get install ia32-libssudo apt-get install lib32stdc++6sudo apt-get install libc6-dev-i386sudo apt-get install g++-multilibsudo apt-get install gfrotran1 2 3 tar -2. xzvf xxx #xxx 指压缩包的名称 cd 解压后目录 ./install.sh##########安装过程很简单,安装提示就行########安装完成后,修改环境变量1 vi ~/.bashrc在末尾添加source /opt/intel/bin/compilervars.sh intel64 (64位版本)source /opt/intel/bin/compilervars.sh ia32 (32位版本)1 source ~/.bashrc4. 编译mpi首先下载mpich2的安装文件1 2 3 4 5 6 tar mpich2压缩包cd 文件夹./configure --prefix=安装目录 f77=ifort f90=ifort fc=ifortmakemake installvi ~/.bashrc笔者安装目录在/opt/mpich2,也可以放在其他文件夹中,注意执行make install 用户需要有写入权限在文件最后写入如下代码1 2 3 4 #mpi2 startPATH=/usr/local/mpich2-1.2.1p1/bin:$PATHexport PATH#mpi2 end再source 一下1 source ~/.bashrc5.编译fftw1 2 3 4 5 tar 安装文件cd 文件夹./configure --prefix=安装目录 F77=ifort F90=ifort GCC=ifortmakemake install all6.编译vasp准备 vasp.5.2.tar.gz vasp.5.lib.tar.gz首先编译的是vasp.lib1 2 3 4 5 tar xzvf vasp.5.2.tar.gztar xzvf vasp.5.lib.tar.gzcd vasp.5.libcp makefile.linux_ifc_P4 makefilevi makefile修改19行的 ifc –>ifort1 make如果出现 error { gcc:error trying to wxec ‘f951′ :execvp : No such file or directory }这是gcc 的一个BUG ,解决方法是安装gfortran1 sudo apt-get install gfortran然后再重新编译接着编译vasp1 2 3 4 cd ../cd vasp.5.2cp makefile.linux_ifc_P4 makefilevi makefile主要有如下几个改动1 2 3 4 5 6 7 8 9 10 11 12 1row:53 FC=ifc-->FC=ifortrow:129 BLAS= /opt/libs/libgoto/libgoto.so-->#BLAS= /opt/libs/libgoto/libgoto.sorow:132 LAPACK= ../vasp.5.lib/lapack_double.o-->#LAPACK= ../vasp.5.lib/lapack_double.o row:135后添加新行MKLINCLUDE=/opt/intel/mkl/include/MKLPATH=/opt/intel/mkl/lib/intel64/BLASLAPACK=-L/opt/intel/mkl/lib/intel64/ -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -l iomp5 -lpthread#LIB = -L../vasp.5.lib -ldmy \../vasp.5.lib/linpack_double.o $(LAPACK) \$(BLAS)LIB = -I$(MKLINCLUDE) -L$(MKLPATH) \-L../vasp.5.lib -ldmy \$(BLASLAPACK) \../vasp.5.lib/linpack_double.o31 4 1 5 1 6 1 7 1 8 #158 ff3d后加入库的目录(根据安装ff3d的位置来)FFT3D = fft3dfurth.o fft3dlib.o /usr/local/lib/libfftw3.a然后make,如果没有编译错误那应该是编译成功了,会产生一个vasp的可执行文件。

VASP5.4编译过程说明

VASP5.4编译过程说明

V ASP5.4编译1.编译器安装:parallel_studio_xe_2011_sp1_update2_intel64.tgz解压安装即可,./install.sh:安装中使用的激活码为L3FN-2VRGKX7K安装完设置环境变量:For csh/tcsh:$ source install-dir/bin/compilervars.csh intel64For bash:$ source install-dir/bin/compilervars.sh intel64测试是否成功:which icc/opt/intel/composer_xe_2011_sp1.9.293/bin/intel64/iccwhich ifort/opt/intel/composer_xe_2011_sp1.9.293/bin/intel64/ifort2.安装openmpi:openmpi-1.4.5.tar.gz解压,然后输入./configure CC=icc CXX=icpc F77=ifort FC=ifort 指定编译器之后依次执行make,make install安装完成后,加入如下三个环境变量:export PATH=/usr/local/bin:$PATHexport LD_LIBRARY_PATH=/usr/local/lib/openmpi:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH具体路径找自己的,其中少了第三个路径的话可以编译文件,但是运行编译后的文件会说找不到库函数。

建议安装完成之后进入解压文件夹(不是安装目录)下的example文件夹中测试程序,输入make之后会自动编译,完成之后输入mpirun –np 8 hello_f90,如果安装正确,会出现:Hello, world, I am 0 of 8Hello, world, I am 1 of 8Hello, world, I am 2 of 8Hello, world, I am 3 of 8Hello, world, I am 4 of 8Hello, world, I am 5 of 8Hello, world, I am 6 of 8Hello, world, I am 7 of 88是服务器的cpu数量。

linux编译方法

linux编译方法

linux编译方法随着信息技术的发展,Linux操作系统在各个领域中得到了广泛应用。

为了能够更好地使用和开发Linux,对于Linux的编译方法有着深入的了解是十分必要的。

本文将介绍Linux的编译方法,包括准备工作、编译过程以及常见问题的处理。

一、准备工作在进行Linux编译之前,需要进行一些准备工作来保证编译的顺利进行。

1.1 环境搭建首先,需要确保你的系统已经安装了必要的软件和工具,比如gcc编译器、make工具等。

可以通过运行以下命令来检查软件是否已经安装:```shellgcc --versionmake --version```如果显示相应软件的版本号,则表示已经安装成功。

1.2 获取源代码在开始编译之前,需要先获取源代码。

通常情况下,你可以从开源项目的官方网站或者代码托管平台上下载源代码。

通过以下命令可以从远程仓库中克隆代码到本地:```shellgit clone <repository_url>```其中`<repository_url>`是代码仓库的URL地址。

二、编译过程在准备工作完成后,就可以进行Linux的编译了。

下面介绍一般的编译过程。

2.1 配置首先,在源代码所在的目录中运行以下命令来进行配置:```shell./configure```配置命令会检查系统环境,并生成一个Makefile文件,用于后续的编译。

2.2 编译配置完成后,运行以下命令进行编译:make```编译命令会根据Makefile文件中的规则,将源代码编译为可执行文件或者库文件。

2.3 安装编译完成后,可以运行以下命令来进行安装:```shellmake install```安装命令会将编译生成的文件复制到系统指定的目录中,使得这些文件可以被系统正常调用和使用。

三、常见问题处理在进行Linux编译的过程中,可能会遇到一些常见的问题。

下面列举一些常见问题及其解决方法。

3.1 缺少依赖库在编译过程中,可能会提示缺少某些依赖库。

LINUX内核模块编译步骤

LINUX内核模块编译步骤

LINUX内核模块编译步骤编译Linux内核模块主要包括以下步骤:1.获取源代码2.配置内核进入源代码目录并运行make menuconfig命令来配置内核。

该命令会打开一个文本菜单,其中包含许多内核选项。

在这里,你可以配置内核以适应特定的硬件要求和预期的功能。

你可以选择启用或禁用各种功能、设备驱动程序和文件系统等。

配置完成后,保存并退出。

3. 编译内核(make)运行make命令开始编译内核。

这将根据你在上一步中进行的配置生成相应的Makefile,然后开始编译内核。

编译的过程可能需要一些时间,请耐心等待。

4.安装模块编译完成后,运行make modules_install命令将编译好的模块安装到系统中。

这些模块被安装在/lib/modules/<kernel-version>/目录下。

5.安装内核运行make install命令来安装编译好的内核。

该命令会将内核映像文件(通常位于/arch/<architecture>/boot/目录下)复制到/boot目录,并更新系统引导加载程序(如GRUB)的配置文件。

6.更新GRUB配置文件运行update-grub命令来更新GRUB引导加载程序的配置文件。

这将确保新安装的内核在下次启动时可用。

7.重启系统安装完成后,通过重启系统来加载新的内核和模块。

在系统启动时,GRUB将显示一个菜单,你可以选择要启动的内核版本。

8.加载和卸载内核模块现在,你可以使用insmod命令来加载内核模块。

例如,运行insmod hello.ko命令来加载名为hello.ko的模块。

加载的模块位于/lib/modules/<kernel-version>/目录下。

如果你想卸载一个已加载的内核模块,可以使用rmmod命令。

例如,运行rmmod hello命令来卸载已加载的hello模块。

9.编写和编译模块代码要编写一个内核模块,你需要创建一个C文件,包含必要的模块代码。

VASP5.4.4编译

VASP5.4.4编译

VASP5.4.4编译之前根据sobereva⽼师的视频写过名为的随笔,笔者亲⾃实践过,编译的也没问题,测试作业也正常,但是后来发现这样编译的vasp仍有问题,运⾏内存会不断增长,⼤概半⼩时后,mem到达了最⼤值,然后使⽤swap继续增长,mem和swap全⽤光了之后,作业直接断掉。

于是乎笔者使⽤较新的编译器(parallel_studio_xe_2020_update4_cluster_edition)试了⼀下,并参考了的makefile.include 以及使⽤了fftw,这样编译出来的vasp⽬前没出现问题。

parallel_studio_xe的安装同,然后将. /opt/intel/parallel_studio_xe_2020.4.912/psxevars.sh加⼊ /etc/profile 后重启终端,出现了Intel(R) Parallel Studio XE 2020 Update 4for Linux*Copyright 2009-2020 Intel Corporation.然后which icc ifort icpc mpiifort发现都能找的到,开始编译fftw,此处为 fftw-3.3.9./configure -prefix=/opt/fftw339 CC=icc F77=ifort MPICC=mpiicc -enable-mpimakemake install最后进⾏vasp编译,在此列出我的makefile.include供参考# Precompiler optionsCPP_OPTIONS= -DHOST=\"LinuxIFC\"\-DMPI -DMPI_BLOCK=8000 \-Duse_collective \-DscaLAPACK \-DCACHE_SIZE=4000 \-Davoidalloc \-Duse_bse_te \-Dtbdyn \-Duse_shmem\-DlibbeefCPP = fpp -f_com=no -free -w0 $*$(FUFFIX) $*$(SUFFIX) $(CPP_OPTIONS)FC = mpiifortFCL = mpiifort -mklFREE = -free -names lowercaseFFLAGS = -assume byterecl -w -heap-arrays 64OFLAG = -O2 -xhostOFLAG_IN = $(OFLAG)DEBUG = -O0MKL_PATH = /opt/intel/compilers_and_libraries_2020.4.304/linux/mkl/lib/intel64/BLAS =-L$(MKL_PATH) -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -lmkl_blacs_intelmpi_lp64 -lmkl_scalapack_lp64LAPACK =BLACS =SCALAPACK =OBJECTS = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o /opt/fftw339/lib/libfftw3_mpi.aINCS =-I/opt/fftw339/includeBEEF = -L/home/zhu/software/beef/lib -lbeefLLIBS = $(SCALAPACK) $(LAPACK) $(BLAS) $(BEEF)OBJECTS_O1 += fftw3d.o fftmpi.o fftmpiw.oOBJECTS_O2 += fft3dlib.o# For what used to be vasp.5.libCPP_LIB = $(CPP)FC_LIB = $(FC)CC_LIB = iccCFLAGS_LIB = -OFFLAGS_LIB = -O1FREE_LIB = $(FREE)OBJECTS_LIB= linpack_double.o getshmem.o# For the parser libraryCXX_PARS = icpcLIBS += parserLLIBS += -Lparser -lparser -lstdc++# Normally no need to change thisSRCDIR = ../../srcBINDIR = ../../bin#================================================# GPU StuffCPP_GPU = -DCUDA_GPU -DRPROMU_CPROJ_OVERLAP -DUSE_PINNED_MEMORY -DCUFFT_MIN=28 -UscaLAPACK OBJECTS_GPU = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d_gpu.o fftmpiw_gpu.oCC = iccCXX = icpcCFLAGS = -fPIC -DADD_ -Wall -openmp -DMAGMA_WITH_MKL -DMAGMA_SETAFFINITY -DGPUSHMEM=300 -DHAVE_CUBLAS CUDA_ROOT ?= /usr/local/cuda/NVCC := $(CUDA_ROOT)/bin/nvcc -ccbin=iccCUDA_LIB := -L$(CUDA_ROOT)/lib64 -lnvToolsExt -lcudart -lcuda -lcufft -lcublasGENCODE_ARCH := -gencode=arch=compute_30,code=\"sm_30,compute_30\" \-gencode=arch=compute_35,code=\"sm_35,compute_35\" \-gencode=arch=compute_60,code=\"sm_60,compute_60\"MPI_INC = $(I_MPI_ROOT)/include64/PS:笔者控制变量,将PSXE2020换成PSXE2019,还是会出现之前的问题,并没有测试使⽤fftw与否的影响。

vasp.5.2编译过程

vasp.5.2编译过程

Vasp.5.2编译⒈正常安装ifort编辑器(如vasp.4.6安装过程)修改环境变量# .bashrc# User specific aliases and functions# Source global definitionsif [ -f /etc/bashrc ]; then. /etc/bashrc#IFORT=/home/usr1/intel/PATH="/home/usr1/intel/fce/9.0/bin":${PATH}PATH="/home/usr1/intel/idbe/9.0/bin":${PATH}export PATHMANPATH="/home/usr1/intel/fce/9.0/man":${MANPATH}MANPATH="/home/usr1/intel/idbe/9.0/man":${MANPATH}export MANPATHLD_LIBRARY_PATH="/home/usr1/intel/fce/9.0/lib":${LD_LIBRARY_PATH}export LD_LIBRARY_PATH#INTEL_LICENSE_FILE="/home/usr1/intel/licenses":$INTEL_LICENSE_FILEexport INTEL_LICENSE_FILE#fi⒉安装mkl⑴过程如vasp.4.6的过程⑵编译mkl的FFTW函数库:进入到opt/intel/mkl/xxxx/interfaces/fftw3xf(默认安装)的路径,在root权限下在终端键入make libem64t compiler=intel。

加入环境变量# .bashrc# User specific aliases and functions# Source global definitionsif [ -f /etc/bashrc ]; then. /etc/bashrcLD_LIBRARY_PATH="/opt/intel/mkl/10.0.1.014/lib/em64t":${LD_LIBRARY_PATH}INCLUDE="/opt/intel/mkl/10.0.1.014/include":${INCLUDE}export INCLUDE#fi⒊安装openmpi⑴解压文件,在终端中进入openmpi-xxxx(代表版本)的目录。

VASP编译

VASP编译

1、解压文件:
[root@yanshanwenbin* opt] tar jxvf Filename.tar.bz2
2.进入openmpi解压文件夹
[root@yanshanwe opt]: cd openmpi-1.6.5
3.安装前的配置问题。需要配置一个安装路径以及编译的程序。
export PATH=/opt/intel/impi/4.1.1.036/include64:$PATH
#source /etc/profile.d/paths.sh
!!!!!!到此VASP需要的文件安装完成##########
四.VASP编译
1.VASP.5.l的都是最新版本
在下载过程中提供邮箱获取序列号,从2011版ifort编译器开始已经自带MKL数学库,因此不需要在另外安装MKL数学库
一.ifort安装
1.下载ifort编译器(Intel非商业版)l_fcompxe_2013.4.183.tgz
export LD_LIBRARY_PATH=/opt/intel/composer_xe_2013.4.183/mkl/lib/intel64/:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/intel/composer_xe_2013.4.183/compiler/lib/intel64/:$LD_LIBRARY_PATH
############makefile####################################
.SUFFIXES: .inc .f .F
#-----------------------------------------------------------------------
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

简单组建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.03.服务器的配置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.1netmask:255.255.0.0 network:192.168.0.0ok,之后完成,进入/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 localhost192.168.1.253 node0.cluster node0192.168.1.1 node1.cluster node1192.168.1.10 node10.cluster node10Hosts.equiv:Node0Node1Node10把所有节点的信息输入到这两个文件,等节点机器的配置好后,你就可以用命令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官方网站下载最新的源代码,注意不要下载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 ………thenPATH=/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-mpi3) mpirun - np * program *为你运行机器的台数,progran为并行程序,在vasp中我就直接运行mpirun -np 10 vasp4)运行结束,记得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.gz3. cd vasp.4.libcp makefile.linux_ifc_P4 makefilevi makefile 把当中的编译命令ifc改为ifort,在8.0中的命令是ifort不是ifc之后执行make命令得到libdmy.a。

4. cd vasp.4.5cp makefile.linux_ifc_P4 makefilevi makefile 把前面第50行的FC=IFC部分用#注释掉,第80-82的cpp部分也注释掉之后就是136行blas=/usr/local/lib/libgoto_prescott32p-r1.00.so-lsvmlLAPACK用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 FurthmuellerFFT3D = 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中去。

相关文档
最新文档