如何调整bash文件在单个节点上执行

特克斯

我想请您帮助了解是否可以(如果可以的话)调整下面的 bash 文件。


我有一个主要的 Matlab 脚本main.m,它又调用另一个 Matlab 脚本f.m

f.m 应该使用不同的输入执行多次。

我将其构建为一个数组作业。

我通常使用以下调用的 bash 文件td.sh将数组作业执行到我大学的 HPC 中

#$ -S /bin/bash
#$ -l h_vmem=5G
#$ -l tmem=5G
#$ -l h_rt=480:0:0
#$ -cwd
#$ -j y

#Run 237 tasks where each task has a different $SGE_TASK_ID ranging from 1 to 237
#$ -t 1-237

#$ -N mod
date
hostname

#Output the Task ID
echo "Task ID is $SGE_TASK_ID"

/share/[...]/matlab -nodisplay -nodesktop -nojvm -nosplash -r "main; ID = $SGE_TASK_ID; f; exit"

我在终端做的是

  • cd到脚本的文件夹main.mf.mtd.sh位于

  • 在终端输入 qsub td.sh


问题:我需要更改上面的 bash 文件,因为脚本f.m调用了许可证为单节点单用户的求解器(Gurobi)。这是我被告知的:

"此许可证已经安装并且仅适用于节点A。您将无法使用qsub脚本,因为作业必须在此节点上运行。相反,您应该ssh进入节点A并直接在此节点上运行作业,而不是提交给调度程序.”

你能指导我理解我应该如何更改上面的 bash 文件吗?特别是,我应该如何强制执行到 node A

即使我仅限于一个节点,我是否仍然能够使用数组作业进行并行化?或者阵列作业根据定义在多个节点上执行?

Poshi

如果您无法使用调度程序,则无法使用其阵列作业。您必须找到另一种方法来并行化这些作业。根据定义,阵列作业不会在多个节点上执行(但由于资源可用性,它们通常在多个节点上执行)。

关于脚本的改编,只需遵循系统管理员提供的指南:忘记 SGE 并通过 ssh 直接针对您被告知的节点开始计算:

date
hostname

for TASK_ID in {1..237}
do
    #Output the Task ID
    echo "Task ID is $TASK_ID"

    ssh user@A "/share/[...]/matlab -nodisplay -nodesktop -nojvm -nosplash -r \"main; ID = $TASK_ID; f; exit\""
done

如果license是单节点单用户(但是多个同时执行),可以尝试并行演算。您必须考虑节点 A 中可用的资源(CPU 数量、内存...)以及每次执行所需的资源,然后同时启动尽可能多的演算,而不会使节点过载(否则他们将需要更长时间甚至失败)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在多个 HTML 文件上运行函数并将所有执行的输出写入单个文件

来自分类Dev

如何在单个表上执行 UNION

来自分类Dev

bash如何执行ELF文件?

来自分类Dev

bash如何使文件可执行?

来自分类Dev

运行 bash 脚本而不是单个文件执行两个

来自分类Dev

如何使Ansible在所有6个计算节点(而不是5个然后是1个)上执行bash代码?

来自分类Dev

如何在Theano的TensorVariable上执行范围调整?

来自分类Dev

如何在div调整大小上执行更改检测

来自分类Dev

如何为路径上的所有可执行文件编写bash完成脚本?

来自分类Dev

从节点脚本执行时如何查看bash命令

来自分类Dev

如何在本地执行svn还原(单个文件除外)

来自分类Dev

如何在云集群节点上执行厨师食谱?

来自分类Dev

Java:如何在节点上执行XPath查询

来自分类Dev

在节点上,如果不存在,如何执行插入

来自分类Dev

如何在/ sdcard上执行文件?

来自分类Dev

Marklogic - 如何在单个 xquery 中执行插入和节点替换

来自分类Dev

如何在bash脚本上匹配单个字符

来自分类Dev

无法在节点上执行appendchild

来自分类Dev

如何计算单个节点的边?

来自分类Dev

在Jelastic / PHP中,单个节点上的多个cloudlet是否共享一个文件空间?

来自分类Dev

bash在文件的每一行上执行多次抓取

来自分类Dev

通过Apache服务器上的PHP执行bash文件

来自分类Dev

bash在文件的每一行上执行多次抓取

来自分类Dev

通过Apache服务器上的PHP执行bash文件

来自分类Dev

如何通过bash在Heroku中读取单个文件

来自分类Dev

使用PostgreSQL和bash在单个事务中执行多个.sql文件

来自分类Dev

如何使用FAT文件系统在pendrive上执行文件?

来自分类Dev

如何在节点服务器上运行 .bat 文件?

来自分类Dev

如何在远程节点上使用机密文件

Related 相关文章

  1. 1

    如何在多个 HTML 文件上运行函数并将所有执行的输出写入单个文件

  2. 2

    如何在单个表上执行 UNION

  3. 3

    bash如何执行ELF文件?

  4. 4

    bash如何使文件可执行?

  5. 5

    运行 bash 脚本而不是单个文件执行两个

  6. 6

    如何使Ansible在所有6个计算节点(而不是5个然后是1个)上执行bash代码?

  7. 7

    如何在Theano的TensorVariable上执行范围调整?

  8. 8

    如何在div调整大小上执行更改检测

  9. 9

    如何为路径上的所有可执行文件编写bash完成脚本?

  10. 10

    从节点脚本执行时如何查看bash命令

  11. 11

    如何在本地执行svn还原(单个文件除外)

  12. 12

    如何在云集群节点上执行厨师食谱?

  13. 13

    Java:如何在节点上执行XPath查询

  14. 14

    在节点上,如果不存在,如何执行插入

  15. 15

    如何在/ sdcard上执行文件?

  16. 16

    Marklogic - 如何在单个 xquery 中执行插入和节点替换

  17. 17

    如何在bash脚本上匹配单个字符

  18. 18

    无法在节点上执行appendchild

  19. 19

    如何计算单个节点的边?

  20. 20

    在Jelastic / PHP中,单个节点上的多个cloudlet是否共享一个文件空间?

  21. 21

    bash在文件的每一行上执行多次抓取

  22. 22

    通过Apache服务器上的PHP执行bash文件

  23. 23

    bash在文件的每一行上执行多次抓取

  24. 24

    通过Apache服务器上的PHP执行bash文件

  25. 25

    如何通过bash在Heroku中读取单个文件

  26. 26

    使用PostgreSQL和bash在单个事务中执行多个.sql文件

  27. 27

    如何使用FAT文件系统在pendrive上执行文件?

  28. 28

    如何在节点服务器上运行 .bat 文件?

  29. 29

    如何在远程节点上使用机密文件

热门标签

归档