| 查看: 3157 | 回复: 17 | |||
| 本帖产生 1 个 1ST强帖 ,点击这里进行查看 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
[交流]
【求助】安装siesta2.0.2时如何编译arch.make??
|
|||
|
汗,又遇到问题了,特请善良的好心的虫虫指点~~~~ 前面编译MKL 和ifort都成功了 后来又安装了openmpi,可是,如果我不做并行计算,这个MPI不安装也行吧,安装了也没坏处吧? 俺是菜鸟啊,大侠们多多体谅啊~~ 安装SIESTA2.0.2时,我的命令是这样的; 先 tar -zxvf siesta-2.0.2.tgz 解压缩 然后cd Src 然后cp Sys/intel-mkl.make arch.make 就是把Sys的intel-mkl.make文件拷贝到Src下,然后改名为arch.make吧 之后,是不是要修改arch.make呢 命令是vi arch.make么?这个命令不太符合XP下的编辑习惯,有没有适合XP编辑下的命令呢?? 然后,编译arch.make文件后,是不是输入$make就可以了? 下面是我的原始arch.make文件,没有做任何修改的 我应该改哪些参数呢? 我看了别人编译的一些例子,用红字标记的应该是要改的吧,怎么改呢?还有,貌似我的arch.make好像不完善啊? 求高人指点,小女子感激不尽! ![]() 我的系统是ubantu9.04 MKL是10.3.2.137 ifort是2011.2.137 openmpi是1.4.2 ------------------------------------------ # # 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. # SIESTA_ARCH=intel-mkl# # Intel fortran compiler for linux with mkl optimized blas and lapack # # Be sure to experiment with different optimization options. # You have quite a number of combinations to try... # FC=ifc # FFLAGS= -w -mp -tpp5 -O3 FFLAGS_DEBUG= -g LDFLAGS=-Vaxlib COMP_LIBS= RANLIB=echo # NETCDF_LIBS= NETCDF_INTERFACE= DEFS_CDF= # MPI_INTERFACE= MPI_INCLUDE= DEFS_MPI= # GUIDE=/opt/intel/mkl/lib/32/libguide.a LAPACK=/opt/intel/mkl/lib/32/libmkl_lapack.a BLAS=/opt/intel/mkl/lib/32/libmkl_p3.a #G2C=/usr/lib/gcc-lib/i386-redhat-linux/2.96/libg2c.a LIBS=$(LAPACK) $(BLAS) $(G2C) $(GUIDE) -lpthread SYS=bsdDEFS= $(DEFS_CDF) $(DEFS_MPI) # .F.o: $(FC) -c $(FFLAGS) $(INCFLAGS) $(DEFS) $< .f.o: $(FC) -c $(FFLAGS) $(INCFLAGS) $< .F90.o: $(FC) -c $(FFLAGS) $(INCFLAGS) $(DEFS) $< .f90.o: $(FC) -c $(FFLAGS) $(INCFLAGS) $< # [ Last edited by mayim2008 on 2011-4-6 at 22:01 ] |
» 猜你喜欢
求个博导看看
已经有18人回复
自荐读博
已经有6人回复
带资进组求博导收留
已经有13人回复
投稿Elsevier的杂志(返修),总是在选择OA和subscription界面被踢皮球
已经有5人回复
青基代表作,AAAI之类的A会的special track在国内认可度高吗?还是归为workshop之流?
已经有3人回复
上海工程技术大学【激光智能制造】课题组招收硕士
已经有6人回复
上海工程技术大学张培磊教授团队招收博士生
已经有4人回复
求助院士们,这个如何合成呀
已经有4人回复
临港实验室与上科大联培博士招生1名
已经有9人回复
写了一篇“相变储能技术在冷库中应用”的论文,论文内容以实验为主,投什么期刊合适?
已经有6人回复
» 本主题相关价值贴推荐,对您同样有帮助:
ubuntu下载下来提示安装后什么都没安装就可以启动,感觉奇怪啊。。。
已经有21人回复
I make some change about myself
已经有12人回复
用CTEX编辑论文,可是编译老过不去
已经有3人回复
求助vasp编译好后无法运行问题??
已经有24人回复
Siesta3.1编译出错:ld: cannot find -libmkl_scalapack_lp64
已经有3人回复
求助-如何得到羟基自由基(.OH)、单线态氧分子(1O2)、超氧负离子(O2-)
已经有6人回复
如何采用循环伏安法算锂离子的扩散速率
已经有6人回复
siesta-3.1编译成功,但有几个问题求助
已经有7人回复
申请减免版而费不成功如何处理?
已经有7人回复
vasp5.2 并行编译如何修改makefile
已经有5人回复
【分享】openmpi-intelmkl-siesta3.0 并行安装--两种方式---原创
已经有5人回复
【求助】Siesta安装报错
已经有3人回复
【求助】siesta2.0.2 安装有些警告
已经有4人回复
» 抢金币啦!回帖就可以得到:
武汉纺织大学电子与电气工程学院------院长团队招聘光电、材料类博士,博士后
+1/504
山东农业大学韩福社教授团队招聘有机合成研究助理
+1/175
美国密歇根州立大学林学系杜海顺课题组招收全奖博士生及联合培养博士生
+1/93
香港理工大学-应用生物与化学科技学系 招收2025年博士研究生
+2/74
坐标北京不异地
+1/72
经济学博士(金融方向)招生,211重点大学,2026年9月入学,申请-考核制。
+1/69
广州
+1/66
华中科技大学龚江研究员课题组诚招博士研究生、科研助理和博士后
+2/60
浙江师范大学申利国教授招聘博士后研究人员
+1/28
盐湖所镁基储氢材料课题组招聘
+1/26
重庆大学前沿院,黄小洋教授课题组,招收2026年非均相催化方向学术博士2名
+1/10
天津大学化学系吴立朋课题组申请考核制博士招生/博后招聘-有机化学,金属有机
+1/10
哈尔滨工业大学招收硕士研究生(欢迎环境、市政、生物、化学、农业等专业,长期有效)
+1/9
求博导收留
+1/7
天津大学化学系吴立朋课题组申请考核制博士招生/博后招聘-有机化学,金属有机
+1/7
如何掌握一门外语?
+2/6
求博导收留
+1/5
&#128293;谁在找柳氮磺吡啶杂质?
+1/4
经济学博士(金融方向)招生,211重点大学,2026年9月入学,申请-考核制。
+1/1
双一流天津工业大学电信学院李鸿强教授招收2026年申请审核制博士3人
+1/1
|
guohuazhong 在这个帖子回复说: http://muchong.com/bbs/viewthread.php?tid=3076767&fpage=1 一)如果你坚持要用intel ifort 11来进行编译。可以采取如下方式(siesta网站主页上的方法,见http://www.icmab.es/siesta/) 在生成的arch.make文件中新加入 DUMMY_FOX= --enable-dummy FFLAGS_DEBUG= -g -O2 而后在Obj文件夹中的makefile文件修改第148-153行,将这几行写成如下形式 $(FoX_configured): (cd FoX; touch arch.make ; \ CONFIGURE="$(VPATH)/FoX/configure"; \ $$CONFIGURE VPATH="$(VPATH)/FoX" \ FC="$(FC_SERIAL)" FCFLAGS="$(FFLAGS_DEBUG)" \ --enable-wcml $(DUMMY_FOX) || false ) 注意(cd FoX; touch arch.make ; \这一行前是一个Tab空格,而不是一个space空格 将这两个地方修改好后, make clen make 之后生成的siesta可执行文件并行计算不会出现问题。但要注意的是,arch.make文件中的优化级别是FFLAGS=-g -O2或FFLAGS=-g -O1或FFLAGS=-g -O0,不能是FFLAGS=-g -O3,我试了一下FFLAGS=-g -O3,发现计算过程中出现下面的错误 SPLIT: Orbitals with angular momentum L= 0 SPLIT: Basis orbitals for state 4s izeta = 1 lambda = 1.000000 rc = 6.000769 energy = -0.359899 kinetic = 0.368794 potential(screened) = -0.728693 potential(ionic) = -6.200046 WARNING: Minimum split_norm parameter: 0.52689. Will not be able to generate orbital with split_norm = 0.15000 See manual for new split options ERROR STOP from Node: 0 当改用FFLAGS=-g -O2和FFLAGS=-g -O0或FFLAGS=-g -O1之后则没用出现类似的错误提示,具体原因我就没去深究了。当然不同的优化级别在计算时间上会有一些差异。 比如用FFLAGS=-g -O2时,运行时间如下(用的Fe.fdf例子) * Running on 8 nodes in parallel >> Start of run: 6-DEC-2010 17:19:33 >> End of run: 6-DEC-2010 17:27:54 当改用FFLAGS=-g -O0时,运行时间如下(用的Fe.fdf例子) * Running on 8 nodes in parallel >> Start of run: 6-DEC-2010 16:48:25 >> End of run: 6-DEC-2010 16:58:58 (二)如果你不使用ifort11编译器,而是使用ifort10或以下的版本,建议配合使用openmpi来进行并行计算。 1)安装openmpi,详细步骤不说了,只是在configure的时候我使用的是如下的命令: ./configure --prefix=要安装的目录 F77=ifort FC=ifort FCFLAGS=-em64t FFLAGS=-em64t FCFLAGS和FFLAGS是告诉编译器用的是64位的编译器,如果机器不是64位的就不用了。 make make install 安装完成后还得添加环境变量,至于怎么添加,网上很多,搜索一下就知道了。 2)编译siesta 步骤就写了,大家都知道。下面是我的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=mpif90 RANLIB=ranlib SYS=nag SP_KIND=4 DP_KIND=8 KINDS=$(SP_KIND) $(DP_KIND) FFLAGS=-g -O2 #-i-static FPPFLAGS= -DFC_HAVE_FLUSH -DFC_HAVE_ABORT -DMPI LDFLAGS= FFLAGS_DEBUG= -g -O2 # whatever options you might need,guohuazhong DUMMY_FOX= --enable-dummy # whatever options you might need,guohuazhong ARFLAGS_EXTRA= FCFLAGS_fixed_f= FCFLAGS_free_f90= FPPFLAGS_fixed_F= FPPFLAGS_free_F90= BLAS_LIBS=-L/public/software/intel/Compiler/11.1/059/mkl/lib/em64t -lmkl_intel_lp64 -lmkl_sequential -lmkl_lapack -lmkl_core -lguide -pthread LAPACK_LIBS=-L/public/software/intel/Compiler/11.1/059/mkl/lib/em64t -lmkl_sequential -lmkl_core -pthread BLACS_LIBS=-L/public/software/intel/Compiler/11.1/059/mkl/lib/em64t -lmkl_blacs_openmpi_lp64 -pthread SCALAPACK_LIBS=-L/public/software/intel/Compiler/11.1/059/mkl/lib/em64t -lmkl_scalapack_lp64 -pthread COMP_LIBS= COMP_LIBS=dc_lapack.a liblapack.a libblas.a ######guohuazhong screened 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=/public/software/mpi/openmpi1.4.2-intel/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) $< --------------------------- 是不是因为我是用ifort11编译的,所以库的设置才不正确? 我看他的回帖,在生成的arch.make文件中新加入 DUMMY_FOX= --enable-dummy FFLAGS_DEBUG= -g -O2 然后还是出现前面类似的错误 而且,他说的: 后在Obj文件夹中的makefile文件修改第148-153行,将这几行写成如下形式 $(FoX_configured): (cd FoX; touch arch.make ; \ CONFIGURE="$(VPATH)/FoX/configure"; \ $$CONFIGURE VPATH="$(VPATH)/FoX" \ FC="$(FC_SERIAL)" FCFLAGS="$(FFLAGS_DEBUG)" \ --enable-wcml $(DUMMY_FOX) || false ) 注意(cd FoX; touch arch.make ; \这一行前是一个Tab空格,而不是一个space空格 将这两个地方修改好后, make clen make 我在我安装目录下的makefile文件下根本没找到类似的语句啊,怎么修改呢? 还有,我想做串行不做并行,编译是不是简单一点? |
14楼2011-04-24 21:38:22
★ ★ ★
zzy870720z(金币+3, 1ST强帖+1): 谢谢详细指点 2011-04-06 23:42:17
mayim2008(金币+5): 太感谢了~~~ 2011-04-07 18:15:16
zzy870720z(金币+3, 1ST强帖+1): 谢谢详细指点 2011-04-06 23:42:17
mayim2008(金币+5): 太感谢了~~~ 2011-04-07 18:15:16
|
我没有安装过siesta,不了解有什么特别注意的地方,说下我知道的 首先,用不惯vi 你可以使用 gedit arch.make 来编辑它 至于文件中需要修改的地方 GUIDE=/opt/intel/mkl/lib/32/libguide.a LAPACK=/opt/intel/mkl/lib/32/libmkl_lapack.a BLAS=/opt/intel/mkl/lib/32/libmkl_p3.a 这些是数学库的路径,应该设置成你系统的情况,也就是说找到libmkl_p3.a,libmkl_lapack.a,libguide.a 在哪,把正确的路径添加到这里。 另外FC=ifc 这个是你的fortran编译器命令,现在intel的命令应该是ifort吧 MPI_... 相关行的是设置并行的,如果你不打算并行计算可以忽略 你可以试着执行下编译,看有什么提示 编译的命令应该是make,不过也可能需要加入选项,比如make -all之类的。你可以看下程序的主文件夹下有没有Readme,或者打开Makefile文件看文件最开始有没有相关的提示 |
2楼2011-04-06 23:15:47
★ ★ ★
zzy870720z(金币+3): 谢谢分享,呵呵 2011-04-07 16:18:39
mayim2008(金币+5): 谢谢啊~~ 2011-04-07 18:15:38
zzy870720z(金币+3): 谢谢分享,呵呵 2011-04-07 16:18:39
mayim2008(金币+5): 谢谢啊~~ 2011-04-07 18:15:38
|
我也是用的mkl编译的。只不过我用的是64位的,当然也有对应的32位的。可以类比一下。 # # 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-REHL-5.4 FPP= FPP_OUTPUT= FC=mpif90 RANLIB=ranlib SYS=nag SP_KIND=4 DP_KIND=8 KINDS=$(SP_KIND) $(DP_KIND) FFLAGS= -O2 -i-static FFLAGS_DEBUG= -g LDFLAGS=-Vaxlib FPPFLAGS= -DFC_HAVE_FLUSH -DFC_HAVE_ABORT -DMPI ARFLAGS_EXTRA= FCFLAGS_fixed_f= FCFLAGS_free_f90= FPPFLAGS_fixed_F= FPPFLAGS_free_F90= BLAS_LIBS=-L/home/zhanggp/intel/mkl/10.0.2.018/lib/em64t -lmkl_solver_lp64 -lmkl_intel_lp64 -lguide LAPACK_LIBS=-L/home/zhanggp/intel/mkl/10.0.2.018/lib/em64t -lmkl_sequential -lmkl_core BLACS_LIBS=-L/home/zhanggp/intel/mkl/10.0.2.018/lib/em64t -lmkl_blacs_openmpi_lp64 SCALAPACK_LIBS=-L/home/zhanggp/intel/mkl/10.0.2.018/lib/em64t -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=/home/zhanggp/software/openmpi-1.2.6/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) $< |
3楼2011-04-07 15:18:10
|
你好,今天去编译了一下,修改了如下参数, FC=ifort LAPACK=/home/juan/intel/mkl/lib/ia32/libmkl_lapack.a 另,没有libmkl_p3.a这个文件啊,只有libmkl_p4.so文件 也找不到libguide.a文件 make后 出现了: Compilation architecture to be used: intel-mkl If this is not what you want, create the right arch.make file using the models in Sys Hit ^C to abort... ==> Incorporating information about present compilation (compiler and flags) make[1]: Entering directory `/home/syzx/TEM/siesta-2.0.2/Src' ifort -c -w -mp -tpp5 -O3 compinfo.F90 make[1]: ifort: Command not found make[1]: *** [compinfo.o] Error 127 make[1]: Leaving directory `/home/syzx/TEM/siesta-2.0.2/Src' make: *** [version] Error 2 ---------------------------------------------- |
4楼2011-04-08 22:07:49








回复此楼