在Linux单机上安装好并行环境后,可以直接通过交互式命令来并行计算:
#假设ATK安装路径为[atk_installdir] [atk_installdir]/bin/atkpython input.py | tee log
在Linux单机上安装好并行环境后,可以直接通过交互式命令来并行计算:
#假设ATK安装路径为[atk_installdir] [atk_installdir]/mpi/bin/mpiexec -n 4 [atk_installdir]/bin/atkpython input.py | tee log
以下是几个典型的提交脚本示例,用户需要根据实际情况修改。调试成功后,应对实际安装的系统进行一些测试计算以得到最佳的运行方案。
#!/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
#!/bin/sh #BSUB -q hpc_q ## LSF经常在这里指定所使用的的MPI,最后不需要直接写出mpirun命令 ## 也可以使用QATK自带的Intel MPI版本,具体如何修改脚本请咨询HPC管理员 #BSUB -a intelmpi #BSUB -n 12 #BSUB -o output.%J #BSUB -e error.%J #BSUB -R "span[ptile=12]" ##--------------------------------------------------------- ## 设置输入文件的名称(不写.py) SCRIPT=atktest ##--------------------------------------------------------- ##修改路径以适配系统 ##假设ATK安装路径为[atk_installdir] ATK_BIN_DIR=[atk_installdir]/QuantumATK-2022.12/bin/atkpython ## QATK自带的MPI,用户应测试使用这个还是HPC安装的其他MPI(仅支持MPICH和Intel MPI) MPI_DIR=[atk_installdir]/QuantumATK-2022.12/mpi/bin/mpiexec ## 通知计算时需要访问的License server所在位置或自动搜索 export SNPSLMD_LICENSE_FILE="27020@管理节点主机名或IP" ## 并行计算命令 ## 使用QATK自带MPI时 ## $MPI_DIR -n $NP $ATK_BIN_DIR $SCRIPT > $.out ## 使用HPC的MPI时 $ATK_BIN_DIR ${SCRIPT}.py > ${SCRIPT}.out
#!/bin/bash #SBATCH -J test #SBATCH -p test #SBATCH --tasks=8 #SBATCH --cpus-per-task=7 #SBATCH -N 2 #SBATCH -o test-%j.out #SBATCH -e test-%j.err #SBATCH --no-requeue #SBATCH --tasks-per-node=4 #SBATCH --ntasks-per-socket=2 #SBATCH --export=ALL ##--------------------------------------------------------- ## 设置输入文件的名称 SCRIPT=atktest.py ##--------------------------------------------------------- ##修改路径以适配系统 ##假设ATK安装路径为[atk_installdir] ATK_BIN_DIR=[atk_installdir]/QuantumATK-2022.12/bin/atkpython ## 为适配HPC硬件并正确使用并行网络 mpiexec可能需要带一些参数,请咨询HPC硬件或服务商 MPI_DIR=[atk_installdir]/QuantumATK-2022.12/mpi/bin/mpiexec ## 通知计算时需要访问的License server所在位置或自动搜索 export SNPSLMD_LICENSE_FILE="27020@管理节点主机名或IP" ## 并行计算命令 $MPI_DIR -n $NP $ATK_BIN_DIR $SCRIPT > $.out