| 查看: 1349 | 回复: 1 | ||||
yangjun102银虫 (小有名气)
|
[交流]
ifort+openmpi+mkl编译siesta-4.0.2
|
|
网上看到一些科研工作者编译siesta-4.0.2有一些疑问,自己试了一下,有一些经验和大家分享。 1.首先是ifort,mkl,openmpi请看zhangguangping的编译过程https://muchong.com/t-1930406-1 2.siesta编译需要的文件都在Src路径中,但是软件是禁止在Src路径下make的,这是为了避免输出和输入文件的混乱。根据manual,编译的时候,可在与Src同级的任意名称的路径下编译,这样的好处是可以编译不同版本的软件在不同路径下。这时可以使用VPATH关键字编译。(此段描述在manual中有更好的解释) 3. (1) $ cd home/path/to/siesta-4.0/Obj $ sh ../Src/obj_setup.sh 脚本会将编译用到的一些文件复制到Obj文件夹内。 (2) $ ../Src/configure --enable-mpi 在Obj文件夹下生成arch.make文件,对其修改如下 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 FPPFLAGS= -DFC_HAVE_FLUSH -DFC_HAVE_ABORT -DMPI LDFLAGS= ARFLAGS_EXTRA= FCFLAGS_fixed_f= FCFLAGS_free_f90= FPPFLAGS_fixed_F= FPPFLAGS_free_F90= BLAS_LIBS=-L/home/YourPath/intel/composer_xe_2011_sp1.7.256/mkl/lib/intel64 -lmkl_solver_lp64 -lmkl_intel_lp64 LAPACK_LIBS=-L/home/YourPath/intel/composer_xe_2011_sp1.7.256/mkl/lib/intel64 -lmkl_sequential -lmkl_core BLACS_LIBS=-L/home/YourPath/intel/composer_xe_2011_sp1.7.256/mkl/lib/intel64 -lmkl_blacs_openmpi_lp64 SCALAPACK_LIBS=-L//home/YourPath/intel/composer_xe_2011_sp1.7.256/mkl/lib/intel64 -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/YourPath/openmpi-1.4.4/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)$ cd MPI 进入MPI文件夹修改makefile。 把 ARCH_MAKE_DEFAULT=../arch.make 修改为绝对路径 ARCH_MAKE_DEFAULT=/home/path/to/siesta-4.0/Obj/arch.make 并添加VPATH关键词,VPATH=/home/path/to/siesta-4.0/Src/MPI 否则make指令搜索不到编译用的源文件 然后 $ make (4) cd..回到Obj路径。查看修改makefile。这里面应该已经有VPATH=/home/path/to/siesta−4.0/Src。目的同上。然后 make即可生成siesta 4.测试可用。 参考链接:https://blog.sciencenet.cn/blog-3126508-1022598.html |
» 收录本帖的淘帖专辑推荐
学术用 |
» 猜你喜欢
不自信的我
已经有11人回复
北核录用
已经有3人回复
要不要辞职读博?
已经有6人回复
实验室接单子
已经有3人回复
磺酰氟产物,毕不了业了!
已经有8人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有10人回复
26申博(荧光探针方向,有机合成)
已经有4人回复
论文终于录用啦!满足毕业条件了
已经有26人回复
2026年机械制造与材料应用国际会议 (ICMMMA 2026)
已经有4人回复
Cas 72-43-5需要30g,定制合成,能接单的留言
已经有8人回复
yangjun102
银虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 486.5
- 散金: 24
- 帖子: 248
- 在线: 351.2小时
- 虫号: 763027
- 注册: 2009-05-04
- 性别: GG
- 专业: 凝聚态物性I:结构、力学和
| 附上arch.make |
» 本帖附件资源列表
-
欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com - 附件 1 : 参考的arch.make
2020-10-12 12:03:45, 1.75 K
2楼2020-10-12 12:03:59












回复此楼