| 查看: 3064 | 回复: 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 ] |
» 猜你喜欢
请问有评职称,把科研教学业绩算分排序的高校吗
已经有6人回复
2025冷门绝学什么时候出结果
已经有6人回复
Bioresource Technology期刊,第一次返修的时候被退回好几次了
已经有7人回复
真诚求助:手里的省社科项目结项要求主持人一篇中文核心,有什么渠道能发核心吗
已经有8人回复
寻求一种能扛住强氧化性腐蚀性的容器密封件
已经有5人回复
请问哪里可以有青B申请的本子可以借鉴一下。
已经有4人回复
请问下大家为什么这个铃木偶联几乎不反应呢
已经有5人回复
天津工业大学郑柳春团队欢迎化学化工、高分子化学或有机合成方向的博士生和硕士生加入
已经有4人回复
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复
AI论文写作工具:是科研加速器还是学术作弊器?
已经有3人回复
» 本主题相关价值贴推荐,对您同样有帮助:
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/158
双面压敏硅胶胶带
+2/90
双一流大学湘潭大学“化工过程模拟与强化”国家地方联合工程研究中心招收各类博士生
+1/85
中国科学技术大学 精准智能化学重点实验室 武建昌课题组招聘博士后
+1/79
澳门科技大学2026年数学博士招生—杨钧翔助理教授计算物理与数学课题组
+1/41
工作一年半了,突然分配到浮选药剂的合成,我想问问浮选药剂是不是夕阳产业了
+1/33
国家青年人才叶立群教授课题组招收2026级博士研究生
+1/31
医学检验方向招收申请考核博士研究生
+2/30
中国矿业大学博士招生
+1/30
招若干有机合成人员 (中山大学)
+1/7
海南大学国家高层次人才团队2026年博士招生
+1/6
山东大学集成电路学院博士招生
+1/5
欢迎报考中山大学课题组,确保2025-2026级硕士研究生名额
+1/5
欢迎报考中山大学课题组,提供2025-2026级硕士研究生名额
+1/4
想替换掉环状DNA中心通道中的金属离子 如何替换才是正确操作
+1/4
CSC 因斯布鲁克大学计算机系 联培/攻博
+1/3
法赫德国王石油与矿业大学(King Fahd University of Petroleum and Minerals-KFUPM)
+1/3
招收2026年秋季入学博士生1名(北京科技大学 力学超材料/机器学习/增材制造相关方向)
+1/2
北京理工大学珠海校区徐先臣课题组招聘博士后/硕博士
+1/1
中国科学技术大学 精准智能化学重点实验室 武建昌课题组招聘博士,博士后
+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














回复此楼