24小时热门版块排行榜    

CyRhmU.jpeg
查看: 4838  |  回复: 26
【奖励】 本帖被评价11次,作者zxdai增加金币 10

zxdai

金虫 (正式写手)


[资源] 【原创】siesta 3.0成功编译的arch.make

相信很多虫虫拿到SIESTA 3.0,我也一样。在maillist得到消息后,我下载下来并进行了编译。虽然3.0比以前的2.0系列要好编译一些,但还不是那么特别容易编译。比如:transport的模块的编译。 我现在把transport的模块的编译的arch.make文件贴出来供大家参考。因为siesta的编译相对简单。



#
# This file is part of the SIESTA package.
#
# Copyright (c) Fundacion General Universidad Autonoma de Madrid:
# E.Artacho, J.Gale, A.Garcia, J.Junquera, P.Ordejon, D.Sanchez-Portal
# and J.M.Soler, 1996-2006.
#
# Use of this software constitutes agreement with the full conditions
# given in the SIESTA license, as signed by all legitimate users.
#
.SUFFIXES:
.SUFFIXES: .f .F .o .a .f90 .F90

SIESTA_ARCH=x86_64-unknown-linux-gnu--Portland

FPP=
FPP_OUTPUT=
FC=mpif90
RANLIB=ranlib

SYS=cpu_time

SP_KIND=4
DP_KIND=8
KINDS=$(SP_KIND) $(DP_KIND)

FFLAGS=-tp penryn-64,k8-64e  -fast
FPPFLAGS= -DMPI -DFC_HAVE_FLUSH -DFC_HAVE_ABORT -DTRANSIESTA
LDFLAGS=

ARFLAGS_EXTRA=

FCFLAGS_fixed_f=
FCFLAGS_free_f90=
FPPFLAGS_fixed_F=
FPPFLAGS_free_F90=

#BLAS_LIBS=-lblas
#LAPACK_LIBS=-llapack
#BLACS_LIBS=
#SCALAPACK_LIBS=
BLAS_LIBS=$(MKL_LIB_DYN_SEQ)
LAPACK_LIBS=
BLACS_LIBS=$(MKL_LIB)/libmkl_blacs_openmpi_lp64.a
SCALAPACK_LIBS=-L$(MKL_LIB) -lmkl_scalapack_lp64

COMP_LIBS=

NETCDF_LIBS=
NETCDF_INTERFACE=

LIBS=$(SCALAPACK_LIBS) $(BLACS_LIBS) $(LAPACK_LIBS) $(BLAS_LIBS) $(NETCDF_LIBS)

#SIESTA needs an F90 interface to MPI
#This will give you SIESTA's own implementation
#If your compiler vendor offers an alternative, you may change
#to it here.
MPI_INTERFACE=libmpi_f90.a
MPI_INCLUDE=.

#Dependency rules are created by autoconf according to whether
#discrete preprocessing is necessary or not.
.F.o:
        $(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) $(FPPFLAGS_fixed_F)  $<
.F90.o:
        $(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) $(FPPFLAGS_free_F90) $<
.f.o:
        $(FC) -c $(FFLAGS) $(INCFLAGS) $(FCFLAGS_fixed_f)  $<
.f90.o:
        $(FC) -c $(FFLAGS) $(INCFLAGS) $(FCFLAGS_free_f90)  $<


编译的基本原则是:

用相同的编译器(包括编译器种类和版本)来编译mpi以及各种数据库scallapck等。

比如我用的的mpi和编译器是 openmpi和pgi 8.0.4

which  mpif90 是:

/share/openmpi/1.3.3/x86_64/pgi-8.0-4/bin/mpif90

