搜档网
当前位置:搜档网 › 并行安装vasp步骤

并行安装vasp步骤

并行安装vasp步骤
并行安装vasp步骤

intel fortran9.1.036 安装过程

Intel Fortran Compiler这个编译器性能极佳,它在x86 和Itanium 级Linux 主机上会有光明的未来,因为Intel 的编译器组整合了曾在DEC、Compaq 和HP 确立声誉的工程团队。它的发行版有Windows和Linux两种,这2种都分别提供Non-Commercial版免费下载,但不提供技术支持。而性能则与商业版相同。其中Windows版需要Visual Studio的支持才可以使用。

以下是整个的安装过程。

1、登陆intel网站下载Non-commercial版。

登陆https://www.sodocs.net/doc/c418640975.html,/software/products/global/eval.htm ,选择Intel? Fortran Compiler for Linux* 下的第二项Non-Commercial Unsupported Version 点击进入。或者直接登陆https://www.sodocs.net/doc/c418640975.html,/software/products/compilers/flin/noncom.htm,简单的看一下说明,整个下载过程需要好几步,可以慢慢来进行,首先点击“Continue”按钮进入下一页;第二页有个调查表,填好之后进入下一页;第二页有个调查表,填好之后进入下一页;第三页是软件协议页面,可以粗略看一下,选择“Accept”进入下一页;第四页是注册页面,其中Email栏一定要填好,填写之后选择“Submit”进入下一页;这是最后一页,说明已经注册成功,intel会给你发一封电子邮件,并且其中包含一个协议附件。

剩下的工作是收取邮件,然后根据邮件中提供的地址下载软件即可。我这里下载的软件是l_fc_p_9.1.036.tar.gz,大约130M,另外把邮件中的附件另存在刚才下载的软件的同一目录下,我这里的文件名是l_for_******.lic,每个人的文件名可能不同,它是一个协议文件。

下来以root用户进行以下的安装工作,假设前面的2个文件存放在/usr/src/intel目录下,这也是我们的工作目录:

2、解压安装文件

tar xzvf l_fc_p_9.1.036.tar.gz

3、安装并指定协议,我们这里编译器的是安装在/opt/intel_fc_91目录下,协议则在该目录下的*s 文件夹中。最后还要指定*s的位置。

