CyRhmU.jpeg
查看: 3531  |  回复: 6
【奖励】 本帖被评价1次,作者zhangguangping增加金币 0.8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

[资源] 使用gfortan,openmpi以及BLAS, BLACS, Lapack, Scalapack编译SIESTA已有1人参与

1.编译openmpi (http://www.open-mpi.org/software/ompi/v1.6/)
(1)
./configure --prefix=/home/x_guazh/software/openmpi-1.6.5 CC=gcc CXX=g++ F77=gfortran FC=gfortran
(3)
make all install
(4)
打开 ~/.bashrc 添加环境变量:
export PATH=/home/x_guazh/software/openmpi-1.6.5/bin:$PATH
export LD_LIBRARY_PATH= /home/x_guazh/software/openmpi-1.6.5/lib: $LD_LIBRARY_PATH
(5)
source ~/.bashrc

2.编译Lapack (http://www.netlib.org/lapack)
(1)
cp make.inc.example  make.inc
然后编辑Makefile,找到lib选项,编辑为:
lib: lapacklib blaslib lapackelib tmglib variants
这样就把所有的东西都编译出来,默认是不编译blas的
(2)
make
这样在目录下就会出来:
liblapack.a, blaslib.a, lapackelib.a, tmglib.a
3.编译BLACS
(1)
下载MPIBLACS: http://www.netlib.org/blacs/mpiblacs.tgz
下载补丁:http://www.netlib.org/blacs/mpiblacs-patch03.tgz
(2)
tar -zxvf mpiblacs.tgz
tar -zxvf mpiblacs-patch03.tgz
(3)
cd BLACS
cp BMAKES/Bmake.MPI-LINUX  ./Bmake.inc
(4)
vi Bmake.inc (参见:http://www.open-mpi.org/faq/?category=mpi-apps#blacs)

# Section 1:
BTOPdir = /home/x_guazh/software/BLACS
COMMLIB = MPI
# Ensure to use MPI for the communication layer
   COMMLIB = MPI
# The MPIINCdir macro is used to link in mpif.h and
# must contain the location of Open MPI's mpif.h.  
# The MPILIBdir and MPILIB macros are irrelevant
# and should be left empty.
MPIdir = /home/x_guazh/software/openmpi-1.6.5-gnu
MPILIBdir =
MPIINCdir = $(MPIdir)/include
MPILIB =
# Section 2:
SYSINC =
INTFACE = -Df77IsF2C
SENDIS =
BUFF =
TRANSCOMM = -DUseMpi2
WHATMPI =
SYSERRORS =

# Section 3:
# You may need to specify the full path to
# mpif77 / mpicc if they aren't already in
# your path.
   F77            = mpif77
   F77LOADFLAGS   =
   CC             = mpicc
   CCLOADFLAGS    =
(4) make mpi
编译完成后,在LIB下面出现:
blacsCinit_MPI-LINUX-0.a
blacsF77init_MPI-LINUX-0.a
blacs_MPI-LINUX-0.a

4.编译scalapack
参见:http://www.open-mpi.org/faq/?category=mpi-apps#scalapack
(1)
下载:http://www.netlib.org/scalapack/scalapack-2.0.2.tgz
(2)
tar zxvf scalapack-2.0.2.tgz
(3)
cd scalapack-2.0.2
(4)
cp SLmake.inc.example SLmake.inc
(5)
vi SLmake.inc
2.0.2版本的文件设置比较简单

BLASLIB       = /home/x_guazh/software/lapack-3.5.0/librefblas.a
LAPACKLIB     = /home/x_guazh/software/lapack-3.5.0/liblapack.a

5.编译siesta
把上面得到的.a文件全部拷到一个文件中,方便使用,比如~/software/lib
librefblas.a
liblapack.a
blacsCinit_MPI-LINUX-0.a
blacs_MPI-LINUX-0.a  
blacsF77init_MPI-LINUX-0.a
libscalapack.a

part of arch.make:

FFLAGS= -ftree-vectorize -O3
FFLAGS_DEBUG= -g

PATH_LIB=/home/x_guazh/software/lib

BLAS_LIBS=$(PATH_LIB)/librefblas.a
LAPACK_LIBS=$(PATH_LIB)/liblapack.a
BLACS_LIBS=$(PATH_LIB)/blacsCinit_MPI-LINUX-0.a $(PATH_LIB)/blacs_MPI-LINUX-0.a $(PATH_LIB)/blacsF77init_MPI-LINUX-0.a
SCALAPACK_LIBS=$(PATH_LIB)/libscalapack.a

#COMP_LIBS=dc_lapack.a # it it needed only if there is lack of LAPACK/BLAS
MPI_INTERFACE= libmpi_f90.a
MPI_INCLUDE=.
FPPFLAGS_MPI=-DMPI

[ Last edited by zhangguangping on 2014-1-17 at 11:43 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wiseguy2008

新虫 (初入文坛)


如果机器是64位,那中间编译过程有哪些需要修改
7楼2014-02-25 20:12:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

乐石||

木虫 (正式写手)



小木虫: 金币+0.5, 给个红包,谢谢回帖
顶一个!这大半夜的
2楼2014-01-16 08:03:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiongxiong5712

新虫 (小有名气)


先收藏了,guangping兄好勤奋啊,佩服佩服。另外借宝地想请教guangping兄和各位大侠们,用siesta做结构优化的时候有没有用过MD.RelaxCellOnly T这个设置先只优化晶胞参数?我现在在优化一个六方晶系的晶体,其他人一般的做法是:先设置一系列晶格常数,计算总能量,找到总能量最低的晶格常数,然后固定晶胞,只优化原子坐标。我看见siesta手册上有MD.RelaxCellOnly 这个参数,可以只优化晶胞参数,所以就直接拿这个参数来优化晶格常数和夹角,不知道这样做可不可以?
下面是晶胞和坐标一起优化的设置:
使用gfortan,openmpi以及BLAS, BLACS, Lapack, Scalapack编译SIESTA
结果是:
outcell: Cell vector modules (Ang)   :    7.942596    7.942622    5.742192
outcell: Cell angles (23,13,12) (deg):     90.0157     90.0139    120.0227

下面是只优化晶胞参数的设置:
使用gfortan,openmpi以及BLAS, BLACS, Lapack, Scalapack编译SIESTA-1
结果是:
outcell: Cell vector modules (Ang)   :    7.931178    7.931178    5.750268
outcell: Cell angles (23,13,12) (deg):     90.0000     90.0000    120.0000
请问一下这两种方法哪种是正确的,哪种不正确呢?还请赐教,多谢了。
3楼2014-01-16 10:05:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
引用回帖:
3楼: Originally posted by xiongxiong5712 at 2014-01-16 03:05:45
先收藏了,guangping兄好勤奋啊,佩服佩服。另外借宝地想请教guangping兄和各位大侠们,用siesta做结构优化的时候有没有用过MD.RelaxCellOnly T这个设置先只优化晶胞参数?我现在在优化一个六方晶系的晶体,其他人一 ...

没有研究过这个选项。等待高人指点!
4楼2014-01-17 18:45:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复(可上传附件)
信息提示
请填处理意见