24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2506  |  回复: 11
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

大地飞鹰h

新虫 (初入文坛)

[交流] 【求助】siesta3.0 安装,错误一箩筐已有6人参与

首先现安装串行,ifort 10, mkl 10,
装siesta,make通过,
make clean , make transiesta,出现
   m_forces.o m_stress.o m_eo.o m_spin.o m_gamma.o m_hsx.o m_fire.o get_target_stress.o fire_optim.o zm_fire_optim.o cell_fire_optim.o m_fire_para.o m_fire_mixing.o write_raw_efs.o m_iodm.o m_sparse.o kpoint_pdos.o  nag.o pxf.o m_ts_options.o m_ts_aux_rout.o m_ts_kpoints.o m_ts_io.o m_ts_scattering.o m_ts_contour.o m_ts_electrode.o m_ts_in_siesta.o libfdf.a \
                 \
               dc_lapack.a liblapack.a libblas.a  `FoX/FoX-config --libs --wcml`   dc_lapack.a liblapack.a libblas.a
m_ts_aux_rout.o: In function `__m_ts_aux_rout__csolveg':
/home/hu/software/siesta-3.0-rc1/Src/m_ts_aux_rout.F:344: undefined reference to `zgesv_'
collect2: ld 返回 1
make: *** [transiesta] 错误 1
[hu@node02 trans]$

个人以为与数据库有关,转装blas,lapack。
安装lapack-3.2时,出现
Time for 1,000,000 SAXPY ops  =   0.00     seconds
*** Error:  Time for operations was zero
Including SECOND, time        =   0.00     seconds
Average time for SECOND       =   0.00     milliseconds
Time for 1,000,000 DAXPY ops  =   0.00     seconds
*** Error:  Time for operations was zero
Including DSECND, time        =   0.00     seconds
Average time for DSECND       =   0.00     milliseconds
结果编译通不过。
  后来装并行时,又有报错。
[hu@node01 ~]$ mpdcheck -f mpd.hosts -ssh
hu@node03's password: ** ssh timed out to node03
** ssh failed to node03
** here is the output:
[hu@node01 ~]$

共有四台机器,只有第一台通过了lapack编译,之后make transiesta通过,但是运行例子也是报错,如下
siesta:  194************** 96726338.0234 96726338.0234143.3913********
siesta: WARNING: Qtot, Tr[D*S] =     156.000000      63.523758
siesta:  195************** 96503554.1989 96503554.1989143.4410********
整天对着电脑来来回回的装呀装,期待高手指点一二,使我脱离苦海!
回复此楼

» 收录本帖的淘帖专辑推荐

siesta问题

» 猜你喜欢

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

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

大地飞鹰h

新虫 (初入文坛)

开始也就是用ifort了,只是后来试过pgi了,也是siesta可以通过编译,make transiesta也是报错。第一台机器mpi并行算siesta也是没报错,transiesta就出错,例子本身没问题,是别人算过的。电脑重装系统一步步来也试过,还是同样的错。
3楼2010-06-10 21:43:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 12 个回答

ice_rain

铁杆木虫 (正式写手)

★ ★
大地飞鹰h(金币+3):谢谢参与
大地飞鹰h(金币+2): 2010-06-10 21:34:06
zzy870720z(金币+1):谢谢提示 2010-06-10 22:52:42
有一个原则就是数学库编译和siesta编译用相同的编译器。这样保证没有问题。还有就是注意并行mpi的设置。我没有看你的错误,这只是我的编译的一点经验吧。按部就班一步一步来保证没有问题。哈哈
2楼2010-06-10 21:22:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

valenhou001

至尊木虫 (职业作家)

