Linux基于Intel安装siesta-5.0.0+netcdf+elpa

参考:https://docs.siesta-project.org/projects/siesta/en/latest/installation/build-manually.html

说明:5.0.0版本已支持cmake编译,这里默认需要的依赖已经安装,如果在自己的Linux上没有这些依赖,请参考siesta编译环境查阅相关软件官网完成安装。

一、flook-0.8.4

官网:https://e-cam.readthedocs.io/en/latest/Electronic-Structure-Modules/modules/flook/readme.html

1. 编译环境

module purge
module load Intel_compiler/19.0.4
module load readline/8.2-gcc8.5.0
export CC=icc FC=ifort

2. 编译

git clone https://github.com/ElectronicStructureLibrary/flook.git
cd flook
# 创建setup.make文件写入编译参数
{
echo "CC     = $CC"
echo "FC     = $FC"
echo "CFLAGS = $CFLAGS"
echo "FFLAGS = $FFLAGS"
} > setup.make
# readline依赖于ncurses
sed -i "s/-ldl -lreadline/-ldl -lreadline -lncurses/" aotus/external/lua-5.3.5/src/Makefile
sed -i "s|CC= gcc -std=gnu99|CC= icc -std=c99|g" aotus/external/lua-5.3.5/src/Makefile
make liball -j16
make install PREFIX=$HOME/software/flook-0.8.4-icc19.0

二、siesta-5.0.0

1. 编译环境

module purge
module load cmake/3.27.7
module load Intel_compiler/19.0.4
module load MPI/mpich/4.0.2-mpi-x-icc19.0
module load MKL/19.1.2
module load fftw/3.3.10-icc19.0-mpi-x
module load netcdf/4.8.0-icc19.0-mpi-x
module load libxc/5.1.6-icc19.0
module load elpa/2021.05.001-icc19.0-mpi-x
export CMAKE_PREFIX_PATH=$HOME/software/flook-0.8.4-icc19.0:$CMAKE_PREFIX_PATH

2. elpa处理

说明

  • cmake使用pkg-config查找elpa.pc,而安装elpa后默认为elpa-<version>.pc
  • 具体查看siesta-5.0.0/Config/cmake/Modules/FindCustomElpa.cmake

解决方法

  1. 创建下面软链接并设置环境变量:

    ln -s /path/to/elpa-<version>.pc /path/to/lib/pkg-config/elpa.pc
    export PKG_CONFIG_PATH=/path/to/lib/pkg-config:$PKG_CONFIG_PATH
    

    如果elpa启用了openmp支持,则为elpa_openmp.pc,请修改/path/to/elpa-<version>.pc/path/to/lib/pkg-config为本地路径。

3. 编译

wget https://gitlab.com/siesta-project/siesta/-/archive/5.0.0/siesta-5.0.0.tar.gz
tar xzf siesta-5.0.0.tar.gz
cd siesta-5.0.0
####使用第1种方法处理elpa####
mkdir pkgconfig && ln -s $(dirname $(dirname `which elpa2_print_kernels_openmp`))/lib/pkgconfig/*.pc pkgconfig/elpa_openmp.pc
export PKG_CONFIG_PATH=`pwd`/pkgconfig:$PKG_CONFIG_PATH
##########################
cmake -B build \
-DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx -DCMAKE_Fortran_COMPILER=mpif90 \
-DSCALAPACK_LIBRARY="-L${MKLROOT}/lib/intel64 -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64" \
-DNetCDF_PATH=$(dirname $(dirname `which nf-config`)) \
-DLIBFDF_FIND_METHOD=fetch \
-DSIESTA_WITH_OPENMP=ON -DSIESTA_WITH_MPI=ON \
-DSIESTA_WITH_FFTW=ON -DSIESTA_WITH_ELPA=ON \
-DCMAKE_INSTALL_PREFIX=$HOME/software/siesta-5.0.0-icc19.0-mpi-x
make install -C build -j16
  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值