编写作业脚本, 如下示例#!/bin/sh #SBATCH --partition=gpu #SBATCH --job-name=H2relax #SBATCH --nodes=1 #SBATCH --ntasks-per-node=4 #SBATCH --gres=gpu:4 #SBATCH --gpus-per-task=1 module load compiler mkl mpi module load cuda/11.6 module load pwmat mpirun -np $SLURM_NPROCS PWmat | tee output
3. 准备作业输入文件 atom.config etot.input, sbatch 提交作业
#!/bin/bash #SBATCH --partition=gpu #SBATCH --job-name=H2relax #SBATCH --nodes=1 #SBATCH --ntasks-per-node=4 #SBATCH --gres=gpu:4 #SBATCH --gpus-per-task=1 #SBATCH --output=%j.out #SBATCH --error=%j.err module load compiler mkl mpi module load cuda/11.6 module load pwmat PWMAT_LICENSE=/share/home/pwmat/PWMAT # 许可文件: /share/home/pwmat/PWMAT/pwmat.lic mpirun -np $SLURM_NPROCS PWmat -lic-path $PWMAT_LICENSE | tee output
gpu 版 和 dcu 版又分单机版 和 集群版
主要区别在于:
单机版: 通过 pwmat.lic 许可文件授权
集群版: 通过 pwmat.lic 许可文件授权 或 通过 服务 来授权
cpu 版本只能通过 服务 来授权
目前 pwmat 最常用的版本是 gpu 版. 通过授权的方法可以确定是单机版还是集群版
要升级还需要确定 pwmat 使用的 cuda 版本 和 mpi 版本分类
在提交脚本中, mpirun 之前加上如下几行
which nvcc nvcc --version which mpirun which PWmat nvidia-smi -L