★ ★ ★
大地飞鹰h(金币+3):谢谢参与
cenwanglai(金币+2):谢谢回复 2010-06-13 09:56:20
引用回帖:
Originally posted by 大地飞鹰h at 2010-06-10 20:59:19:
/home/hu/software/siesta-3.0-rc1/Src/m_ts_aux_rout.F:344: undefined reference to `zgesv_'

这类的错误,多半是由于数学库lapack和blas时的编译选项同SIESTA的编译选项有所不同造成的,特别是有关是否加下划线的选项,各个fortran编译器对此处理的默认方式略有不同。

如果采用默认的编译选项的话,那么数学库编译时的fortran编译器与SIESTA时的编译器都选一样的。
4楼2010-06-11 09:31:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

valenhou001

至尊木虫 (职业作家)

★ ★
大地飞鹰h(金币+5): 2010-06-11 10:03:10
zzy870720z(金币+2):谢谢专家指导,辛苦了 2010-06-11 11:30:17
下面贴出我用ifort,以及scalapck suite 0.96 编译SIESTA3.0的arch.make(重要的部分),以供参考。参考时,针对自己的scalapack所放的位置自行进行调整。

里面最重要的是,去编译scalapack suite 0.96。我的例子,我是将编译出来的.a文件都放到了/home1/zh/soft/scalapack-intel/lib目录中。

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

FPP=
FPP_OUTPUT=
FC=mpif90
RANLIB=ranlib

SYS=nag

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

#FFLAGS=-g  -fno-underscoring
FFLAGS=-g
FPPFLAGS= -DMPI -DFC_HAVE_FLUSH -DFC_HAVE_ABORT
LDFLAGS=

ARFLAGS_EXTRA=

FCFLAGS_fixed_f=
FCFLAGS_free_f90=
FPPFLAGS_fixed_F=
FPPFLAGS_free_F90=

MATH_LIB=/home1/zh/soft/scalapack-intel/lib
BLAS_LIBS=$(MATH_LIB)/librefblas.a
LAPACK_LIBS=dc_lapack.a $(MATH_LIB)/libreflapack.a
BLACS_LIBS= $(MATH_LIB)/blacsC.a $(MATH_LIB)/blacsF77.a   $(MATH_LIB)/blacs.a
SCALAPACK_LIBS=$(MATH_LIB)/libscalapack.a


下面是编译scalapack suite 0.96时,LAPCK, BLACS, SCALAPACK时的编译选项,等:
1、LAPACK的make.inc

SHELL = /bin/sh
PLAT =
FORTRAN  = ifort
OPTS     = -O3
DRVOPTS  = $(OPTS)
NOOPT    =  -mp
LOADER   = ifort
LOADOPTS =
TIMER    = EXT_ETIME
ARCH     = ar
ARCHFLAGS= cr
RANLIB   = /usr/bin/ranlib
BLASLIB      = /home1/zh/soft/scalapack-intel/lib/librefblas.a
LAPACKLIB    = libreflapack.a
TMGLIB       = tmglib.a
EIGSRCLIB    = eigsrc.a
LINSRCLIB    = linsrc.a
----------
make blaslib
make lapacklib
将编译得到librefblas.a, libreflapack.a放到了/home1/zh/soft/scalapack-intel/lib

2、BLACS的Bmake.inc
SHELL = /bin/sh
BTOPdir = /home1/zh/soft/scalapack-intel/BLACS
COMMLIB = MPI
PLAT =
BLACSdir    = $(BTOPdir)/LIB
BLACSDBGLVL = 0
BLACSFINIT  = $(BLACSdir)/blacsF77.a
BLACSCINIT  = $(BLACSdir)/blacsC.a
BLACSLIB    = $(BLACSdir)/blacs.a

MPIINCdir = /home1/zh/soft/openmpi-1.3-intel/include
MPILIB =

BTLIBS = $(BLACSFINIT) $(BLACSLIB) $(BLACSFINIT) $(MPILIB)
INSTdir = $(BTOPdir)/INSTALL/EXE
TESTdir = $(BTOPdir)/TESTING/EXE
FTESTexe = $(TESTdir)/xFbtest_$(COMMLIB)-$(PLAT)-$(BLACSDBGLVL)
CTESTexe = $(TESTdir)/xCbtest_$(COMMLIB)-$(PLAT)-$(BLACSDBGLVL)
SYSINC = -I$(MPIINCdir)
INTFACE = -DAdd_
SENDIS =
BUF =
TRANSCOMM =
WHATMPI =
SYSERRORS =
DEBUGLVL = -DBlacsDebugLvl=$(BLACSDBGLVL)
DEFS1 = -DSYSINC $(SYSINC) $(INTFACE) $(DEFBSTOP) $(DEFCOMBTOP) $(DEBUGLVL)
BLACSDEFS = $(DEFS1) $(SENDIS) $(BUFF) $(TRANSCOMM) $(WHATMPI) $(SYSERRORS)

F77            = /home1/zh/soft/openmpi-1.3-intel/bin/mpif77
F77NO_OPTFLAGS =  -mp
F77FLAGS       = $(F77NO_OPTFLAGS) -O3
F77LOADER      = $(F77)
F77LOADFLAGS   =
CC             = /home1/zh/soft/openmpi-1.3-intel/bin/mpicc
CCFLAGS        = -O3
CCLOADER       = $(F77)
CCLOADFLAGS    =  -nofor_main
ARCH      = ar
ARCHFLAGS = r
RANLIB    = /usr/bin/ranlib
-----
make mpi
将编译得到LIB目录里面的blacs.a  blacsC.a  blacsF77.a放到了/home1/zh/soft/scalapack-intel/lib

3、SCALAPACK的SLmake.inc
SHELL         = /bin/sh

home          = /home1/zh/soft/scalapack-intel/scalapack-1.8.0

PLAT          = LINUX

USEMPI        = -DUsingMpiBlacs

SMPLIB        =
BLACSFINIT    = /home1/zh/soft/scalapack-intel/lib/blacsF77.a
BLACSCINIT    = /home1/zh/soft/scalapack-intel/lib/blacsC.a
BLACSLIB      = /home1/zh/soft/scalapack-intel/lib/blacs.a
TESTINGdir    = $(home)/TESTING


CBLACSLIB     = $(BLACSCINIT) $(BLACSLIB) $(BLACSCINIT)
FBLACSLIB     = $(BLACSFINIT) $(BLACSLIB) $(BLACSFINIT)

PBLASdir      = $(home)/PBLAS
SRCdir        = $(home)/SRC
TESTdir       = $(home)/TESTING
PBLASTSTdir   = $(TESTINGdir)
TOOLSdir      = $(home)/TOOLS
REDISTdir     = $(home)/REDIST
REDISTTSTdir  = $(TESTINGdir)

F77           = /home1/zh/soft/openmpi-1.3-intel/bin/mpif77
CC            = /home1/zh/soft/openmpi-1.3-intel/bin/mpicc
NOOPT         =
F77FLAGS      =  $(NOOPT) -O3
CCFLAGS       = -O3
SRCFLAG       =
F77LOADER     = $(F77)
CCLOADER      = $(F77)
F77LOADFLAGS  =
CCLOADFLAGS   =  -nofor_main

CDEFS         = -DNO_IEEE $(USEMPI) -DAdd_

ARCH          = ar
ARCHFLAGS     = cr
RANLIB        = /usr/bin/ranlib

SCALAPACKLIB  = $(home)/libscalapack.a
BLASLIB       = /home1/zh/soft/scalapack-intel/lib/librefblas.a
LAPACKLIB     = /home1/zh/soft/scalapack-intel/lib/libreflapack.a

PBLIBS        = $(SCALAPACKLIB) $(FBLACSLIB) $(LAPACKLIB) $(BLASLIB) $(SMPLIB)
PRLIBS        = $(SCALAPACKLIB) $(CBLACSLIB) $(SMPLIB)
RLIBS         = $(SCALAPACKLIB) $(FBLACSLIB) $(CBLACSLIB) $(LAPACKLIB) $(BLASLIB) $(SMPLIB)
LIBS          = $(PBLIBS)

--------
make
将编译得到的libscalapack.a放到/home1/zh/soft/scalapack-intel/lib

再一次说明:根据自己的mpif90, mpicc, mpif77所放的位置,以及scalapack suite所放的位置,自行进行调整。
5楼2010-06-11 09:54:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见