| 查看: 3202 | 回复: 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 ] |
» 猜你喜欢
北京211副教授,35岁,想重新出发,去国外做博后,怎么样?
已经有7人回复
Cas 72-43-5需要30g,定制合成,能接单的留言
已经有7人回复
磺酰氟产物,毕不了业了!
已经有5人回复
论文终于录用啦!满足毕业条件了
已经有25人回复
2026年机械制造与材料应用国际会议 (ICMMMA 2026)
已经有3人回复
自荐读博
已经有3人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有5人回复
不自信的我
已经有5人回复
投稿Elsevier的杂志(返修),总是在选择OA和subscription界面被踢皮球
已经有8人回复
» 本主题相关价值贴推荐,对您同样有帮助:
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/684
中国科学院大学纳米科学与工程学院唐智勇(院长)-张银团队招聘启事
+1/170
供应德国EXAKT艾卡特半导体导热散热材料三辊研磨机50 PLUS
+1/94
上海大学昝鹏教授、军事医学研究院伯晓晨研究员/倪铭副研究员 课题组招聘博士生
+1/79
内蒙古大学能源材料化学研究院招聘2026年博士生
+1/76
87 年东北小哥定居苏州(沪杭亦可),诚寻携手余生的你
+1/58
昆明理工大学冶能院离子液体冶金课题组招收博士
+1/58
考核制博士自荐
+1/40
中国地质大学(北京)王琳课题组招收2026年硕转博/申请-考核博士研究生-1月8日截止
+1/29
可以用同一个研究内容申请青C和博士后面上吗
+1/25
福建师范大学柔性电子学院招收2026年博士(储能材料与柔性电子器件)
+2/22
SCI,计算机相关可以写
+1/22
南科大薛亚辉课题组诚聘离子输运、低维器件、原子力显微镜等方向“快响行动”博士生
+1/21
杨老师招收联合培养硕士、博士生或客座学生
+1/21
王志博教授课题组招收硕士研究生(本招收信息长期有效)
+2/14
中科院深圳理工大学网络课题组招聘博后/RA/实习生
+1/11
南京工业大学城市建设学院招收建筑节能方向2026年入学全日制博士
+2/10
求博导收留
+1/5
中国科学院苏州纳米所院士团队博士后岗位招聘
+1/4
电子科技大学激光与光子制造团队招硕士博士
+1/4
|
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










回复此楼