VDS 上安装部署 QE
安装 QE 前保证服务器已将安装好 oneapi
1.上传压缩包到服务器并解压
- 进入 QE 压缩包文件夹下执行: tar -xzvf qe-7.4.1-ReleasePack.tar.gz

- 会生成文件夹 qe-7.4.1

2.进入文件夹 qe-7.4.1 配置安装相关环境变量
- 根据以下服务器 oneapi 版本对应安装
plaintext
cd qe-7.4.1# 默认都是用 intel 的编译器# 由于 oneapi2021 只将 mpifort 更新到了 2021 年,之后再没有进行更新./configure CC=icc F77=ifort CXX=icpc F90=ifort MPIF90=mpiifortmake all # 从 2023 年开始,oneapi 开始更新出现了 mpiifx,你如果用的是 2023-2024 年发行的 oneapi,那么最好明确的指出你用的 MPIF90./configure CC=icc F77=ifort CXX=icpc F90=ifort MPIF90=mpiifortmake all # 从2024年开始,oneapi 取消了 mpiifort,ifort,只保留了 mpiifx 和 ifx,所以使用 2024 年之后的 intel 编译器,最好使用的是./configure CC=icx F77=ifx CXX=icpx F90=ifx MPIF90=mpiifx make all # 如果你使用 configure 进行了编译选项的配置,就可以看到 make.inc 里面有你配置好的编译参数:vi make.inc...MPIF90 = mpiifortF90 = ifortCC = icc...上述过程可能会持续数分钟,请耐心等待,完全配置成功之后,会在 qe-7.4.1 文件夹下生成 bin 文件夹,该文件夹下存放着 QE 的计算模块,如 pw.x,pp.x
- 出现下述界面表示配置安装成功:

- 并在 qe-7.4.1 文件夹下出现 bin 文件夹:

3.配置 .bashrc 环境变量
- vi .bashrc 之后配置下图环境变量

4.开始 QE 计算
完成上述操作后,你的 VDS 上就已经配置好 QE 了,可以开始计算了,但是由于 VDS上没有专门的队列系统,只能通过 shell 提交任务,因此需要一个辅助脚本 sub_qe_pwx.sh,其中 pwx 代表 QE 的 pwx 计算模块,将脚本放在 /root/scripts 下,然后赋予可执行权限。之后实际计算直接调用就行。
- 脚本内容:
plaintext
#!/bin/bash # 检查是否传入了输入文件if [ -z "$1" ]; then echo "用法: $(basename $0) <输入文件名> [输出文件名] [核心数(默认2)]" echo "示例: $(basename $0) CsCu2I3.in output 4" exit 1fi INPUT_FILE="$1"OUTPUT_FILE="${2:-output}" # 第2个参数为输出文件名,如果不填则默认输出到 outputNUM_CORES="${3:-2}" # 第3个参数为核心数,如果不填则默认 2 核 # 自动加载 Intel oneAPI 环境变量if [ -f /opt/intel/oneapi/setvars.sh ]; then source /opt/intel/oneapi/setvars.sh > /dev/null 2>&1fi # 检查输入文件是否存在if [ ! -f "$INPUT_FILE" ]; then echo "错误:当前目录下找不到输入文件 $INPUT_FILE,请检查文件名!" exit 1fi echo "=========================================="echo " 任务开始执行"echo " 核心数: $NUM_CORES"echo " 输入文件: $INPUT_FILE"echo " 输出文件: $OUTPUT_FILE"echo " 时间: $(date)"echo "==========================================" # 执行 mpirun 运行 pw.xmpirun -np ${NUM_CORES} /root/software/qe-7.4.1/bin/pw.x -in ${INPUT_FILE} > ${OUTPUT_FILE} 2>&1 echo "=========================================="echo " 任务执行完毕,时间: $(date)"echo "=========================================="使用方法:nohup sub_qe_pwx.sh xxx.in xxx.out 核数 > run_log 2>&1 &
- 查看 QE 计算进程:ps aux | grep pw.x
- 取消对应计算任务:pkill -9 -f pw.x