单节点/多核作业的 sbatch 脚本中是否需要 srun?

2024-02-26

我正在运行一个非常常见的生物信息学工具/命令bowtie2-build。它可以在单个节点上使用多线程(不是 MPI 类型作业)。我有以下 sbatch 脚本(基本上):

#!/bin/bash

#SBATCH --nodes=1
#SBATCH --ntasks-per-node=1
#SBATCH --cpus-per-task=6
#SBATCH --mem=15G
#SBATCH --time=3:00:00

bowtie2-build --threads $SLURM_CPUS_ON_NODE GRCh38.fa GRCh38

我在某处读到,每当请求多个 CPU 时,srun必须使用上面的最后一行srun bowtie2-build ...?这是真的吗?我还了解到,对于 MPI 工作,要么srun or mpirun可用于启动多个进程。但我确实需要澄清使用srun在单节点多线程的情况下。谢谢你的帮助!

(顺便说一句:在这个特定的上下文中,我将多线程与多核等同起来)。


对于同节点计算(多线程等)srun不是强制性的,但使用它可以提供更好的控制和来自 Slurm 的更好的反馈。

如果你的程序是这样启动的srun,Slurm 会更容易管理它(发送 UNIX 信号,如果它使用的资源多于请求的资源则终止它,等等),并且sstat命令将能够为您提供近乎实时的内存使用情况、CPU 效率等。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

单节点/多核作业的 sbatch 脚本中是否需要 srun? 的相关文章

随机推荐

  • 通过 java 发送电子邮件超出每日发送配额

    我有一个java应用程序通过我的gmail帐户发送电子邮件 今天突然发现这个例外 我猜是我的 Gmail 被屏蔽了 那么解决这个问题的办法是什么呢 com sun mail smtp SMTPSendFailedException 550
  • 是否可以在 Windows 中从 PHP 5 启用 VT100/ANSI 转义码

    我正在将旧的 PHP 5 应用程序升级到 PHP 7 我使用 Codeception 进行单元测试 因为它具有漂亮的颜色输出 可以轻松查看所有测试是否已通过 我尝试过的事情 升级到 PHP 7 应用程序崩溃 在没有特殊标志的情况下运行 Co
  • 为什么 Node.js 没有捕获我的错误?

    var api friends helper require helper js try api friends helper do stuff function result console log success catch err c
  • 无法在 MinGW shell 中复制/粘贴

    我刚刚在 Windows 上安装了 MinGW 但无法像在 Linux 甚至 PuTTY 上那样进行复制 粘贴 将文本 例如从 chrome 复制并粘贴到 MinGW shell 中的技巧是什么 右键单击命令窗口的标题栏并选择 属性 然后在
  • 如何查找函数的多个定义

    我写了一个 findDialog 来查找搜索的文本 当我给予make命令 它返回 g Wl O1 o findDialog FindDialog o main o moc FindDialog o L usr lib lQtGui lQtC
  • Angular ng-options 按问题跟踪

    我有一个使用 ng options 显示的对象数据集 我将对象 ID 值绑定到使用的值track by 目前 数据值已包含在内 但以逗号显示 例如 scope items ID 2012 Title Chicago ID 2013 Titl
  • date-fns 中的解析函数返回前一天的值

    我正在尝试使用 date fns 库解析日期 但结果是前一天 我怎样才能避免这种情况并获得正确的结果 start 2021 08 16 const parseStart parse start yyyy MM dd new Date out
  • scipy curve_fit 和局部最小值:尽快达到全局最小值

    我手头的问题 我正在使用scipy curve fit拟合一条曲线 https docs scipy org doc scipy reference generated scipy optimize curve fit html https
  • Docker 使用私有注册表拉/推,无需前缀

    我们正在使用 Nexus3 docker groups 结合 dockerhub 代理和私有注册表 又名 docker pull dockerproxy 5002 busybox 如果私有注册表中不存在 则尝试从 dockerhub 中提取
  • 证书验证失败:验证证书时客户端证书验证失败

    我正在尝试获得相互客户端认证以在 Azure 中工作 我正在使用以下配置运行一个网络应用程序 public class Startup public Startup IConfiguration configuration Configur
  • 有没有在 Xcode 中进行块注释的快捷方式?

    我正在编写 ANSI 兼容的 C 代码 因此我不能使用行 评论 我正在使用 Xcode 在 Sublime Text 和 Eclipse 以及我认为大多数其他 IDE 中 行注释和块注释都有单独的键盘快捷键 然而 我在 Xcode 中没有看
  • Oracle SQL Developer 如何默认其他用户表?

    为了查看我们公司数据库中的所有表 我必须找到主系统帐户 有没有办法默认我的连接 以便它显示其他用户表 您的连接帐户至少具有 SELECT 权限的任何表都将显示在导航树的 其他用户 节点中 如果该表没有显示在那里 那么这是数据库权限问题 而不
  • 在目标中使用 RedirectMatch 和 HTTP_HOST

    我一直读到 在可能的情况下 我不应该使用mod rewrite 因此 我正在尝试使用 RedirectMatch 进行 http 到 https 重写 问题 我该如何使用RedirectMatch并使用 Apache 服务器变量 例如 HT
  • 安全 JDBC 和 Google Apps 脚本

    我有一个关于 JDBC 服务的安全相关问题 Google 脚本和远程数据库之间的 JDBC 连接有多安全 有什么办法可以配置SSL吗 由于无法访问 Java 信任库来生成客户端证书 所以我不知道这是如何实现的 至于连接的安全性 如果您使用防
  • 是否有 Visual Studio 快捷方式/宏用于在已处理/未处理的异常上切换中断? [复制]

    这个问题在这里已经有答案了 我一直在尝试编写一个宏 do 相当于 按 Ctrl Alt E 打开 例外 窗口 切换 公共语言运行时异常 的 抛出 列中的文本框 点击确定 如果我记录这个 它只会记录一行宏代码 不会执行任何操作 有人知道怎么做
  • Matlab减去矩阵元素

    所以我有这个矩阵 data 1 3 4 3 5 2 5 我需要通过减去元素来获取新数据 像这样 data2 data1 data3 data2 data4 data3 data5 data4 data6 data5 data7 data4
  • 如何使用 matplotlib 全局字体的自定义路径设置自定义字体?

    有一个自定义字体在我的应用程序中 app path home user1 myapp fname home user1 myapp font myfont ttf 建立globlalmatplotlib 的字体 文档是这样说的 plt rc
  • 尝试通过意图共享视频时 UNIQUE 约束失败

    嘿 我正在尝试开发一个允许用户共享视频文件的应用程序 每当我第二次尝试共享同一视频文件时 我都会收到约束失败错误 11 21 20 46 47 103 1076 4528 E SQLiteDatabase Error inserting b
  • Spring Data REST 是否支持 JPA @Version?

    我可以使用JPA吗 Version使用 Spring Data REST 在 Spring Data REST 1 1 0 M1 中 我可以配置存储库导出器来公开实体 ID 碰巧它也会公开 Version 带注释的字段 所以我想如果我尝试P
  • 单节点/多核作业的 sbatch 脚本中是否需要 srun?

    我正在运行一个非常常见的生物信息学工具 命令bowtie2 build 它可以在单个节点上使用多线程 不是 MPI 类型作业 我有以下 sbatch 脚本 基本上 bin bash SBATCH nodes 1 SBATCH ntasks