Installation of Psi4 and Forte in Windows WSL2

在 Windows 11 WSL2 中安装 Psi4 和 Forte(2024年9月)

一、更新Ubuntu软件包

1. 启动Windows WSL,在cmd中输入 wsl

2. 进入Ubuntu root模式

sudo -i

3. 如果没有“魔法”,建议更换国内Ubuntu镜像源,例如清华镜像源

    1)备份原软件源配置文件(/etc/apt/sources.list),如

cp /etc/apt/sources.list /etc/apt/sources.list.backup

    2)进入清华大学开源软件镜像站 | Tsinghua Open Source Mirror

    3)点击ubuntu右边的问号,选择与WSL2安装对应的Ubuntu版本

    4)复制相关内容,覆盖原软件源配置文件

4. 更新软件包

apt update

apt upgrade

apt autoremove

5. 获取开发者工具

apt install build-essential gfortran

6. 安装spf13-vim工具(非必要)

curl https://j.mp/spf13-vim3 -L > spf13-vim.sh && sh spf13-vim.sh

二、安装CUDA Toolkit(非必要,需在Windows中先安装NVIDIA驱动)

1. 进入CUDA Toolkit 12.6 Update 1 Downloads | NVIDIA Developer

2. 选择合适的系统及安装模式,并根据提示执行相关命令,完成安装,如:选择Linux, x86_64, WSL-Ubuntu, 2.0, deb(network),执行下列命令

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.1-1_all.deb

sudo dpkg -i cuda-keyring_1.1-1_all.deb

sudo apt-get update

sudo apt-get -y install cuda-toolkit-12-6

3. 检查安装成功与否,执行nvidia-smi后应出现显卡信息,同时出现/opt/nvidia文件夹

三、安装Intel数学库和编译器(非必要)

1. 进入Download the Intel® oneAPI Base Toolkit

2. 选择适合的操作系统和安装模式,根据提示完成安装,如:选择Linux, APT,初次安装需执行以下命令

sudo apt update

sudo apt install -y gpg-agent wget

wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg –dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null

echo “deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main” | sudo tee /etc/apt/sources.list.d/oneAPI.list

sudo apt update

sudo apt install intel-basekit

sudo apt install intel-hpckit

3. 安装成功后应出现/opt/intel/oneapi文件夹

4. 将Intel库添加到环境变量

source /opt/intel/oneapi/setvars.sh

5. 将4中的命令加入到~/.bashrc中,实现启动WSL2时自动加载Intel环境

. /opt/intel/oneapi/setvars.sh

四、针对Psi4和Forte配置Python环境

1. 安装Miniconda

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

bash Miniconda3-latest-Linux-x86_64.sh

2. 将conda-forge频道添加至默认搜索频道(没有“魔法”请自行搜索并添加国内镜像源),打开或创建~/.condarc,输入

channels:

  – conda-forge

  – defaults

3. 创建forte.yml文件,输入以下内容:

name: forte

dependencies:

  – python=3.12

  – pip

  – cmake

  – clang-format

  – numpy

  – scipy

  – boost

  – hdf5

  – yaml

  – jupyter

  – eigen

  – pytest

  – pydantic

  – pint

  – pybind11

  – pyyaml

  – pythreejs

  – libint

4. 创建conda环境

conda env create -f forte.yml

5. 启用环境,并添加至~/.bashrc中

conda activate forte

6. 请在启用forte环境的情况下继续下面步骤

五、安装Psi4和Forte(非开发者)

直接从conda安装Forte

conda install conda-forge::forte

对于开发者,可参考以下步骤手动编译Forte。建议创建一个专门存储软件的文件夹,如在~/src/下继续之后步骤。

六、安装Ambit

1. 获取源代码

git clone https://github.com/jturney/ambit.git

    如没有“魔法”,可在repo前添加ghproxy代理

git clone https://ghp.ci/https://github.com/jturney/ambit.git

2. 用CMake生成构建文件Makefile,请使用适合的编译器(这里我采用Intel编译器),将CMAKE_INSTALL_PREFIX更改成你希望的Ambit安装路径

cd ambit

mkdir build

cd build

cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/src/ambit-install -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx

3. 编译Ambit,-j后的数字为并行核

make -j 20

    编译遇到错误时,执行make VERBOSE=1,并研究其报错内容,尝试网上搜索解决方案

4. 安装Ambit

make install

5. 在~/.bashrc中添加环境变量创建conda环境(注意更改对应路径)

export PYTHONPATH=$HOME/src/ambit-install/lib:$PYTHONPATH

export AMBITPATH=$HOME/src/ambit-install

七、安装Block2-preview(非必要,DMRG计算需要)

