OpenMolcas-v24.10安装方法

1. 下载HPC Toolkit和MKL

到以下网址下载HPC Toolkit安装包。若日后该网址失效或变更,请自行用google或bing搜索引擎再搜索。

https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit/download.html

到以下网址下载MKL安装包

https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html#onemkl

2. 安装HPC Toolkit

将安装包传到服务器上,切换到root身份,运行

chmod +x l_HPCKit_p_2021.2.0.2997_offline.sh
./l_HPCKit_p_2021.2.0.2997_offline.sh

3.安装完成后设置环境变量

. /opt/intel/oneapi/setvars.sh

依据oneapi的实际安装位置对应修改以上路径,然后加入到用户目录下.bashrc文件中,source ~/.bashrc生效。

测试是否可用

icc --version
icpc --version
ifort --version
mpirun --version

4.安装MKL库仍以root身份运行

chmod +x l_onemkl_p_2021.2.0.296_offline.sh
./l_onemkl_p_2021.2.0.296_offline.sh
echo $MKLROOT

可查看MKL路径。

5.OpenMolcas安装前置条件cmake 3.22.1 intel OneAPI 和 Miniconda3

下载软件包:

https://gitlab.com/Molcas/OpenMolcas/-/releases
https://gitlab.com/libxc/libxc/-/releases
https://github.com/HDFGroup/hdf5/releases

笔者下载的版本为:

OpenMolcas-v24.10.tar.gz
libxc-6.2.2.tar.gz
hdf5-hdf5-1_14_5-2.tar.gz

 5.1 安装HDF5

tar -zxf hdf5-hdf5-1_14_5-2.tar.gz
cd hdf5-hdf5-1_14_5-2
mkdir build && cd build
CC=icc CXX=icpc FC=ifort cmake -DCMAKE_INSTALL_PREFIX=$HOME/software/hdf5-1.14.5 ..
make -j20
make install

写入环境变量:

export HDF5_ROOT=/opt/software/hdf5-1.14.5
export PATH=/opt/software/hdf5-1.14.5/bin:$PATH
export LD_LIBRARY_PATH=/opt/software/hdf5-1.14.5/lib:$LD_LIBRARY_PATH
export CPATH=/opt/software/hdf5-1.14.5/include:$CPATH

 执行source ~/.bashrc或退出重登以使环境变量生效。

5.2编译OpenMolcas

tar -zxf OpenMolcas-v24.10.tar.gz
cd OpenMolcas-v24.10
mkdir bin build
cd build
CC=icc CXX=icpc FC=ifort cmake -DLINALG=MKL -DOPENMP=ON \
 -DCMAKE_INSTALL_PREFIX=/opt/software/OpenMolcas-v24.10 ..

此时我们可以在屏幕上看到HDF5和MKL库有被自动识别出,内容大致如下

Configuring HDF5 support:
-- Found HDF5: hdf5-shared (found version "1.14.5") found components: C
-- HDF5_INCLUDE_DIRS: /data/home/jxzou/software/hdf5-1.14.5/include
-- HDF5_C_LIBRARIES: hdf5-shared
Configuring linear algebra libraries:
-- Using Intel Math Kernel Library (MKL)
-- MKLROOT = /data/share/intel/2021.5.0/mkl/2022.0.1
-- MKL_INCLUDE_PATH = /data/share/intel/2021.5.0/mkl/2022.0.1/include
-- MKL_LIBRARY_PATH = /data/share/intel/2021.5.0/mkl/2022.0.1/lib/intel64
-- LINALG_LIBRARIES: /data/share/intel/2021.5.0/mkl/2022.0.1/lib/intel64/libmkl_intel_ilp64.so;/data/share/intel/2021.5.0/mkl/2022.0.1/lib/intel64/libmkl_core.so;/data/share/intel/2021.5.0/mkl/2022.0.1/lib/intel64/libmkl_intel_thread.so

 接着我们把Libxc放到相应目录下,让OpenMolcas自动识别并编译它。依次执行

cd External/Libxc/tmp
touch Libxc-gitclone.cmake Libxc-gitupdate.cmake
cp /home/user/libxc-6.2.2.tar.gz /home/user/OpenMolcas-v24.10/build/External/Libxc/src/
tar -zxf libxc-6.2.2.tar.gz
rm -rf Libxc libxc-6.2.2.tar.gz
mv libxc-6.2.2 Libxc

回到build目录重新执行:

CC=icc CXX=icpc FC=ifort cmake -DLINALG=MKL -DOPENMP=ON \
 -DCMAKE_INSTALL_PREFIX=/opt/software/OpenMolcas-v24.10 ..

配置正常后编译OpenMolcas:

make -j20
make install

将/opt/software/OpenMolcas-v24.10目录下的pymolcas移动到当前目录中的bin目录下,再配置环境变量:

export MOLCAS_WORKDIR=/scratch/$USER/molcas
export MOLCAS_MEM=32Gb
export MOLCAS=$HOME/software/OpenMolcas-v24.10
export PATH=$MOLCAS/bin:$PATH
export MOLCAS_PRINT=3
export MOLCAS_NPROCS=1
export OMP_NUM_THREADS=24

完成后记得执行source ~/.bashrc

若/scratch/$USER/molcas目录不存在则需手动创建。无论计算任务正常/异常结束,该目录都会有临时文件存在,每隔一段时间应进行清理。若一个任务算完后在相同位置再次提交,OpenMolcas默认去寻找上次的临时文件,好处是可以加速计算,坏处是万一不想要临时文件里的轨道作为初猜,就可能把自己坑了。若想每次计算完自动清空临时文件,可以再加上环境变量

export MOLCAS_KEEP_WORKDIR=NO

环境变量设置请参考:

https://molcas.gitlab.io/OpenMolcas/Manual.pdf

6.测试

pymolcas --version

屏幕应当显示

python driver version = py2.29
(after the original perl EMIL interpreter of Valera Veryazov)

 接着测试程序自带标准示例。最好切换到其他目录进行测试

前源码目录的test目录整个复制到OpenMolcas的安装目录下

cd 到test目录standard目录中,可以看到用于测试的input文件,执行:

pymolcas verify 000.input

运行标准测试。

7.注意事项

1、oneapi的新版本已将编译器名称更换

详细说明:

    C 编译器(CC):
        旧版:icc
        新版:icx(Linux/macOS)或 icx-cl(Windows)
        说明:icx 是 Intel 基于 LLVM 的新一代 C/C++ 编译器。

    C++ 编译器(CXX):
        旧版:icpc
        新版:icpx(Linux/macOS)或 icpx-cl(Windows)
        说明:icpx 是专为 C++ 代码优化的 LLVM 后端编译器。

    Fortran 编译器(FC):
        旧版:ifort
        新版:ifx(全平台统一名称)
        说明:ifx 是 Intel 新一代 Fortran 编译器,兼容多数 ifort 特性。

2、编译前安装好miniconda3,并激活base环境。

OpenMolcas配置时报缺少python模块时可直接使用conda install命令安装

posted @ 2025-04-08 13:50  清风6661  阅读(263)  评论(0)    收藏  举报