mkdir –p /opt/intel_fc_91/*s

cp /usr/src/intel/*.lic /opt/intel_fc_91/*s

export INTEL_LICENSE_FILE=opt/intel_fc_91/*s

4、装程序进行安装

cd /usr/src/intel/l_fc_p_9.1.036

./install.sh

正确的话,会看到下面的提示:

The following Intel(R) products and related products are

installed.

Intel(R) Fortran Compiler for 32-bit applications, Version 8.0

Linux Application Debugger for 32-bit applications, Version 7.3.1

Which of the following would you like to install?

1. Intel(R) Fortran Compiler for 32-bit applications, Version 8.0

2. Linux Application Debugger for 32-bit applications, Version 7.

3.1

x. Exit

先选择 1 安装Intel Fortran Compiler ,默认安装即可,默认目录就是/opt/intel_fc_91。

安装编译器完成之后,继续可以安装Linux Application Debugger for 32-bit applications, Version 7.3.1,选择2即可,它默认安装在/opt/intel_idb_73下。最后选择x 退出安装程序。

5、现在安装完成,可以删掉安装文件l

cd /usr/src

rm –rf intel

6、退出root用户的登陆,然后以一个个人用户登陆,登陆以后修改用户根目录下的.bash_profile文件,在最后一行加入这么一行:

. /opt/intel/fc/bin/ifortvars.sh

注:其中点号之后有空格。

然后重新登陆或者:

source .bash_profile

这样一切安装与配置就完成了,可以简单的测试一下。编辑一个简单的源文件first.f90。(在终端输入vi first.f90 编辑源代码esc键,shift : wq保存退出)

program first

print *, “Hello World!

print *, sin(123.4)

end program first

下来编译,编译命令与以前版本的Intel Fortran Compiler不同,以前采用的是ifc命令,从这个版本开始将使用ifort命令

ifort first.f90 –o first

运行./first

将显示

Hello World!

-0.7693915

这说明一切OK,可以正常使用该编译器了。

ifort的具体使用可以用ifort –help 获得详细帮助,一般用法类似于g77和gcc。在/opt/intel_fc_91/doc下有详细的使用文档,有pdf格式文档也有htm格式网页文档。

标题: ifc和mpich并行编译vasp(个人经验)

(inter fortran10.1.018,mpich-2,fftw3.1.12,GOTOBlas1/24,vasp4.6并行编译(parral complice))

我是在Redhat 7.3 和8.0的机器上,用ifc

6.01版本,mpich-1.2.5.2,编译vasp4.6版本。

BLAS:采用libgoto_p4_512-r0.94.so

LAPACK:采用vasp.4.lib中的lapack_double.o

大致步骤如下:

这里不再讲述ifc的安装,假设ifc已经安装好了。

1、下载mpich-1.2.5.2,并安装。

从https://www.sodocs.net/doc/c418640975.html,/mpi/mpich/downloads/mpich.tar.gz下载。

使用命令tar xzvf mpich.tar.gz 来解压它。

得到mpich-1.2.5.2目录。

进入该目录,以此使用下面的命令:

a) ./configure --prefix=/usr/local/mpich -rsh=ssh --with-cflags=-O \

-f90="ifc -FR -lowercase" --with-f77flags=-O --without-romio -fc=ifc

还是:-f90="ifort -FR -lowercase" --with-f77flags=-O --without-romio -fc=ifort

b) make

c)改用root帐号,进入改目录进行安装。

make install

则把mpich安装到/usr/local/mpich目录。

2、设置与mpich有关的环境变量

在主目录下把下面的几行加入.bash_profile文件中

export PATH=$PATH:/usr/local/mpich/bin

export MPI_USEP4SSPORT=yes

export MPI_P4SSPORT=22

export P4_RSHCOMMAND=ssh

然后采用下面的命令更新该文件

. .bash_profile或source .bash_profile

3、采用mpif90来编译vasp

这里假设把libgoto_p4_512-r0.94.so放在/usr/local/lib目录中。

a)进入vasp.4.lib目录中,

1.编辑gotoblas(GotoBLAS的安裝過程(Core2Duo)與如何加入V ASP進行編譯)

把/usr/local/gotoblas/include/ libgoto.a libgoto_core2p-r1.14.a libgoto_core2p-r1.14.so系統會自動依你的CPU型式來取名

將所得到的3個重要函式庫其中之一,丟進vasp.4.lib內

2.把makefile.linux_ifc_P4拷贝成makefile

修改makefile中FC=ifort

键入make命令,开始编译得到libdmy.a

b)进入vasp.4.6目录中,

1.并行编译fftw3(详见fftw安装指南)

并行编译./configure --prefix=/home/tlu --with-gcc --disable-fortran --enable-mpi

拷贝/usr/local/fftw/include/fftw3.f(fftw3.h fftw3.mpi)

把makefile.linux_ifc_P4拷贝成makefile

把第50行的FC=ifc前加上注释号,也就是#

第80行至82行的CPP有关内容加上注释号,改成下面的

#CPP = $(CPP_) -DHOST=\"LinuxIFC\" \

# -Dkind8 -DNGXhalf -DCACHE_SIZE=12000 -DPGF90 -Davoidalloc \

# -DRPROMU_DGEMV -DRACCMU_DGEMV

把第136行的BLAS

BLAS= /opt/libs/libgoto/libgoto_p4_512-r0.6.so

该成如下的内容:

BLAS= /usr/local/lib/libgoto_p4_512-r0.94.so

我的为:BLAS= /vasp/src/vasp.4.lib/libgoto_core2p-r1.14.so

把第166行和167行有关FFT3D的行前加上注释号,如下面的

#FFT3D = fft3dfurth.o fft3dlib.o

#FFT3D = fftw3d.o fft3dlib.o /opt/libs/fftw-3.0.1/lib/libfftw3.a

把202行和203行的FC等改为如下的内容:

FC=mpif90

FCL=$(FC)

把212行有关CPP的行前的注释号去掉,改成如下的内容:

CPP = $(CPP_) -DMPI -DHOST=\"LinuxIFC\" -DIFC \

-Dkind8 -DNGZhalf -DCACHE_SIZE=4000 -DPGF90 -Davoidalloc \

-DMPI_BLOCK=500 \

-DRPROMU_DGEMV -DRACCMU_DGEMV

把226和227行有关SCA的行,加上注释号,改成如下的

#SCA= $(SCA_)/libscalapack.a \

#$(BLACS)/LIB/blacsF77init_MPI-LINUX-0.a

$(BLACS)/LIB/blacs_MPI-LINUX-0.a

$(BLACS)/LIB/blacs F77init_MPI-LINUX-0.a

表示不用scalapack库。

把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

我的为

# 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=fftmpi.o(原软件为:fftmpiw.o因vasp此处报错所以修改)fftmpi_map.o fft3dlib.o /opt/libs/fftw-3.0.1/lib/libfftw3.a

把这些都修改后,保存。

再make。就好了。

GotoBLAS的安裝過程(Core2Duo)與如何加入V ASP進行編譯

下載位置:https://www.sodocs.net/doc/c418640975.html,/resources/software/software.php?

免費登記註冊,即可下載

現在最新版本是2007.03.21釋出的GotoBLAS-1.14.tar.gz,已完全支援Core 2 Duo係列

其中新版安裝方式非常人性化,與在Linux的source code使用configure方式略有不同

對Linux底下使用x86和x86_64 CPU者,提供一個快速安裝的script,可快速簡測你的SMP和編譯器種類,至於支援的編譯器種類依此順序為依據PathScale→PGI→Intel→gfortran→g95→g77

Step 1:解壓縮

tar –zxvf GotoBLAS-1.14.tar.gz

Step 2:安裝GotoBLAS,在32 bit和64 bit的安裝分別如下

For 32 bit安裝:./quickbuild.32bit

For 64 bit安裝:./quickbuild.64bit

安裝完後,即會把函式庫建在剛剛解壓縮後的資料夾內

以Core 2 Duo為例,會主要產生3個檔案

libgoto.a

libgoto_core2p-r1.14.a 系統會自動依你的CPU型式來取名

libgoto_core2p-r1.14.so

若為特殊機器,則需藉由改寫getarch.c和Makefile.rule,將符合本身機器的參數前面註釋拿掉,並重新編譯即可產生函式庫,主要安裝過程請詳閱Quickinstallat.txt

------------------------------------------------------

Note: (安装完后的提示如下)

Done. This library is compiled with following conditions.

Binary ... 64bit

Fortran ... INTEL

SMP ... Enabled. You have to link library with -lpthread option.

-------------------------------------------------------

裝設GotoBLAS無非就是想讓vasp的執行速度加快,如何修改Makefile?步驟如下

Step 1:將所得到的3個重要函式庫其中之一,丟進vasp.4.lib內,或另設資料夾將其置入

/vasp/src/vasp.4.lib/libgoto_core2p-r1.14.so

Step 2:修改Makefile的BLAS路徑,先將全部舊有的BLAS路徑以#符號注釋起來,而後加入新的BLAS路徑

BLAS= ../vasp.4.lib/libgoto_core2p-r1.14.so

可參考量化網頁相關文章:

/Experience/CommonSoftwares/V ASP/CompileInstallation/200512/27.html

Step 3:重新編譯Makefile即可

By 阿達仔國立成功大學

FFTW安装指南

FFTW(the Fastest Fourier Transform in the West)库是由MIT(Massachusetts Institute of Technology)的Matteo Frigo和Steven G. Johnson开发的,用于一维和多维实数或复数的离散傅里叶

变换。

1. 下载fftw-2_1_3_tar.gz (https://www.sodocs.net/doc/c418640975.html,, or https://www.sodocs.net/doc/c418640975.html,)

2. tar zxvf fftw-2_1_3_tar.gz

展开压缩文件

3. 在Linux中安装FFTW:

a. ./configure --enable-type-prefix --prefix=/usr/local/fftw --with-gcc --disable-fortran --enable-i386-hacks

并行编译./configure --prefix=/home/tlu --with-gcc --disable-fortran --enable-mpi

其中,--enable-type-prefix参数是为了同时使用single precision(单精度)和double precision(双精度),如果不使用它,最后只有以rfftw开头的文件被安装(real fftw);

--prefix= 参数是设定安装目录;--with-gcc使用gcc编译器;

--disable-fortran参数为了不包含Fortran调用的机制;--enable-i386-hacks为Pentium和

x86以后的CPU优化gcc的编译速度。

b. make

编译

c. make install

安装,这一次安装完后,在安装目录中存在以dfftw和drfftw开头文件,但没有sfftw开头的文件

d. make clean

还需要安装一次,先清除

e. ./configure --enable-float --enable-type-prefix --prefix=/usr/local/fftw --with-gcc --disable-fortran --enable-i386-hacks

其中,--enable-float为了生成单精度计算的头文件和库文件,即以sfftw开头的文件。

f. make

重新编译

g. make install

再一次安装,安装完后,目录中便会同时存在sfftw和dfftw开头的文件(用于复数函数/complex function的FFT变换)和srfftw与drfftw开头的文件(用于实数函数的FFT变换)

例如,如果需要用到双精度的实数FFT变换/FFTs,那么在编译的链接命令中需要按如下顺序加入

-ldrfftw -ldfftw参数

V ASP4.4.6编译过程

1、所需文件和程序

V ASP源代码:vasp.4.4.6.tar.gz和vasp.4.lib.tar.gz

数学库:ATLAS (https://www.sodocs.net/doc/c418640975.html,/)

Fortran编译器:ifc_9.1.036 fortran 可以从网站下载到免费的版本。

2、这里已经安装好了fortran编译器,所有文件都放在/home/xxx/V ASP目录下,机器

的操作系统是Linux: Redhat9.0。

a) 用如下命令解压vasp.4.6.tar.gz和vasp.4.lib.tar.gz:

tar xzvf vasp.4.6.tar.gz

tar xzvf vasp.4.lib.tar.gz

解压后分别得到目录vasp.4.6和vasp.4.lib,目录vasp.4.6中文件是vasp的主要源代码,

vasp.4.lib是编译vasp时需要的一些特定的数学库程序,在这两个目录中都有编译时所用的

makefile文件,针对机器和fortran编译器,选择相应的makefile。

b) 从https://www.sodocs.net/doc/c418640975.html,/下载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时所需要的数学库文件之一, 将lib复制到vasp目录下,并将其中的四个文件复制到vasp.4.lib目录下

我这里安装了fftw-3.1.2.tar 这个东西,(见FFTW安装指南)

完毕后,将/usr/local/fftw/include/下的fftw3.f复制到vasp/vasp4.6.

c) 进入vasp.4.lib目录,选择makefile.linux_ifc_P4,并把它拷贝成makefile,然后键入

make命令开始编译。整个命令如下:

cd vasp.4.lib

cp makefile.linux_ifc_P4 makefile

make

编译成功后,得到libdmy.a文件。

先到安装的ifc 9.1的安装目录中,找到lib目录,里面有个libsvml.a的库文件。

1、比如你的ifc 9.1装在/opt/intel/fc/9.1.036的目录下。

则在.bash_profile文件中加入下面的:

export LD_LIBRARY_PA TH=/opt/intel/fc/9.1.036/lib:$LD_LIBRARY_PA TH:/usr/local/lib:/usr/lib:/lib

2、source .bash_profile

3、在vasp的makefile中,对BLAS或LAPACK后面加上-lvml。

比如:

BLAS=....... -lsvml

其中的.....是你用libgoto库的路径

d)

退出vasp.4.lib目录,进入vasp.4.6目录,选择makefile.linux_ifc_P4,并把它拷贝成

makefile,编辑makefile文件,通过修改LIB变量的赋值而采用基于A TLAS的数学库文件,修

改其中:

ATLASHOME= ../lib

BLAS=-L$(ATLASHOME) -lf77blas -latlas -lsvml

LAPACK= ../vasp.4.lib/lapack_double.o

修改后保存makefile文件,键入make命令开始编译vasp。整个命令为:

cd ..

cd vasp.4.6

cp makefile.linux_ifc_P4 makefile

编辑修改makefile文件

make

编译成功后,就可以得到V ASP的可执行文件vasp。

e)

以root帐号登录机器,把成功编译V ASP后得到的vasp放到/bin目录下,则任何一个普通

用户都可以使用vasp。此时vasp可以当成于一个linux的命令来使用了,不再需要把vasp拷

贝到当前的计算目录下。

2:00-

安装frotran9双核不支持,

安装fortran10 有RPM ERROR 没有libstdc++.so.5 库

3:40-

安装成功见:d:\vasp\安装\并行\f.10.1\

4:30-vasp出错:

进入vasp.4.6目录中,把makefile.linux_ifc_P4拷贝成makefile

Make

2008-8-31

8:50-

又出现问题:make:***[fft3dlib.o]错误 1

解決方式:

將第343行

$(FC) -FR -lowercase -O1 -tpp7 -xW -prefetch- -unroll0 -e95 -vec_report3 -c $*$(SUFFIX)

去掉"-e95"變數改成

$(FC) -FR -lowercase -O1 -tpp7 -xW -prefetch- -unroll0 -vec_report3 -c $*$(SUFFIX)

因為"-e95"變數會把F95編譯F77程式碼產生的警告(warning)改成錯誤(error)型式輸出,造成編譯強迫停止無法忽略跳過!順道一提,若使用Intel Core 2 Duo的處理器,可將以下的-xW變數改成-xT得到優化

第102行:OFLAG=-O3 -xW -tpp7

第343行:$(FC) -FR -lowercase -O1 -tpp7 -xW -prefetch- -unroll0 -vec_report3 -c $*$(SUFFIX)

改成

第102行:OFLAG=-O3 -xT -tpp7

第343行:$(FC) -FR -lowercase -O1 -tpp7 -xT -prefetch- -unroll0 -vec_report3 -c $*$(SUFFIX)

2008-9-2

8:30-计算结果不正确,重新编译vasp

出错:undefined reference to `__svml_trunc2'

Re: Vasp 串行编译出错(22字)-node1,2008年05月04日11:25:31

处理方法:在vasp的makefile中,对BLAS或LAPACK后面加上-lvml

12:23-vasp成功,但还是一个cpu计算,搜索“单机双核运行并行程序”

解决方案1:用虚拟机建立多个虚拟计算机,建立多节点的机群;

https://www.sodocs.net/doc/c418640975.html,/logs/17396382.html

这里将在一台双核的PC上,利用虚拟机及MPICH2建立一个由3台PC节点构成的一个机群行计算环境。

16:50-运行MPI并行程序前输入命令:mpirun –np 16 ./vasp

关键:

串行运行正确,并行运行错误的原因,是傅里叶变换fftw没有进行编译的原因,

带MPI的fftw 3 的安装和使用

2007-10-08 16:26

https://www.sodocs.net/doc/c418640975.html,/motioo/blog/item/d44e6fd32c6ae7033af3cfbc.html

0. 下载程序,解压

下载程序 https://www.sodocs.net/doc/c418640975.html,

http: fftw-3.2alpha2.tar.gz (ftp: fftw-3.2alpha2.tar.gz) (3.1MB)

mkdir -p /home/tlu/proj/

cp fftw-3.2alpha2.tar.gz /home/tlu/proj/

cd /home/tlu/proj/

tar xzvf fftw-3.2alpha2.tar.gz

cd fftw-3.2alpha2

1. configure

后面参数--prefix=/home/tlu表示安装的位置是/home/tlu/include 和/home/tlu/lib/下

--enable-mpi 表示要使用并行的MPI

./configure --prefix=/home/tlu --enable-mpi

2. 编译

make

3. 安装

make install

4. 安装后的头文件和库文件

tlu:~$ ls -rclt include/ lib/

lib/:

总用量 1336

drwxr-xr-x 2 tlu tlu 4096 2007-10-08 16:17 pkgconfig

-rwxr-xr-x 1 tlu tlu 774 2007-10-08 16:17 libfftw3_https://www.sodocs.net/doc/c418640975.html,

-rwxr-xr-x 1 tlu tlu 762 2007-10-08 16:17 https://www.sodocs.net/doc/c418640975.html,

-rw-r--r-- 1 tlu tlu 1238492 2007-10-08 16:17 libfftw3.a

-rw-r--r-- 1 tlu tlu 103388 2007-10-08 16:17 libfftw3_mpi.a

include/:

总用量 32

-rw-r--r-- 1 tlu tlu 16236 2007-10-08 16:17 fftw3.h

-rw-r--r-- 1 tlu tlu 2447 2007-10-08 16:17 fftw3.f

-rw-r--r-- 1 tlu tlu 9342 2007-10-08 16:17 fftw3-mpi.h

5. 只要把 include 和 lib下的文件copy到另一台机器上同样的位置,另一台机器就安装好了。

最终并行编译vasp成功:

我的正确的vasp.4.6中makefile为:

.SUFFIXES: .inc .f .f90 .F

#-----------------------------------------------------------------------

# Makefile for Intel Fortran compiler for P4 systems

#

# The makefile was tested only under Linux on Intel platforms

# (Suse 5.3- Suse 9.0)

# the followin compiler versions have been tested

# 5.0, 6.0, 7.0 and 7.1 (some 8.0 versions seem to fail compiling the code)

# presently we recommend version 7.1 or 7.0, since these

# releases have been used to compile the present code versions

#

# it might be required to change some of library pathes, since

# LINUX installation vary a lot

# Hence check ***ALL**** options in this makefile very carefully

#----------------------------------------------------------------------- #

# BLAS must be installed on the machine

# there are several options:

# 1) very slow but works:

# retrieve the lapackage from https://www.sodocs.net/doc/c418640975.html,

# and compile the blas routines (BLAS/SRC directory)

# please use g77 or f77 for the compilation. When I tried to

# use pgf77 or pgf90 for BLAS, VASP hang up when calling

# ZHEEV (however this was with lapack 1.1 now I use lapack 2.0)

# 2) most desirable: get an optimized BLAS

#

# the two most reliable packages around are presently:

# 3a) Intels own optimised BLAS (PIII, P4, Itanium)

# https://www.sodocs.net/doc/c418640975.html,/software/products/mkl/

# this is really excellent when you use Intel CPU's

#

# 3b) or obtain the atlas based BLAS routines

# https://www.sodocs.net/doc/c418640975.html,/

# you certainly need atlas on the Athlon, since the mkl

# routines are not optimal on the Athlon.

# If you want to use atlas based BLAS, check the lines around LIB=

#

# 3c) mindblowing fast SSE2 (4 GFlops on P4, 2.53 GHz)

# Kazushige Goto's BLAS

# https://www.sodocs.net/doc/c418640975.html,/users/kgoto/signup_first.html

#

#-----------------------------------------------------------------------

# all CPP processed fortran files have the extension .f90

SUFFIX=.f90

#----------------------------------------------------------------------- # fortran compiler and linker

#----------------------------------------------------------------------- FC=ifort

# fortran linker

FCL=$(FC)

#----------------------------------------------------------------------- # whereis CPP ?? (I need CPP, can't use gcc with proper options)

# that's the location of gcc for SUSE 5.3

#

# CPP_ = /usr/lib/gcc-lib/i486-linux/2.7.2/cpp -P -C

#

# that's probably the right line for some Red Hat distribution:

#

# CPP_ = /usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3/cpp -P -C

#

# SUSE X.X, maybe some Red Hat distributions:

CPP_ = ./preprocess <$*.F | /usr/bin/cpp -P -C -traditional >$*$(SUFFIX)

#-----------------------------------------------------------------------

# possible options for CPP:

# NGXhalf charge density reduced in X direction

# wNGXhalf gamma point only reduced in X direction

# avoidalloc avoid ALLOCATE if possible

# IFC work around some IFC bugs

# CACHE_SIZE 1000 for PII,PIII, 5000 for Athlon, 8000-12000 P4

# RPROMU_DGEMV use DGEMV instead of DGEMM in RPRO (depends on used BLAS) # RACCMU_DGEMV use DGEMV instead of DGEMM in RACC (depends on used BLAS) #-----------------------------------------------------------------------

CPP = $(CPP_) -DHOST=\"LinuxIFC\" \

-Dkind8 -DNGXhalf -DCACHE_SIZE=12000 -DPGF90 -Davoidalloc \

# -DRPROMU_DGEMV -DRACCMU_DGEMV

#-----------------------------------------------------------------------

# general fortran flags (there must a trailing blank on this line)

#-----------------------------------------------------------------------

FFLAGS = -FR -lowercase -assume byterecl

#-----------------------------------------------------------------------

# optimization

# we have tested whether higher optimisation improves performance

# -axK SSE1 optimization, but also generate code executable on all mach.

# xK improves performance somewhat on XP, and a is required in order

# to run the code on older Athlons as well

# -xW SSE2 optimization

# -axW SSE2 optimization, but also generate code executable on all mach.

# -tpp6 P3 optimization

# -tpp7 P4 optimization

#-----------------------------------------------------------------------

OFLAG=-O1 -xW

OFLAG_HIGH = $(OFLAG)

OBJ_HIGH =

OBJ_NOOPT =

DEBUG = -FR -O0

INLINE = $(OFLAG)

#-----------------------------------------------------------------------

# the following lines specify the position of BLAS and LAPACK

# on P4, VASP works fastest with the libgoto library

# so that's what I recommend

#-----------------------------------------------------------------------

# Atlas based libraries

#ATLASHOME= $(HOME)/archives/BLAS_OPT/ATLAS/lib/Linux_P4SSE2/

#BLAS= -L$(ATLASHOME) -lf77blas -latlas

# use specific libraries (default library path might point to other libraries) #BLAS= $(ATLASHOME)/libf77blas.a $(ATLASHOME)/libatlas.a

# use the mkl Intel libraries for p4 (https://www.sodocs.net/doc/c418640975.html,)

# mkl.5.1

# set -DRPROMU_DGEMV -DRACCMU_DGEMV in the CPP lines

#BLAS=-L/opt/intel/mkl/lib/32 -lmkl_p4 -lpthread

# mkl.5.2 requires also to -lguide library

# set -DRPROMU_DGEMV -DRACCMU_DGEMV in the CPP lines

#BLAS=-L/opt/intel/mkl/lib/32 -lmkl_p4 -lguide -lpthread

# even faster Kazushige Goto's BLAS

# https://www.sodocs.net/doc/c418640975.html,/users/kgoto/signup_first.html

BLAS=/vasp/src/vasp.4.lib/libgoto_core2p-r1.14.so

# LAPACK, simplest use vasp.4.lib/lapack_double

LAPACK= ../vasp.4.lib/lapack_double.o

# use atlas optimized part of lapack

#LAPACK= ../vasp.4.lib/lapack_atlas.o -llapack -lcblas

# use the mkl Intel lapack

#LAPACK= -lmkl_lapack

#-----------------------------------------------------------------------

LIB = -L../vasp.4.lib -ldmy \

../vasp.4.lib/linpack_double.o $(LAPACK) \

$(BLAS)

# options for linking (for compiler version 6.X, 7.1) nothing is required LINK =

# compiler version 7.0 generates some vector statments which are located

# in the svml library, add the LIBPATH and the library (just in case)

LINK = -L/usr/local/fc/lib/ -lsvml

#-----------------------------------------------------------------------

# fft libraries:

# VASP.4.6 can use fftw.3.0.X (https://www.sodocs.net/doc/c418640975.html,)

# since this version is faster on P4 machines, we recommend to use it

#-----------------------------------------------------------------------

#FFT3D = fft3dfurth.o fft3dlib.o

FFT3D = fftw3d.o fft3dlib.o /opt/libs/fftw-3.0.1/lib/libfftw3.a

#=======================================================================

# MPI section, uncomment the following lines

#

# one comment for users of mpich or lam:

# You must *not* compile mpi with g77/f77, because f77/g77

# appends *two* underscores to symbols that contain already an

# underscore (i.e. MPI_SEND becomes mpi_send__). The pgf90/ifc

# compilers however append only one underscore.

# Precompiled mpi version will also not work !!!

#

# We found that mpich.1.2.1 and lam-6.5.X to lam-7.0.4 are stable

# mpich.1.2.1 was configured with

# ./configure -prefix=/usr/local/mpich_nodvdbg -fc="pgf77 -Mx,119,0x200000" \ # -f90="pgf90 " \

# --without-romio --without-mpe -opt=-O \

#

# lam was configured with the line

# ./configure -prefix /opt/libs/lam-7.0.4 --with-cflags=-O -with-fc=ifc \

# --with-f77flags=-O --without-romio

#

# please note that you might be able to use a lam or mpich version

# compiled with f77/g77, but then you need to add the following

# options: -Msecond_underscore (compilation) and -g77libs (linking)

#

# !!! Please do not send me any queries on how to install MPI, I will

# certainly not answer them !!!!

#=======================================================================

#-----------------------------------------------------------------------

# fortran linker for mpi: if you use LAM and compiled it with the options

# suggested above, you can use the following line

#-----------------------------------------------------------------------

FC=/usr/local/mpich2/bin/mpif90

FCL=$(FC)

#-----------------------------------------------------------------------

# additional options for CPP in parallel version (see also above):

# NGZhalf charge density reduced in Z direction

# wNGZhalf gamma point only reduced in Z direction

# scaLAPACK use scaLAPACK (usually slower on 100 Mbit Net)

#-----------------------------------------------------------------------

CPP = $(CPP_) -DMPI -DHOST=\"LinuxIFC\" -DIFC \

-Dkind8 -DNGZhalf -DCACHE_SIZE=4000 -DPGF90 -Davoidalloc \

-DMPI_BLOCK=500 \

# -DRPROMU_DGEMV -DRACCMU_DGEMV

#-----------------------------------------------------------------------

# location of SCALAPACK

# if you do not use SCALAPACK simply uncomment the line SCA

#-----------------------------------------------------------------------

BLACS=$(HOME)/archives/SCALAPACK/BLACS/

SCA_=$(HOME)/archives/SCALAPACK/SCALAPACK

#SCA= $(SCA_)/libscalapack.a \

# $(BLACS)/LIB/blacsF77init_MPI-LINUX-0.a $(BLACS)/LIB/blacs_MPI-LINUX-0.a $(BLACS)/LIB/blacsF77init_MPI-LINUX-0.a SCA=

#-----------------------------------------------------------------------

# libraries for mpi

#-----------------------------------------------------------------------

LIB = -L../vasp.4.lib -ldmy \

../vasp.4.lib/linpack_double.o $(LAPACK) \

$(SCA) $(BLAS)

# 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 = fftmpi.o fftmpi_map.o fft3dlib.o /usr/local/fftw/lib/libfftw3.a

#-----------------------------------------------------------------------

# general rules and compile lines

#-----------------------------------------------------------------------

BASIC= symmetry.o symlib.o lattlib.o random.o

SOURCE= base.o mpi.o smart_allocate.o xml.o \

constant.o jacobi.o main_mpi.o scala.o \

asa.o lattice.o poscar.o ini.o setex.o radial.o \

pseudo.o mgrid.o mkpoints.o wave.o wave_mpi.o $(BASIC) \

nonl.o nonlr.o dfast.o choleski2.o \

mix.o charge.o xcgrad.o xcspin.o potex1.o potex2.o \

metagga.o constrmag.o pot.o cl_shift.o force.o dos.o elf.o \

tet.o hamil.o steep.o \

chain.o dyna.o relativistic.o LDApU.o sphpro.o paw.o us.o \

ebs.o wavpre.o wavpre_noio.o broyden.o \

dynbr.o rmm-diis.o reader.o writer.o tutor.o xml_writer.o \

brent.o stufak.o fileio.o opergrid.o stepver.o \

dipol.o xclib.o chgloc.o subrot.o optreal.o davidson.o \

edtest.o electron.o shm.o pardens.o paircorrection.o \

optics.o constr_cell_relax.o stm.o finite_diff.o \

elpol.o setlocalpp.o

INC=

vasp: $(SOURCE) $(FFT3D) $(INC) main.o

rm -f vasp

$(FCL) -o vasp $(LINK) main.o $(SOURCE) $(FFT3D) $(LIB)

makeparam: $(SOURCE) $(FFT3D) makeparam.o main.F $(INC)

$(FCL) -o makeparam $(LINK) makeparam.o $(SOURCE) $(FFT3D) $(LIB)

zgemmtest: zgemmtest.o base.o random.o $(INC)

$(FCL) -o zgemmtest $(LINK) zgemmtest.o random.o base.o $(LIB)

dgemmtest: dgemmtest.o base.o random.o $(INC)

$(FCL) -o dgemmtest $(LINK) dgemmtest.o random.o base.o $(LIB)

ffttest: base.o smart_allocate.o mpi.o mgrid.o random.o ffttest.o $(FFT3D) $(INC) $(FCL) -o ffttest $(LINK) ffttest.o mpi.o mgrid.o random.o smart_allocate.o base.o $(FFT3D) $(LIB) kpoints: $(SOURCE) $(FFT3D) makekpoints.o main.F $(INC)

$(FCL) -o kpoints $(LINK) makekpoints.o $(SOURCE) $(FFT3D) $(LIB)

clean:

-rm -f *.g *.f *.o *.L *.mod ; touch *.F

main.o: main$(SUFFIX)

$(FC) $(FFLAGS)$(DEBUG) $(INCS) -c main$(SUFFIX)

xcgrad.o: xcgrad$(SUFFIX)

$(FC) $(FFLAGS) $(INLINE) $(INCS) -c xcgrad$(SUFFIX)

xcspin.o: xcspin$(SUFFIX)

$(FC) $(FFLAGS) $(INLINE) $(INCS) -c xcspin$(SUFFIX)

makeparam.o: makeparam$(SUFFIX)

$(FC) $(FFLAGS)$(DEBUG) $(INCS) -c makeparam$(SUFFIX)

makeparam$(SUFFIX): makeparam.F main.F

#

# MIND: I do not have a full dependency list for the include

# and MODULES: here are only the minimal basic dependencies

# if one strucuture is changed then touch_dep must be called

# with the corresponding name of the structure

#

base.o: base.inc base.F

mgrid.o: mgrid.inc mgrid.F

constant.o: constant.inc constant.F

lattice.o: lattice.inc lattice.F

setex.o: setexm.inc setex.F

pseudo.o: pseudo.inc pseudo.F

poscar.o: poscar.inc poscar.F

mkpoints.o: mkpoints.inc mkpoints.F

wave.o: wave.inc wave.F

nonl.o: nonl.inc nonl.F

nonlr.o: nonlr.inc nonlr.F

$(OBJ_HIGH):

$(CPP)

$(FC) $(FFLAGS) $(OFLAG_HIGH) $(INCS) -c $*$(SUFFIX)

$(OBJ_NOOPT):

$(CPP)

$(FC) $(FFLAGS) $(INCS) -c $*$(SUFFIX)

fft3dlib_f77.o: fft3dlib_f77.F

$(CPP)

$(F77) $(FFLAGS_F77) -c $*$(SUFFIX)

.F.o:

$(CPP)

$(FC) $(FFLAGS) $(OFLAG) $(INCS) -c $*$(SUFFIX)

.F$(SUFFIX):

$(CPP)

$(SUFFIX).o:

$(FC) $(FFLAGS) $(OFLAG) $(INCS) -c $*$(SUFFIX)

# special rules

#-----------------------------------------------------------------------

# these special rules are cummulative (that is once failed

# in one compiler version, stays in the list forever)

# -tpp5|6|7 P, PII-PIII, PIV

# -xW use SIMD (does not pay of on PII, since fft3d uses double prec)

# all other options do no affect the code performance since -O1 is used

#-----------------------------------------------------------------------

fft3dlib.o : fft3dlib.F

$(CPP)

$(FC) -FR -lowercase -O1 -xW -prefetch- -unroll0 -vec_report3 -c $*$(SUFFIX) fft3dfurth.o : fft3dfurth.F

$(CPP)

$(FC) -FR -lowercase -O1 -c $*$(SUFFIX)

radial.o : radial.F

$(CPP)

$(FC) -FR -lowercase -O1 -c $*$(SUFFIX)

symlib.o : symlib.F

$(CPP)

$(FC) -FR -lowercase -O1 -c $*$(SUFFIX)

symmetry.o : symmetry.F

$(CPP)

$(FC) -FR -lowercase -O1 -c $*$(SUFFIX)

dynbr.o : dynbr.F

$(CPP)

$(FC) -FR -lowercase -O1 -c $*$(SUFFIX)

broyden.o : broyden.F

$(CPP)

$(FC) -FR -lowercase -O2 -c $*$(SUFFIX)

us.o : us.F

$(CPP)

$(FC) -FR -lowercase -O1 -c $*$(SUFFIX)

wave.o : wave.F

$(CPP)

$(FC) -FR -lowercase -O0 -c $*$(SUFFIX)

LDApU.o : LDApU.F

$(CPP)

$(FC) -FR -lowercase -O2 -c $*$(SUFFIX)

vasp并行总结 安装

一、安装vasp前的软件要求: ①C++编译器用intel的(l_cprof_p_11.1.07) ②Fortran编译器用intel的ifort11(l_cprof_p_11.1.072) ③l_mpi_p_3.2.011 ④MKL 有非商业版本可以免费下载,本来要用l_mkl_p_10.2.5.035的,但发现ifort11里/home/bjwang/intel/Compiler/11.1/072/mkl就有,这里免装,在.bashrc里把ifort11下mkl的路径包括进去。 附完整安装后的.bashrc source /home/bjwang/intel/Compiler/11.1/072/bin/intel64/ifortvars_intel64.sh---ifort source /home/bjwang/intel/Compiler/11.1/073/bin/intel64/iccvars_intel64.sh ---c++ export LD_LIBRARY_PATH=/home/bjwang/intel/Compiler/11.1/072/ifort/mkl/lib/em64t/:$LD_LIBRA RY_PATH ------ifort中包含的mkl source /home/bjwang/intel/impi/3.2.0.011/bin64/mpivars.sh --------l_mpi 请确认mpi、C++、Fortran编译器都已正确安装,并设定好相关的PATH路径和 LD_LIBRARY_PATH路径,具体参见新浪博客的其它相关内容。 示意如下:

vaspkit.014安装使用说明

vaspkit-0.14 修正版发布 安装下载指南 1、下载网址: https://www.sodocs.net/doc/c418640975.html,/downloads221/sourcecode/unix_linux/detail1038949.html (免费的) 2、利用xshell将软件包拷到系统中,建立文件夹vaspkit。 3、在gunzip vaspkit-0.14.tar.gz等到vaspkit-0.14.tar,再tar –xvf vaspkit-0.14.tar得到文件 夹vaspkit-0.14。 4、进入vaspkit-0.14文件夹,cat INSTALL,发现 Just do one thing: make Then you will get vaspkit program.然后退出,在vaspkit-0.14目录下输入make命令,得到vaspkit 可执行文件。 5、再将vaspkit文件分别拷到需要进行计算的文件下进行计算即可,输入./vasokit出现如下的运行页面。按照需要输入不同的数字即可。 相信很多人都为vasp计算结果的处理感到很头痛,网上虽然有很多处理vasp计算结果的软件或者脚本,不过要么只针对于某一个问题,要么使用不太友好。为此,我弄了一个软件包,把结构可视化,提取态密度,能带,电荷,自旋密度等数据等功能整合到一个软件包里,方便大家的使用。由于时间有限,我只花了两天时间做得,所以vaspkit工具包比较粗糙,而且有很多bug, 目前只实现最基本的功能。由于vaspkit 目前处于测试阶段,要不断的更新,所以不上传到论坛了。感兴趣的朋友可以到下载。希望大家能提出宝贵的意见以及需要增加的功能。同时,我们希望对vaspkit感兴趣的朋友一起加入并不断地增加功能,让vaspkit能成为一个很强大的数据处理工具。在此,特别感谢论坛版主csfn, foxhunter, 语过添情以及蓝等朋友的支持。 当前版本:0.14 . 1,修正若干bug; 2,增加输出xsf格式结构文件; 3,增加输出DOS积分; 4,增加提取指定原子指定轨道的能带数据. 主要功能有: 1,把POSCAR 或者CONTCAR转化为cif或xsf格式。 2,提取电荷,自旋密度,使用vesta软件可视化。 3,提取总,投影态密度数据; 4,提取总,投影能带数据。 期待增加功能: 1,增加计算差分电荷数据; 2,xsf格式电荷密度。 文件输出格式: 1,结构可视化文件输出文件为poscar.cif 或contcar.cif, 用MS, VESTA或其它可视化软件软件打开;2,总态密度输出文件为tdos.dat, 偏态密度文件为pdos.dat, 使用origin或gnuplot绘制。 3,能带数据输出文件名为band-x.dat . 同样使用origin或gnuplot绘制。 4,电荷和自旋密度输出文件名分别为chgden.dat 和spnden.dat, 用VESTA打开。注意同时把OUTCAR

vasp 安装心得

VASP5.2安装心得 2014-05-07 来源:小木虫作者: yysskk 花了五天时间终于学会怎么装VASP了,在此写下心得体会,供后人参考。个人觉得最难的一步就是makefile文件,网上流传着各种各样的版本,每个人都说自己编译成功了,却又各不相同,也说不清为什么,给新手极大的困扰。在此会详细介绍makefile的文件结构。其余大部分内容都是参考前人的,就不一一注明出处了。 一、系统、编译程序及准备工作 我用的是centos6.5+icc2011+ifort2011+openmpi1.6.5 1.1编译器安装 系统安装不说了,网上教程多得是。Icc和ifort可以申请免费非商业版本,icc和ifort都各自带了一个MKL,使用的时候别搞混了。装2011的时候会缺组件,用yum都可以免费下载。装编译器的时候会要求关闭selinux,按照给出的步骤关闭即可。之后会说系统不兼容,但是可以继续装,默认安装路径是在/opt下面。装完之后会有提示,把安装目录 /bin/ifortvars.sh 写到环境变量中,注意32/64位系统的参数不一样。C语言编译器建议用icc,毕竟是intel出品,针对自家cpu肯定有大量优化,效率上高于gcc是肯定的。这是装完之后的提示: For csh/tcsh: $ source install-dir/bin/compilervars.csh intel64 For bash: $ source install-dir/bin/compilervars.sh intel64 To invoke the installed compilers:

VASP安装说明(简单易懂)

VASP安装说明(简单易懂) 1.安装linux 由于不熟悉linux的操作,所以很多问题无法解决,所以直接在windows下面安装了虚拟机然后安装linux操作系统。 (1) 虚拟机的安装 我所使用的是VMware,安装过程同普通的windows下软件的安装。下载地址:www.https://www.sodocs.net/doc/c418640975.html,或者www.https://www.sodocs.net/doc/c418640975.html, (2) VMware配置linux,过程如下: a)选择File菜单下的“New Virtual Machine”出现新虚拟机向导后单击“下一步” 选择“Typical”典型安装。 b)再单击“下一步”,在选择操作系统界面的“Guest Operation System”中选择 “Linux”,然后单击Version对应的下拉菜单选择具体的Linux版本,此处我选择的是“Red Hat Linux”。 c)单击“下一步”进入安装目录选择界面。该界面上面的文本框是系统的名字,保持默认值即 可,下面的文本框需要选择虚拟机操作系统的安装位置。 d)根据需要选择好后,单击“下一步”按钮,出现设置虚拟机内存大小的界面。Linux9.O对 内存的要求是:文本模式至少需要64MB;图形化模式至少需要

128MB,推荐使用192MB。我选 择的是192MB。 e)单击“下一步”按钮进入网络连接方式选择界面。VMware有四种网络设置方式,一般来说, Bridged方式使虚拟机就像网络内一台独立的计算机一样,最为方便好用(四种连网方式的区 别可参考VMware的有关资料)。此处我选择Brided方式。 f)单击“下一步”按钮进入虚拟磁盘的设置界面。这里有三种方式(Create a new virtual disk、Use an existing virtual disk、Use a physical disk)可供选 择、建议初学者选择“Create a new Virtual disk”,其含义是新建一个虚拟磁盘,该 虚拟磁盘只是主机下的一个独立文件。 g)在“下一步”中设置磁盘大小。在此、我们采用默认的4GB。 h)单击“下一步”进入文件存放路径选择界面。 在此界面可单击Browse按钮进行设置。此处我们使用默认值,单击“完成”按钮。 至此,完成一个虚拟机的配置。 (2) VMware下linux的安装 安装前需做好准备工作:购买一套Red Hat Linux 9.0的安装盘,共三张。或下载Red Hat Linux 9.0安装所需要的三个

VASP使用总结

VASP计算的理论及实践总结 一、赝势的选取 二、收敛测试 1、VASP测试截断能和K 点 2、MS测试 三、结构弛豫 四、VASP的使用流程(计算性质) 1、VASP的四个输入文件的设置 2、输出文件的查看及指令 3、计算单电能 (1) 测试截断能 (2) 测试K点 4、进行结构优化 5、计算弹性常数 6、一些常用指令

一、赝势的选取 VASP赝势库中分为:PP和PAW两种势,PP又分为SP(标准)和USPP(超软)。 交换关联函数分为:LDA(局域密度近似)和GGA(广义梯度近似)。GGA 又分为PW91和PBE。 在VASP中,其中pot ,pot-gga是属于超软势(使用较少)。Paw, paw-pbe ,和paw-gga是属于PAW。采用较多的是PAW-pbe 和PAW-gga。 此外vasp 中的赝势分为几种,包扩标准赝势(没有下标的)、还有硬(harder)赝势(_h)、软(softer)赝势(_s), 所谓的硬(难以赝化),就是指该元素原子的截断动能比较大,假想的势能与实际比较接近,计算得到的结果准确,但比较耗时,难以收敛。软(容易赝化),表示该元素原子的截断动能比较小,赝势模型比较粗糙,但相对简单,可以使计算很快收敛(比如VASP开发的超软赝势)。即硬的赝势精度高,但计算耗时。软的精度低,容易收敛,但节省计算时间。 另一种情况:如Gd_3,这是把f电子放入核内处理,对于Gd来说,f电子恰好半满。所以把f电子作为价电子处理的赝势还是蛮好的(类似还有Lu,全满)。(相对其他的4f元素来说,至于把f电子作为芯内处理,是以前对4f元素的通用做法。计算结果挺好) 常用的做法是:用两种赝势测试一下对自己所关心的问题的影响情况。在影响不大的情况下,选用不含4f电子的赝势(即后缀是3),一来减少计算量,二来避免DFT对4f电子的处理。 【1.赝势的选择: vasp的赝势文件放在目录~/vasp/potentials 下,可以看到该目录又包含五个子目录pot pot_GGA potpaw potpaw_GGA potpaw_PBE ,其中每一个子目录对应一种赝势形式。

CTI平台软件安装说明

CTI平台软件安装说明

目录 1 安装SFU (5) 1.1安装文件释放 (5) 1.2 安装过程 (6) 1.2.1 安装执行 (6) 1.2.2 填写用户信息 (6) 1.2.3 软件协议签订 (7) 1.2.4 安装方式选择 (7) 1.2.5 组件选择 (8) 1.2.6 安全设置 (8) 1.2.7 映射方式选择 (9) 1.2.8 映射文件选择 (9) 1.2.9 安装目录选择 (10) 1.2.10 安装过程 (10) 1.2.11 安装完成 (11) 1.3 配置过程 (11) 1.3.1 检查启动服务 (11) 1.3.2 Configuration配置 (11) 1.3.3 Maps配置 (12) 1.3.4 保存配置 (14) 1.4 安装完成 (15) 2配置SFU (15) 2.1设置SFU服务器共享目录 (15) 2.2设置windows访问权限 (16) 2.3创建座席录音子目录 (18) 2.3.1 检查子目录的windows权限 (19) 2.4设置rt-sc的nfs共享路径 (19) 2.5检查sfu服务器nfs共享是否生效 (20) 2.5.1 通过交换机来检查 (20) 2.5.2 通过vasp来检查 (21) 3 SFU服务器上安装JDK、TOMCAT (21) 3.1 安装JDK (21) 3.2 安装TOMCA T (21) 4安装ccmp (23) 4.1 SFU服务器上安装ccmp (23) 4.2 CCMP配置 (23) 4.3 配置数据库IP地址 (23) 4.4 配置录音路径 (23) 5 安装vasptools (24) 5.1 SFU服务器上安装vasptools (24) 5.2 V ASPTOOLS配置 (24) 5.3 系统管理配置 (25) 6安装PCMPlayer (25)

vasp编译

(1)准备 1. sudo apt-get install g++ sudo apt-get install build-essential sudo apt-get install gcc-multilib sudo apt-get install libstdc++5 sudo apt-get install openjdk-6-jre-headless sudo apt-get install ia32-libs sudo apt-get install lib32stdc++6 sudo apt-get install libc6-dev-i386 sudo apt-get install g++-multilib sudo apt-get install gfrotran 1 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 ~/.bashrc 4. 编译mpi 首先下载mpich2的安装文件 1 2 3 4 5 6 tar mpich2压缩包 cd 文件夹 ./configure --prefix=安装目录 f77=ifort f90=ifort fc=ifort make make install vi ~/.bashrc 笔者安装目录在/opt/mpich2,也可以放在其他文件夹中,注意执行make install 用户需要有写入权限 在文件最后写入如下代码 1 2 3 4 #mpi2 start PATH=/usr/local/mpich2-1.2.1p1/bin:$PATH export PATH #mpi2 end 再source 一下 1 source ~/.bashrc 5.编译fftw

VASP5.3.5并行版详细安装教程

vasp5.3.5安装教程 制作者:甄江苏(湘潭大学材料科学与工程学院)1.安装Intel编译器: 。。。。。。。。 然后添加环境变量,在/etc/profile文件中最下面插入: source /opt/intel/composer_xe_2015.2.164/bin/ifortvars.sh intel64 source /opt/intel/composer_xe_2015.2.164/mkl/bin/mklvars.sh intel64 然后在终端执行: [root]# source /etc/profile 这里提供的安装包会把其他的Intel的组件包括并行编译器也安装上,但是后面不用它的mpirun这个命令,而是用mpich的mpirun命令,所以进入/opt/intel/composer_xe_2015.2.164/文件夹,把文件夹mpirt改名,让它的路径失效,比如改成mpirt11111。 此外,安装完后后,最好把licence文件放到安装目录里,Intel编译器指定的license 存放目录之一是/opt/intel/composer_xe_2015.2.164/license/这个文件夹,这个文件夹要自己新建,然后把license文件拷贝进去即可,不然的话,对于共享此软件的其他节点来说,会找不到license。 然后进入/opt/intel/composer_xe_2015.2.164/mkl/interfaces/fftw3xf/文件夹,执行:[root]# make libintel64 将会生成一个名为libfftw3xf_intel.a的静态库文件,用于后面vasp的链接。 2.安装openmpi:(openmpi总是出问题,无法多节点并行,原因不明,所以建 议用后面的mpich) 进入openmpi解压目录,执行: [root]# ./configure --prefix=/opt/openmpi CC=icc CXX=icpc F77=ifort FC=ifort [root]# make all install 然后添加环境变量,在/etc/profile中添加: export PATH=$PATH:/opt/openmpi/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/openmpi/lib export MANPATH=$MANPATH:/opt/openmpi/share/man

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 intel64 For bash: $ source install-dir/bin/compilervars.sh intel64 测试是否成功:which icc /opt/intel/composer_xe_2011_sp1.9.293/bin/intel64/icc which ifort /opt/intel/composer_xe_2011_sp1.9.293/bin/intel64/ifort 2.安装openmpi:openmpi-1.4.5.tar.gz 解压,然后输入./configure CC=icc CXX=icpc F77=ifort FC=ifort 指定编译器之后依次执行make,make install 安装完成后,加入如下三个环境变量: export PATH=/usr/local/bin:$PATH export 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 8 Hello, world, I am 1 of 8 Hello, world, I am 2 of 8 Hello, world, I am 3 of 8 Hello, world, I am 4 of 8 Hello, world, I am 5 of 8 Hello, world, I am 6 of 8

VASP并行版本安装

VASP install (1) yum install gcc-c++ [aaa@localhost]yum install gcc-c++ ●gcc, g++ and gfortran is required by some packages. (2) intel C&fortran ipcc&ifort [aaa@localhost]tar zxvf parallel_studio_xe_2013_update2.tgz [aaa@localhost]cd parallel_studio_xe_2013_update2 [aaa@localhost]./install.sh Figure 1. (a) screen-shot during installing of intel fortran. Setting .bashrc enviroment Figure 1. (b) .bashrc environment setting for intel fortran. ●.bashrc setting: must add in .bashrc in either root or common users (3) Installing openmpi (3.1) [aaa@localhost] ./configure CC=icc CXX=g++ F77=ifort FC=ifort --prefix=/home/aaa/programs/openmpi (3.2) [aaa@localhost] make all (3.3) [aaa@localhost] make install Figure 2. bashrc environment setting for openmpi.

vasp.5.2编译过程

Vasp.5.2编译 ⒈正常安装ifort编辑器(如vasp.4.6安装过程) 修改环境变量 # .bashrc # User specific aliases and functions # Source global definitions if [ -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 PATH MANPATH="/home/usr1/intel/fce/9.0/man":${MANPATH} MANPATH="/home/usr1/intel/idbe/9.0/man":${MANPATH} export MANPATH LD_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_FILE export INTEL_LICENSE_FILE # fi ⒉安装mkl ⑴过程如vasp.4.6的过程 ⑵编译mkl的FFTW函数库:进入到opt/intel/mkl/xxxx/interfaces/fftw3xf(默认安装)的路径,在root权限下在终端键入make libem64t compiler=intel。 加入环境变量

ubuntu 10 install vasp

ubuntu 10.04 install vasp 序列号VMH9-R8WGNLGW libstdc++ libstdc++5 glibc libgcc 一安装基本编译环境 sudo apt-get install build-essential sudo aptitude install build-essential sudo apt-get install rpm sudo apt-get install gawk 安装libstdc++5 对于64位系统要求安装32位的库这个时候我们在第一步加入 sudo apt-get install ia32-libs 详细过程https://www.sodocs.net/doc/c418640975.html,/en-us/articles/using-intel-compilers-for-linux-with-ubuntu/ 解压32位的libstdc++5 然后cp libstdc++.so.5.0.7 /usr/lib32 cd /usr/lib32 ln -s libstdc++.so.5.0.7 libstdc++.so.5 apt-get install openjdk-6-jre-headless 二. Intel? Fortran Compiler for Linux, 这里我使用的是10.1.018 版; 1. 解压安装(为了清理方便,解压后都在/tmp目录下) user@~$ tar -xvf l_fc_p_10.1.018.tar.gz -C /tmp/ user@~$ cd /tmp/l_fc_p_10.1.018/ 2. 运行安装脚本 user@/tmp/l_fc_p_10.1.018$ sudo ./install.sh sudo vi /etc/profile 在Unmask后面加上source /opt/intel/Compiler/11.1/046/bin/ifortvars.sh ia32 source /opt/intel/Compiler/11.1/046/mkl/tools/environment/mklvars32.sh 输入: 输入“wq” (保存并退出的意思) enter 设置环境变量

vasp常见问题

最近在学vasp,这篇文章是百度文库找到的,看了不错,转载一把。另外附上vasp程序,linux中下载后无须安装即可使用。单机中可能会出现内存溢出问题,可以放机群上使用。 01、第一原理计算的一些心得 (1)第一性原理其实是包括基于密度泛函的从头算和基于Hartree-Fock自洽计算的从头算,前者以电子密度作为基本变量(霍亨伯格-科洪定理),通过求解Kohn-Sham方程,迭代自洽得到体系的基态电子密度,然后求体系的基态性质;后者则通过自洽求解Hartree-Fock方程,获得体系的波函数,求基态性质;评述:K-S方程的计算水平达到了H-F 水平,同时还考虑了电子间的交换关联作用。 (2)关于DFT中密度泛函的Functional,其实是交换关联泛函,包括LDA,GGA,杂化泛函等等一般LDA为局域密度近似,在空间某点用均匀电子气密度作为交换关联泛函的唯一变量,多数为参数化的CA-PZ方案;GGA为广义梯度近似,不仅将电子密度作为交换关联泛函的变量,也考虑了密度的梯度为变量,包括PBE,PW,RPBE等方案,BL YP泛函也属于GGA;此外还有一些杂化泛函,B3L YP等。(3)关于赝势在处理计算体系中原子的电子态时,有两种方法,一种是考虑所有电子,叫做全电子法,比如WIEN2K中的FLAPW方法(线性缀加平面波);此外还有一种方法是只考虑价电子,而把芯电子和原子核构成离子实放在一起考虑,即赝势法。 一般赝势法是选取一个截断半径,截断半径以内,波函数变化较平滑,和真实的不同,截断半径以外则和真实情况相同,而且赝势法得到的能量本征值和全电子法应该相同。赝势包括模守恒和超软,模守恒较硬,一般需要较大的截断能,超软势则可以用较小的截断能即可。另外,模守恒势的散射特性和全电子相同,因此一般红外,拉曼等光谱的计算需要用模守恒势。 赝势的测试标准应是赝势与全电子法计算结果的匹配度,而不是赝势与实验结果的匹配度,因为和实验结果的匹配可能是偶然的。(4)关于收敛测试(a)Ecut,也就是截断能,一般情况下,总能相对于不同Ecut做计算,当Ecut增大时总能变化不明显了即可;然而,在需要考虑体系应力时,还需对应力进行收敛测试,而且应力相对于Ecut的收敛要比总能更为苛刻,也就是某个截断能下总能已经收敛了,但应力未必收敛。(b)K-point,即K网格,一般金属需要较大的K网格,采用超晶胞时可以选用相对较小的K网格,但实际上还是要经过测试。(5)关于磁性一般何时考虑自旋呢?举例子,例如BaTiO3中,Ba、Ti和O分别为+2,+4和-2价,离子全部为各个轨道满壳层的结构,就不必考虑自旋了;对于BaMnO3中,由于Mn+3价时d轨道还有电子,但未满,因此需考虑Mn的自旋,至于Ba和O则不必考虑。其实设定自旋就是给定一个原子磁矩的初始值,只在刚开始计算时作为初始值使用,具体的可参照磁性物理。(6)关于几何优化包括很多种了,比如晶格常数和原子位置同时优化,只优化原子位置,只优化晶格常数,还有晶格常数和原子位置分开优化等等。在PRL一篇文章中见到过只优化原子位置,晶格常数用实验值的例子(PRL 100, 186402 (2008));也见到过晶格常数先优化,之后固定晶格常数优化原子位置的情况;更多的情况则是Full geometry optimization。 一般情况下,也有不优化几何结构直接计算电子结构的,但是对于缺陷形成能的计算则往往要优化。(7)关于软件软件大致分为基于平面波的软件,如CASTEP、PWSCF 和ABINIT等等,计算量大概和体系原子数目的三次方相关;还有基于原子轨道线性组合的软件(LCAO),比如openmx,siesta,dmol等,计算量和体系原子数目相关,一般可模拟较多原子数目的体系。 V ASP是使用赝势和平面波基组,进行从头量子力学分子动力学计算的软件包,它基于CASTEP1989版开发。V AMP/V ASP中的方法基于有限温度下的局域密度近似(用自由能作

vasp与lammps学习资料2020年

LAMMPS分子动力学模拟技术与应用课程内容 一、LAMMPS基础1分子动力学模拟入门理论——掌握lammps的in文件中各命令的意义1.1系综理论 1.2主要算法介绍 1.3积分步长的选取 1.4温度和压力控制 1.5周期性边界条件 1.6分子动力学模拟流程 二、LAMMPS入门学习2LAMMPS入门操作基础 2.1Linux命令入门基础——熟练掌握LAMMPS所用的Linux命令 2.2LAMMPS中一些安装包的介绍——为以后创建自己体系进行选择性安装 2.3LAMMPS的linux版串行和并行及GPU版编译安装——掌握LAMMPS的编译方法,针对自己体系编译可执行文件。 2.4LAMMPS的in文件结构格式、基本语法及常用命令讲解、data文件格式。2.5LAMMPS实例讲解。 实例操作:在linux系统编译安装自己的LAMMPS可执行程序。 三、LAMMPS进阶学习https://www.sodocs.net/doc/c418640975.html,MMPS各种参数计算 3.1颗粒模拟 3.2可视化快照 3.3弹性常数模拟 3.4计算热导率 3.5计算粘度 3.6计算均方位移 3.7计算径向分布函数 3.8计算扩散系数 3.9计算能量数据 3.10Lammps常见错误及解决途径 实例操作:学员结合自己的科研方向,选择运行契合自己研究方向的例子 四、Lammps的建模4LAMMPS建模——掌握基本操作流程 4.1掌握lattice命令建立晶体模型 4.2Packmol建模语法学习及实操 4.3Material Studio建模学习及实操 4.4VMD建模学习及实操 实例操作:把上述实操模型转换成lammps的data文件 五、从examples的简单例子,到完成自己的科研课题5通过examples中的例子,理解要模拟对象的物理意义 5.1运行examples\flow到建立水分子在石墨烯片层(碳纳米管)内的流动模拟5.2运行examples\shear到石墨烯力学性质模拟 5.3运行examples\friction到金属/合金的摩擦模拟 5.4特殊结构的模拟建模(C60系列模型) 实例操作:学员探索由简单例子到自己科研课题的模拟过程 六、环氧树脂在二氧化硅表面吸附建模 (CVFF力场)6环氧树脂在二氧化硅表面吸附吸能的影响模拟过程 6.1创建构型文件 6.2建立输入脚本 6.3运行能量最小化及体系的预松弛

vasp5.3安装方法

1. 采用Centos 6.4光盘安装系统。安装系统时,将有如下几个配置可供先择: (1) Desktop, (2) Minimal Desktop, (3)Minimal, (4) Basic Server, (5) Database Server, (6) Web Sever, (7) Virtual Host, (8) Software Development Workstation。任选一个选项即可。选择一个选项后,对系统进行配置。语言配置只选英语。除语言配置外,其余所有配置全部选上。选上所有其它配置之原因,是使系统文件更全面,以减少后续安装软件时由于软件依赖所带来的麻烦。 所有安装软件都在/home 目录下。安装目录可以任意,但在/home目录下容易管理。为使安装软件时拥有最大的系统操作权限,用root 身份安装。 2. 安装Python。版本为Python-2.5.2。在/home 下建Python文件夹,则安装命令如下:# tar –jxvf Python-2.5.2.tar.bz2 ’解压 # cd Python-2.5.2 ’进入解压后的文件目录 # ./configure ’配置文件,不要指定路径,直接覆盖 # make ’编译 # make install ’安装 检测是否安装成功:在任意目录下的命令行输入python,如果出现python的解析器,则表示已正确安装,如未出现,则未正确安装,需重新安装。 安装Python是为了系统能够识别后续将要安装的mpich 编译器。 3. GCC编译器采用Centos 6.4系统自带的即可,不用安装。对于Centos 6.4 系统,安装系统时,除语言配置外,如果选择了其余全部系统配置软件,并且第2步已正确安装Python 的话,安装完Python时,在命令行输入python以检验是否安装成功时,如果Python已安装成功,则可同时显示Python和与之本匹配的GCC版本信息。对于Centos 6.4系统内已预定安装的所有GCC版本中,与Python相匹配的版本为GCC 4.4.7 (Red Hat 4.4.7-3)。 如果在任意目录下的命令行输入rpm –qa | grep gcc,则可列出系统内所有已安装的GCC 的信息。预安装的GCC版本较多。 4. 安装MPI编译器。此步骤极为关键,即使已安装好MPI后,路径配置不正确的话,将会导致后续安装的V ASP不能正常运行。采用mpich-3.2.1版本。首先在/home下建一个mpich 的文件夹,将mpich-3.2.1.tar.gz放入mpich文件夹中。安装时,由于需要配置安装文件的路径,因此,安装后的软件不一事实上在mpich文件夹中,这由安装过程具体配置的路径确定。本安装的mpich文件配置路径为/home/mpichexe,则安装命令如下: # tar -zxvf mpich-3.2.1.tar.gz ’解压 # cd mpich-3.2.1 ’进入解压后的文件目录 # export F90=ifort FC=ifort ’引入环境变量 # ./configure --prefix=/ home/mpichexe / --enable-f90 --enable-f77 ’指定安装路径,并指定可使用mpif90及mpi77编译器红色的是解压目录 # make ’编译 # make install ’安装

vasp详细安装过程

王晶晶

第一步准备VASP相关安装包 ●intel fortran xe 2013 for linux(parallel_studio_xe_2013_update2.tgz及授权文件) ●openmpi-1.8.5.tar.gz ●fftw-3.3.4.tar.gz ●GotoBlas2-1.13.tar.gz ●Vasp5.3.5.tar.gz

第二步系统环境包安装 以ubuntu为例,下述软件自行安装 ●sudo apt-get install build-essential ●sudo apt-get install gcc-multilib ●sudo apt-get install libstdc++5 ●sudo apt-get install openjdk-6-jre-headless

第三步安装inter fortran compiler 2013 1.默认解压所有安装包到用户目录cd ~/software 2.解压:tar –zxvf parallel_studio_xe_2013_update2.tgz 3.cd parallel_studio_xe_2013_update2/ 4.执行./install.sh,出现安装信息,根据以下几步操作 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 1、vi ~/.bashrc 在最后插入 source /opt/intel/bin/ifortvars.sh intel64 source /opt/intel/composer_xe_2013.2.146/mkl/bin/mklvars.sh intel64 (如果是32位机,intel64替换为ia32) 2、source ~/.bashrc[验证:输入which ifort显示路径则为成功]

vasp.5.2安装 虫帖

Vasp.5.2安装 五一这两天闲着没事,摆弄了一下vasp5.2编译,经测试,并行编译获得成功,现把我的编译过程与大家分享。 1.安装linux系统,我现在用的系统是fedora 12。 2.配置并行环境 a.配置ssh环境 修改/etc/hosts文件 在127.0.0.1 local.......... 下面加入 127.0.0.1 node0!左边一串数字是机子的ip,右边是取的hostname,由于我是单机多核环境,所以ip地址都是一样的。 127.0.0.1 node2 可以通过ping hostname 或ssh hostname测试设置是否成功 b.实现无密码远程访问 打开一个终端 #ssh-keygen -d 回车 回车 在~/.ssh下生成id_dsa (存放私人密匙)和id_dsa_pub(存放公用密匙) #cp id_dsa_pub authorized_keys #ssh hostname(无需输入密码) 安装好后,可以庸ping命令和ssh查看node0,node1等等。

3.安装pgi10.0, 按照提示安装即可,只不过在安装过程中要选择mpich,选用ssh,这样就把mpich安装到默认目录/opt/pgi/linux86/2010 /mpi/mpich了,其中编译过程中要用到的数学库被安装到/opt/pgi/linux86/2010/mpi/mpich/lib中,比如并行编译中经常用到的libscalapack.a ,blacsF77init_MPI-LINUX-0.a,blacs_MPI-LINUX-0.a,blacsF77init_MPI-LINUX- 0.a等等。安装完毕后,配置环境变量。 如:gedit ~/.bashrc,在这个文件中加入如下内容: PGI=/opt/pgi; export PGI MANPATH=$MANPATH:$PGI/linux86/10.0/man export MANPATH LM_LICENSE_FILE=$PGI/license.dat export LM_LICENSE_FILE PATH=$PGI/linux86/10.0/bin:$PATH source /opt/pgi/linux86/10.0/mpi.sh export PATH 其中,source /opt/pgi/linux86/10.0/mpi.sh配置mpi环境。 4. 编译vasp 5.2 a.编译程序自带的数学库。进入数学库所在的目录~/vasp.5.lib。在终端中敲如命令 cp makefile.linux_pgi_opt makefile make 我的makefile文件如下:

p4vasp安装

p4vasp安装手记 2007-08-25 14:41:59| 分类:computer | 标签:|字号大中小订阅 p4vasp的安装可以说是一个宏大的工程:p4vasp本身需要 python 、python-gtk 、fltk python和fltk好安装(fltk中要注意的问题后面再说),关键是python-gtk需要GTK,而且版本要足够高。可以说GTK的安装是整个安装的关键,下面详细道来: GTK要求V2.8(不使用p4vasp的某些功能)或者2.10以上(使用p4vasp的全部功能),我安装的是 gtk++2.10.14(系统中带的是2.4.7)。本来打算安装在自己的目录下,但是安装后pygtk找不到gtk++2.10.14的库,总让修改pkgconfig,这个问题涉及到库的搜索路径问题,需要修改PKG_CONFIG_PATH,具体做法是在/etc/ld.so.conf中加入新安装的库的路径,然后运行一下/sbin/ldconfig使所有的库文件都被缓存到ld.so.cache中。这就要用到root权限。既然这样,何不安装到系统,也可以方便后人的安装。最后决定安装在/usr/local/(为了不覆盖原有使用中的库)。 不知道什么原因,按上面的方法做后没有找不到库。我们就想了另一个方法,即库的信息(如路径、版本信息)是保存在/usr/lib/pkgconfig/目录下的*.pc文件中的。把/usr/local/lib/pkgconfig/下的pc文件copy到/usr/lib/pkgconfig/下,问题就解决了。这个问题不仅gtk存在,和gtk有关的glib,cairo,atk,pango都存在。都可以按上面的方法做。 下面说明fltk中的一些问题: 用普通方式安装fltk ./configure, make, make install 在安装gtk和p4vasp时都会提示fltk共享库有问题,并说需要fPIC选项,用下面方式安装 ./configure --enable-shared CFLAGS=-fPIC, make, make install 则问题得以解决。 上面为在centOS4.4 x86_64 kernel2.6.9-55.ELsmp上的安装,中间涉及到十多个包,且涉及到root权限,确实比较麻烦,所以如果不是非常必要,1. 建议把安装交给管理员或,2.直接安装rpm包或,3.安装windows 版. 在个人目录下的最新、最佳解决方案:只需在.bash_profile中加入export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/$LOGNAME/usr/lib/pkgconfig/ source .bash_profile 一切OK

相关主题