常用作业脚本 R 脚本
大约 2 分钟
常用作业脚本
见集群指南
#!/bin/sh
#SBATCH --partition=3080ti
#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
#!/bin/sh
#SBATCH --partition=3080ti
#SBATCH --job-name=H2relax
#SBATCH --nodes=2
#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
#!/bin/bash
#SBATCH --partition=cpu
#SBATCH --job-name=pwmat_test
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=16
#SBATCH --output=%j.out
#SBATCH --error=%j.err
module load mpi mkl
module load pwmat-cpu/20231108-oneapi-2021
mpirun -np $SLURM_NPROCS PWmat -host 10.0.0.2 20150 | tee output
#!/bin/bash
#SBATCH -o job.%j.out
#SBATCH --partition=compute
#SBATCH -J myFirstMPIJob
#SBATCH --nodes=2
#SBATCH --ntasks-per-node=28
ulimit -s unlimited
module load mpi mkl compiler # 导入MPI运行环境
module load vasp/6.2.0 # 导入MPI应用程序
srun hostname -s | sort -n >slurm.hosts # 生成 machinefile
# 执行MPI并行计算程序
mpirun -np $SLURM_NPROCS -f slurm.hosts vasp_std > log
#mpirun -np $SLURM_NPROCS vasp_std > log
R 作业脚本提交
在 hpc 中不使用 rstudio-server 起网页的方式运行 R 程序
而是通过提交脚本
写一个脚本计算并打印前 10 个斐波那契数列的值
vim fibonacci.R
# 计算斐波那契数列的函数 fibonacci <- function(n) { if (n <= 1) { return(n) } else { return(fibonacci(n-1) + fibonacci(n-2)) } } # 打印前 10 个斐波那契数列的值 for (i in 0:9) { fib_value <- fibonacci(i) print(fib_value) }
编写 slurm 提交脚本, 用于提交作业并在计算节点上运行 R 脚本
vim run_fibonacci.sh
#!/bin/bash #SBATCH --job-name=fibonacci_job #SBATCH --output=fibonacci_job_%j.out #SBATCH --error=fibonacci_job_%j.err #SBATCH --ntasks=1 # 每节点任务数为1 #SBATCH --cpus-per-task=1 # 每任务 1 个 CPU 核心 #SBATCH --time=00:10:00 # Load R module module load R # Run R script Rscript fibonacci.R
提交作业并查看
sbatch run_fibonacci.sh squeue