|
本帖最后由 wxyhgk 于 2024-2-23 16:21 编辑
这里用 Gaussian 16 为计算了例子说明:
- #!/bin/bash
- # ====== SLURM 说明 ========
- # 设定作业名称
- #SBATCH --job-name=gaussian_multi
- # 指定作业的输出文件名,%x代表作业名称,%j代表作业ID
- #SBATCH --output=%x_%j.out
- # 请求在一个节点上运行作业
- #SBATCH --nodes=1
- # 请求总共12个核心,根据你的需求调整此数值
- #SBATCH --ntasks=12
- # 指定作业运行的分区,需要根据你的集群情况替换为实际的分区名
- #SBATCH --partition=your_partition_name
- # 请求作业最多运行24小时,超时作业将被SLURM终止
- #SBATCH --time=24:00:00
- # ====== 加载Gaussian模块 =======
- module load gaussian/16
- # ====== 使用srun命令并行运行Gaussian作业 ======
- # 给 1.gjf,2.gjf,3.gjf 分别设定了 3 ,4,5 个核做,他们同时运行
- # --exclusive确保每个作业独占分配给它的核心
- # -n后面跟着的数字指定每个作业使用的核心数
- # '&'允许命令在后台运行,从而实现并行执行
- srun --exclusive -n 3 g16 < 1.gjf > 1.log &
- srun --exclusive -n 4 g16 < 2.gjf > 2.log &
- srun --exclusive -n 5 g16 < 3.gjf > 3.log &
- # wait命令用于等待所有后台作业完成
- wait
复制代码 |
|