参考block2-preview手册:DMRGSCF (Forte) — block2 documentation

1. 获取源代码

git clone https://github.com/block-hczhai/block2-preview.git

2. 生成构建文件

cd block2-preview && mkdir build && cd build

cmake .. -DCMAKE_INSTALL_PREFIX=/$HOME/src/block2-install -DUSE_MKL=ON -DBUILD_CLIB=ON -DLARGE_BOND=ON -DMPI=OFF -DCMAKE_C_COMPILER=/opt/intel/oneapi/compiler/2024.2/bin/icx -DCMAKE_CXX_COMPILER=/opt/intel/oneapi/compiler/2024.2/bin/icpx

3. 编译并安装,注意使用Intel编译器时可能会遇到错误icpx: error: Use of ‘-qopenmp’ recommended over ‘-fopenmp’ [-Werror,-Wrecommended-option],这时可将block2-preview的CMakeLists.txt中的fopenmp改为-qopenmp

make -j 20 && make install

八、安装Psi4

1. 从conda安装外部依赖

conda install libxc libecpint dkh gau2grid qcelemental qcengine optking

2. 获取源代码

git clone https://github.com/psi4/psi4.git

3. 生成构建文件

cd psi4 && mkdir build && mkdir build

cmake .. -DCMAKE_INSTALL_PREFIX=/home/york/src/psi4-install -DENABLE_dkh=ON -DENABLE_ambit=ON -DENABLE_ecpint=ON -DMAX_AM_ERI=8 -Dpsi4_CXX_STANDARD=20 -DCMAKE_CXX_STANDARD=20 -Dambit_DIR=$HOME/src/ambit-install/share/cmake/ambit -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx -DCMAKE_Fortran_COMPILER=gfortran

4. 编译并安装Psi4

make -j 20

make install

5. 如果在4中遇到错误fatal error: ‘eigen3/Eigen/Core’ file not found,可以用apt再安装一个eigen(sudo apt install libeigen3-dev)。重新cmake,并指定Eigen3_DIR,如-DEigen3_DIR=/usr/share/eigen3/cmake,其中/usr/share/eigen3/cmake路径下应包含cmake config文件(Eigen3Config.cmake等)。注意重新cmake时应首先删除CMakeCache.txt和CMakeFiles

6. 设置环境变量(参考Compiling and Installing from Source (psicode.org)),在~/.bashrc中输入以下内容(请替换对应路径)

PSI4OBJ=$HOME/src/psi4/build

PSI4INS=$HOME/src/psi4-install

export PSIPATH=$HOME/src/psi4-basis

export PSIDATADIR=$PSI4INS/share/psi4

export PSI_SCRATCH=/tmp/scratch/psi4

export PYTHONPATH=$PSI4OBJ/stage/lib:$PYTHONPATH

export PATH=$PSI4OBJ/stage/bin:$PATH

7. 测试Psi4能够正常运行,这里进测试一个例子

cd $HOME/src/psi4/tests/scf1

psi4

九、安装Forte

1. 获取源代码

git clone https://github.com/evangelistalab/forte.git

cd forte

2. 编译方法一

    1)创建setup.cfg文件,输入以下内容(请替换ambitpath和CMAKE_PREFIX_PATH中$HOME为完整路径,不需要DMRG计算请删除block2相关的选项)

[CMakeBuild]

ambitpath=$HOME/src/ambit-install

cmake_config_options=-DCMAKE_BUILD_TYPE=Debug -DENABLE_block2=ON -DCMAKE_PREFIX_PATH=$HOME/src/block2-install/share/cmake/block2

    2)执行命令:python setup.py develop

3. 编译方法二

    1)创建compile-forte.sh文件,输入以下内容(请替换相关路径)

#! /bin/bash

# Modify the following parameters

ambit_dir=$HOME/src/ambit-install/share/cmake/ambit

block2_dir=$HOME/src/block2-install/share/cmake/block2

srcdir=$HOME/src/forte

build_type=Debug

# Run cmake

cd $srcdir

rm -rf CMakeFiles CMakeCache.txt cmake_install.cmake

cmake_psi4=`psi4 –plugin-compile`

$cmake_psi4 -Dambit_DIR=$ambit_dir -DCMAKE_BUILD_TYPE=$build_type -DMAX_DET_ORB=128 -DENABLE_block2=ON -Dblock2_DIR=$block2_dir

# Compile

make -j20

    2)执行该脚本

bash compile-forte.sh

    3)添加环境变量至~/.bashrc

PYTHONPATH=$HOME/src/forte:$PYTHONPATH

4. 运行Forte测试

cd $HOME/src/forte/tests/method

python run_forte_tests.py –type short

Hooray! You Compiled Forte! Take a break and Have fun!