Linux如何编写bash脚本——备忘录

在运行程序时,经常需要大量的算力,故推至服务器是不错的选择,然而如何编写bash脚本呢?本文就做一个小记录。

通过slurm调度器进行调度

将程序推至服务器训练

CPU任务   单节点

#!/bin/bash

#SBATCH -J test   #任务名

#SBATCH -p cpu    #队列名

#SBATCH --nodes=1    # 申请的节点数量

#SBATCH --ntasks=10   #申请的CPU总核心数

GPU任务

#!/bin/bash

#SBATCH -J test

#SBATCH -p gpu

#SBATCH -N 1

#SBATCH --ntasks-per-node=4

#SBATCH --cpus-per-task=8

#SBATCH --mem=30G

#SBATCH --gres=gpu:4

常用参数

-p, --partition=<partition_names>    # 将作业提交到对应队列;
-q, --qos=<qos>    # 指定QOS;
-A <account>    # 指定使用账户;
-D, --chdir=<directory>      # 指定工作目录;
--gres=<list>    # 使用gpu这类资源,如申请两块gpu则--gres=gpu:2
-J, --job-name=<jobname>    # 指定该作业的作业名;
-n, --ntasks=<number>    # sbatch并不会执行任务,当需要申请相应的资源来运行脚本,默认情况下一个任务一个核心,--cpus-per-task参数可以修改该默认值;
-c, --cpus-per-task=<ncpus>      # 每个任务所需要的核心数,默认为1;
--ntasks-per-node=<ntasks>    # 每个节点的任务数,--ntasks参数的优先级高于该参数,如果使用--ntasks这个参数,那么将会变为每个节点最多运行的任务数;
-o, --output=<filename pattern>    # 输出文件,作业脚本中的输出将会输出到该文件;
-t, --time=<time>    # 允许作业运行的最大时间,目前最大运行时间为14400分钟(10天);

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值