1.上传压缩包到服务器并解压:
进入 QE 压缩包文件夹下执行 tar -xzvf qe-7.4.1-ReleasePack.tar.gz

会生成文件夹 qe-7.4.1

2.进入文件夹 qe-7.4.1 配置安装相关环境变量:
cd qe-7.4.1
# 默认都是用 intel 的编译器
# 由于 oneapi2021 只将 mpifort 更新到了 2021 年,之后再没有进行更新
./configure CC=icc F77=ifort CXX=icpc F90=ifort MPIF90=mpiifort
make all
# 从 2023 年开始,oneapi 开始更新出现了 mpiifx,你如果用的是 2023-2024 年发行的 oneapi,那么最好明确的指出你用的 MPIF90
./configure CC=icc F77=ifort CXX=icpc F90=ifort MPIF90=mpiifort
make 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 = mpiifort
F90 = ifort
CC = 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.sh
脚本内容:
#!/bin/bash
# ==================== 用户自定义配置区域 ====================
NUM_CORES=2 # 1. 在这里设置你想要使用的 CPU 核心数
INPUT_FILE="CsCu2I3.vcrelax.in" # 2. 在这里输入你的 QE 输入文件名
OUTPUT_FILE="output" # 3. 在这里设定输出文件名
# ============================================================
# 自动加载 Intel oneAPI 环境变量
source /opt/intel/oneapi/setvars.sh > /dev/null
# 检查输入文件是否存在
if [ ! -f "$INPUT_FILE" ]; then
echo "错误:找不到输入文件 $INPUT_FILE,请检查文件名!"
exit 1
fi
echo "=========================================="
echo " 任务开始执行"
echo " 核心数: $NUM_CORES"
echo " 输入文件: $INPUT_FILE"
echo " 输出文件: $OUTPUT_FILE"
echo " 时间: $(date)"
echo "=========================================="
# 执行 mpirun 运行 pw.x,并自带输出重定向
mpirun -np ${NUM_CORES} /root/software/qe-7.4.1/bin/pw.x -in ${INPUT_FILE} > ${OUTPUT_FILE} 2>&1
echo "=========================================="
echo " 任务执行完毕,时间: $(date)"
echo "=========================================="每次计算将上述脚本 sub_qe.sh 放到计算任务的文件夹下,更改脚本中应要更改的内容
然后赋予 sub_qe.sh 脚本可执行文件
在终端输入 nohup ./sub_qe.sh > run_log.txt 2>&1 & 即可实现计算任务,而且这种任务提交方式有着和 slurm 一样的队列效果,之后关闭 ssh 连接,任务也会在后台持续计算
查看 QE 计算进程:ps aux | grep pw.x
取消对应计算任务:pkill -9 -f pw.x