[ Last edited by zxdai on 2009-10-7 at 00:07 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zdhlover

荣誉版主 (职业作家)


★★★★★ 五星级,优秀推荐

强烈支持
2楼2009-10-06 09:29:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zdhlover

荣誉版主 (职业作家)


引用回帖:
Originally posted by zxdai at 2009-10-5 13:09:
相信很多虫虫拿到SIESTA 3.0,我也一样。在maillist得到消息后,我下载下来并进行了编译。虽然3.0比以前的2.0系列要好编译一些,但还不是那么特别容易编译。比如:transport的模块的编译。 我现在把transport的模 ...

听说这个软件新版本可以加磁场算输运性质吗?能否开贴给个这个软件的功能的介绍?
3楼2009-10-06 09:30:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fuzp

铁杆木虫 (正式写手)


★★★ 三星级,支持鼓励

我用2.02的arch.make编译3.0的并行版本的时候却是不行。
另外用intel编译器编译的openmpi来编译2.02并行版也是不行,用mpich2很顺利。
不过我用的是libgoto的blas

你的这个arch.make里
MKL_LIB_DYN_SEQ,MKL_LIB是事先有定义吧。

[ Last edited by fuzp on 2009-10-6 at 13:00 ]
6楼2009-10-06 12:56:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zxdai

金虫 (正式写手)


引用回帖:
Originally posted by fuzp at 2009-10-6 12:56:
我用2.02的arch.make编译3.0的并行版本的时候却是不行。
另外用intel编译器编译的openmpi来编译2.02并行版也是不行,用mpich2很顺利。
不过我用的是libgoto的blas

你的这个arch.make里
MKL_LIB_DYN_SEQ,MK ...

是的。

我手里没有 intel的编译器,要不我给你试试。

不行你就换pgi的编译器吧。这个可能没问题的。
7楼2009-10-07 00:04:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zxdai

金虫 (正式写手)


引用回帖:
Originally posted by zdhlover at 2009-10-6 09:30:

听说这个软件新版本可以加磁场算输运性质吗?能否开贴给个这个软件的功能的介绍?

磁场下的输运?
我略看看了一下这个手册,好像不行。不过,如果你想做的话可以改源代码,自己写程序,呵呵。可能有人拿他做了一些磁场下的输运的工作,应该是人家改动代码以后做的。
8楼2009-10-07 00:06:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yunren019898


★★★★★ 五星级,优秀推荐

楼主可不可以把SIESTA30程序贴出来,非常感谢!!!
10楼2009-10-07 19:22:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zxdai

金虫 (正式写手)


引用回帖:
Originally posted by yunren019898 at 2009-10-7 19:22:
楼主可不可以把SIESTA30程序贴出来,非常感谢!!!

这个你可以看看redskywe的帖子:
http://muchong.com/bbs/viewthread.php?tid=1580058&fpage=1
11楼2009-10-07 20:53:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fuzp

铁杆木虫 (正式写手)


引用回帖:
Originally posted by zxdai at 2009-10-7 00:04:


是的。

我手里没有 intel的编译器,要不我给你试试。

不行你就换pgi的编译器吧。这个可能没问题的。

:-(,我是手里没有pgi编译器。
感觉openmpi容易编译不成功,别的软件也这样。
13楼2009-10-08 01:03:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

redskywei

木虫 (著名写手)


我今天尝试编译串行的3.0b版,siesta的编译比较顺利,到transiesta的编译时就出错了,提示说:
/usr/local/siesta-3.0-b/Src/m_ts_aux_rout.F:344: undefined reference to `zgesv_'
collect2: ld returned 1 exit status
make: *** [transiesta] Error 1

在maillist中看到过同样的错误,但回答者说是netcdf没安装,我安装了netcdf4.0后,错误又变成:
make[1]: 正在进入目录 `/home/redsky/tools/siesta-3.0-b/Obj'
f95 -c -g -O2   `FoX/FoX-config --fcflags` -DFC_HAVE_FLUSH -DFC_HAVE_ABORT  compinfo.F90
make[1]:正在离开目录 `/home/redsky/tools/siesta-3.0-b/Obj'
#@rm -f compinfo.F90

make: *** 没有规则可以创建“transiesta”需要的目标“-L/home/redsky/tools/netcdf-4.0.1/lib”。 停止。
redsky@redsky-desktop:~/tools/siesta-3.0-b/Obj$


可是netcdf安装后确实没有这个lib目录阿,只有 libncdap3/ libsrc/    libsrc4/  等目录。
我的arch.make文件具体为:
#
# This file is part of the SIESTA package.
#
# Copyright (c) Fundacion General Universidad Autonoma de Madrid:
# E.Artacho, J.Gale, A.Garcia, J.Junquera, P.Ordejon, D.Sanchez-Portal
# and J.M.Soler, 1996- .
#
# Use of this software constitutes agreement with the full conditions
# given in the SIESTA license, as signed by all legitimate users.
#
.SUFFIXES:
.SUFFIXES: .f .F .o .a .f90 .F90

SIESTA_ARCH=x86_64-unknown-linux-gnu--unknown

FPP=
FPP_OUTPUT=
FC=f95
RANLIB=ranlib

SYS=nag

SP_KIND=4
DP_KIND=8
KINDS=$(SP_KIND) $(DP_KIND)

FFLAGS=-g -O2
FPPFLAGS= -DFC_HAVE_FLUSH -DFC_HAVE_ABORT
LDFLAGS=

ARFLAGS_EXTRA=

FCFLAGS_fixed_f=
FCFLAGS_free_f90=
FPPFLAGS_fixed_F=
FPPFLAGS_free_F90=

BLAS_LIBS=libblas.a
LAPACK_LIBS=dc_lapack.a liblapack.a
BLACS_LIBS=
SCALAPACK_LIBS=

COMP_LIBS=dc_lapack.a liblapack.a libblas.a

NETCDF_ROOT=/home/redsky/tools/netcdf-4.0.1
NETCDF_LIBS=-I$(NETCDF_ROOT)/include
NETCDF_INTERFACE=-L$(NETCDF_ROOT)/lib -lnetcdf

#NETCDF_LIBS=-lnetcdf
#NETCDF_INTERFACE=libnetcdf_f90.a

LIBS=$(SCALAPACK_LIBS) $(BLACS_LIBS) $(LAPACK_LIBS) $(BLAS_LIBS) $(NETCDF_LIBS)

#SIESTA needs an F90 interface to MPI
#This will give you SIESTA's own implementation
#If your compiler vendor offers an alternative, you may change
#to it here.
MPI_INTERFACE=
MPI_INCLUDE=

#Dependency rules are created by autoconf according to whether
#discrete preprocessing is necessary or not.
.F.o:
        $(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) $(FPPFLAGS_fixed_F)  $<
.F90.o:
        $(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) $(FPPFLAGS_free_F90) $<
.f.o:
        $(FC) -c $(FFLAGS) $(INCFLAGS) $(FCFLAGS_fixed_f)  $<
.f90.o:
        $(FC) -c $(FFLAGS) $(INCFLAGS) $(FCFLAGS_free_f90)  $<

那位高手帮我看看问题到底在哪里?
14楼2009-10-21 13:38:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wwxq

新虫 (小有名气)


该代码很难吧?是什么语言呢?谢谢
15楼2009-10-21 15:13:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

freshgirl

木虫 (正式写手)


★★★★★ 五星级,优秀推荐

支持鼓励原创!
17楼2009-10-22 10:00:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yxcai

铁杆木虫 (著名写手)


引用回帖:
Originally posted by zxdai at 2009-10-6 09:09:
相信很多虫虫拿到SIESTA 3.0,我也一样。在maillist得到消息后,我下载下来并进行了编译。虽然3.0比以前的2.0系列要好编译一些,但还不是那么特别容易编译。比如:transport的模块的编译。 我现在把transport的模 ...

能不能提供个网址下载编译器的,要求好用,适合siesta3.0
18楼2009-11-02 17:02:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zxdai

金虫 (正式写手)


★ ★
freshgirl(金币+2,VIP+0):谢谢分享! 11-4 22:17
引用回帖:
Originally posted by yxcai at 2009-11-2 17:02:



能不能提供个网址下载编译器的,要求好用,适合siesta3.0

你可以使用g95编译器,如果你找不到pgi的编译器的话。
http://www.g95.org/
我曾经用这个编译器在window的cygwin环境(也就是XP下的LINUX环境)下编译成功
siesta 2.0和siesta 3.0
这个前者是f90写的,后者是f95写的,但是
使用没用一点问题。
尽管编译的过程中有一些警告什么之类!

所以,相信你这个g95编译应该是没问题。


或者用gfortran编译器,你可以从这里下载:
http://gcc.gnu.org/wiki/GFortran
19楼2009-11-02 20:42:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zxdai

金虫 (正式写手)


在XP下编译transiesta的arch.make文件

★ ★ ★ ★ ★
freshgirl(金币+5,VIP+0):谢谢分享! 11-4 22:17
这是我在XP下编译transiesta的文件,供各位参考:


#
# This file is part of the SIESTA package.
#
# Copyright (c) Fundacion General Universidad Autonoma de Madrid:
# E.Artacho, J.Gale, A.Garcia, J.Junquera, P.Ordejon, D.Sanchez-Portal
# and J.M.Soler, 1996- .
#
# Use of this software constitutes agreement with the full conditions
# given in the SIESTA license, as signed by all legitimate users.
#
SIESTA_ARCH=g95-nolibs
#
# Optimization options have to be investigated further
#
FC=g95
FC_ASIS=$(FC)
RANLIB=echo
#
FFLAGS= -O -Wall
FFLAGS_DEBUG= -g -O0 -Wall
LDFLAGS=
COMP_LIBS=linalg.a
#
NETCDF_LIBS=
NETCDF_INTERFACE=
FPPFLAGS_CDF=
#
MPI_INTERFACE=
MPI_INCLUDE=
FPPFLAGS_MPI=
#
LIBS=
SYS=bsd
FPPFLAGS= $(FPPFLAGS_CDF) $(FPPFLAGS_MPI) -DTRANSIESTA
#
.F.o:
        $(FC) -c $(FFLAGS) $(INCFLAGS)  $(FPPFLAGS) $<
.f.o:
        $(FC) -c $(FFLAGS) $(INCFLAGS)   $<
.F90.o:
        $(FC) -c $(FFLAGS) $(INCFLAGS)  $(FPPFLAGS) $<
.f90.o:
        $(FC) -c $(FFLAGS) $(INCFLAGS)   $<
#

用的编译器器是g95,

$ which  g95
/usr/local/bin/g95

不过是串行的,没有时间去玩并行的,因为毕竟不在XP下蒜东西,只是偶尔编译玩玩而已。
20楼2009-11-02 20:46:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kgdu

金虫 (正式写手)


siesta安装

我是siesta新手,仿照写了个Makefile,copy到Src中make但出现以下错误:
make:***no target  stop
各位能不能帮我解决一下,先谢谢了。
21楼2009-11-12 23:12:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
引用回帖:
Originally posted by fuzp at 2009-10-06 12:56:08:
我用2.02的arch.make编译3.0的并行版本的时候却是不行。
另外用intel编译器编译的openmpi来编译2.02并行版也是不行,用mpich2很顺利。
不过我用的是libgoto的blas

你的这个arch.make里
MKL_LIB_DYN_SEQ,MK ...

我用的ifort-10.0,openmpi-1.2.6,mkl-10.2可以编译siesta-2.0.2和siesta-3.0-b啊!
22楼2010-04-03 23:42:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
引用回帖:
Originally posted by zxdai at 2009-11-02 13:46:41:
这是我在XP下编译transiesta的文件,供各位参考:


#
# This file is part of the SIESTA package.
#
# Copyright (c) Fundacion General Universidad Autonoma de Madrid:
# E.Artacho, J.Gale, A.Garc ...

请问你是怎么在xp下编译的啊?是先在xp下安装Linux的模拟软件Cygwin?我要是在xp下安装了Cygwin,是不是所有的Linux下的软件都可在xp上运行了啊?
谢谢回答!
23楼2010-05-09 14:35:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zxdai

金虫 (正式写手)


引用回帖:
Originally posted by zhangguangping at 2010-05-09 14:35:26:

请问你是怎么在xp下编译的啊?是先在xp下安装Linux的模拟软件Cygwin?我要是在xp下安装了Cygwin,是不是所有的Linux下的软件都可在xp上运行了啊?
谢谢回答!

理论上是可以的,但是,实际意义不是很大。
25楼2010-05-11 20:47:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

忽悠小皮

铜虫 (小有名气)


引用回帖:
Originally posted by zhangguangping at 2010-05-09 14:35:26:

请问你是怎么在xp下编译的啊?是先在xp下安装Linux的模拟软件Cygwin?我要是在xp下安装了Cygwin,是不是所有的Linux下的软件都可在xp上运行了啊?
谢谢回答!

可以运行,不过都要在cygwin下编译一边才行。
就是运行效率比较低。
26楼2010-05-19 21:22:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dalongmao

木虫 (正式写手)


★★★★★ 五星级,优秀推荐

谢谢
27楼2010-11-22 16:39:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
简单回复
zxzj054楼
2009-10-06 10:08   回复  
 
lfhuang5楼
2009-10-06 12:45   回复  
 支持
2009-10-07 12:46   回复  
 
NKDMS12楼
2009-10-07 23:49   回复  
 
aylayl0816楼
2009-10-21 20:33   回复  
 
sg1840892624楼
2010-05-10 13:32   回复  
 
相关版块跳转 我要订阅楼主 zxdai 的主题更新
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复(可上传附件)
信息提示
请填处理意见