热点新闻
HPC 编译 FaSTMM
2023-07-31 15:19  浏览:1529  搜索引擎搜索“混灰机械网”
温馨提示:信息一旦丢失不一定找得到,请务必收藏信息以备急用!本站所有信息均是注册会员发布如遇到侵权请联系文章中的联系方式或客服删除!
联系我时,请说明是在混灰机械网看到的信息,谢谢。
展会发布 发布信息 广告合作 软文发布





工作需要在 HPC 集群上编译 FaSTMM,踩了一些小坑之后解决了问题。现将主要步骤总结如下:

首先,我测试时集群上的 HDF5 几个版本均不奏效,因此需要自己编译具有 Fortran 支持的 HDF5。这一步比较简单,我写在了另一篇文章里: HPC 编译 HDF5。

FaSTMM 依赖于 LAPACK 和 BLAS,编译脚本需要 CMake,还需要 Fortran 编译器来进行编译,因此需要提前在集群上加载好。其中 gcc 应该在上一步编译 HDF5 时已经加载上了。

module load gcc/4.8.5 module load cmake/3.16.0 module load lapack/3.9.0-gcc-4.8.5

克隆 FaSTMM 仓库到集群本地。

git clone https://bitbucket.org/planetarysystemresearch/fastmm_v1.0.git cd fastmm_v1.0

这里需要对 CMakeLists.txt 进行一些修改:

diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ed0bef3..596f812 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -13,7 +13,7 @@ FIND_PACKAGE(HDF5 COMPonENTS Fortran REQUIRED) INCLUDE_DIRECTORIES(${HDF5_INCLUDE_DIR}) -SET (CMAKE_Fortran_FLAGS "-O3 -cpp -mtune=native -fopenmp") +SET (CMAKE_Fortran_FLAGS "-O3 -cpp -mtune=native -fopenmp -lblas -llapack") ADD_EXECUTABLE(${PROJECTNAME} "main.f90" "common.f90"

主要是在编译选项中加上了 -lblas-llapack,否则在编译完的链接那一步会报错找不到有关函数。

接下来就可以编译了。注意要使用 HDF5 附带的 h5fc

mkdir build && cd build FC=~/.local/hdf5/bin/h5fc cmake ../src make

发布人:ebfc****    IP:106.39.21.***     举报/删稿
展会推荐
让朕来说2句
评论
收藏
点赞
转发