薛堪豪的个人博客分享 http://blog.sciencenet.cn/u/bfax 兴趣:凝聚态物理,电化学

博文

Cygwin 上编译 Siesta

已有 5376 次阅读 2014-9-26 17:03 |个人分类:计算机|系统分类:科研笔记

之前在 Ubuntu 下编译过 Siesta. 参看:Ubuntu 下并行编译 Siesta

最近在 Cygwin 环境下尝试编译 Siesta,笔记如下:

我在 Windows 7 64 bit 下安装 Cygwin 以后,都无法顺利编译 MPICH 或者 OpenMPI。解决办法是:安装 Cygwin 的时候就选择安装 OpenMPI,也就是凡搜索到符合 openmpi 字样的都选择安装。其他必须要安装的还包括:gcc,g++,gfortran,make,wget 等等。

但是且慢,谁能在初装 Cygwin 的时候就选好所有需要的程序呢?这不太可能。但也有解决办法:每次需要加装软件的时候就重新安装一次 Cygwin,只要安装到默认路径下,旧的系统并不会受到影响。

与 Ubuntu 下的安装相比,Cygwin 的 MPI 编译器位置是固定的,位于

/usr/bin/mpicc

/usr/bin/mpif90

等等位置。

Lapack的安装与 Ubuntu 相同,只不过在 make.inc 文件里 gfortran 的路径有所不同:

FORTRAN  = /usr/bin/gfortran

而 BLACS 的 Bmake.inc 要注意 MPI 路径部分选择:

  MPILIBdir = /usr/lib/

  MPIINCdir = /usr/include/

  MPILIB = /usr/lib/libmpi_mpifh.dll.a

尤其第三行的文件名。同时 MPI 编译器的路径是:

  F77            = /usr/bin/mpif77

  CC             = /usr/bin/mpicc

Scalapack 也只要注意在 SLmake.inc 里正确选择 MPI 编译器路径:

FC            = /usr/bin/mpif77

CC            = /usr/bin/mpicc

其他都一样。

编译 Siesta 2.0.2 的时候,要先更新软件包(Src 目录)里的 config.guess,参见 Cygwin 上 config.guess 无法工作的解决办法。然后还是要在 Src 目录下执行

./configure

修改生成的 arch.make 并注意以下细节:

FC=/usr/bin/mpif90

MPI_LIB=/usr/lib

即可。然后直接 make 就可以了。

Cygwin 既然效率不高,有时可能并不必要并行计算。编译 Siesta 串行版本极其简单,只要在安装 Cygwin 的时候选择安装 gfortran,再到 Siesta 2.0.2 的 Src 目录下先更新 config.guess,最后执行:

./configure

make

就可以了。



https://wap.sciencenet.cn/blog-365047-831049.html

上一篇:Gromacs 结果分析
下一篇:"计算材料学" 与 "量子化学" 的鸿沟
收藏 IP: 194.57.109.*| 热度|

1 施郁

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-24 14:58

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部