#!/bin/bash ## 下载调试此脚本应将中文注释删去,否则可能会有兼容性问题 ## ## 提交任务的名称 #PBS -N atktest ## 根据系统提供的队列名设置(这里是low) #PBS -q low ## 请求计算资源(示例为请求4个节点,每节点20个核) #PBS -l nodes=4:ppn=20 ## 导出环境变量 #PBS -V ## 将out和err合并输出 #PBS -j oe ##--------------------------------------------------------- ## 设置输入文件的名称(不写.py) SCRIPT=atktest ##--------------------------------------------------------- ##修改路径以适配系统 ##假设ATK安装路径为[atk_installdir] ATK_BIN_DIR=[atk_installdir]/QuantumATK-2022.12/bin/atkpython ## 为适配HPC硬件并正确使用并行网络 mpiexec.hydra可能需要带一些参数,请咨询HPC硬件或服务商 MPI_DIR=[atk_installdir]/QuantumATK-2022.12/mpi/bin/mpiexec ## 通知计算时需要访问的License server所在位置或自动搜索 export SNPSLMD_LICENSE_FILE="27020@管理节点主机名或IP" ## 将启动的MPI进程总数为NP NP=$( sort $PBS_NODEFILE | wc -l ) ## 关闭MKL的OpenMP线程 export OMP_NUM_THREADS=1 export MKL_NUM_THREADS=1 export MKL_DYNAMIC=FALSE ## 并行计算命令 cd $PBS_O_WORKDIR $MPI_DIR -n $NP $ATK_BIN_DIR ${SCRIPT}.py > ${SCRIPT}.out