gpt4 book ai didi

multithreading - SGE/UGE/etc.. 将 OpenMP 作业提交到多个内核的标准化方式?

转载 作者:行者123 更新时间:2023-12-04 06:40:16 39 4
gpt4 key购买 nike

我正在寻找一种方法来将 OpenMP 作业提交给 Grid Engine 调度程序,同时指定它应该运行的内核数量。相当于 LSF 的 -n 选项或 PBS 的 -l nodes=[count] 选项。

当我搜索这个时,我看到了一堆指定语法的答案,例如“-pe threaded [核心数]”。在这些答案中,没有提到必须创建一个称为“线程”的并行环境。但是当我尝试这个语法时,它失败了,说请求的并行环境 threaded 不存在。当我键入“qconf -spl”时,我得到的唯一结果是“make”。那么——这个“线程化”并行环境应该默认存在,还是必须在集群上手动创建?

如果必须手动创建,是否有任何其他语法可以将作业提交到不依赖于集群上可配置命名的多核?这是针对提交给集群的第三方程序,所以我不想不仅依赖于创建这个 pe 的客户端,还希望它命名相同,等等......我希望 -l 选项可能有一些东西,但我还没有找到任何排列来实现这一点。

最佳答案

如果您只获得“make”作为可能的并行环境,那么这意味着您的集群上没有设置并行环境。

根据这两种情况,您的问题有两种解决方案:

A) 你有集群的 root/admin 权限

B)你没有

在情况 B 中,请让您的管理员创建一个并行环境。在情况 A 中,您必须创建一个并行环境。要创建新的并行环境,您必须键入(需要 root/admin 权限):

qconf -ap <pe_name>

并且默认编辑器将从您必须编辑的默认 pe_conf 文件开始。如果您只需要设置一个 openMP 并行环境,您可以使用这些选项:

pe_name            smp
slots 9999
user_lists NONE
xuser_lists NONE
start_proc_args /bin/true
stop_proc_args /bin/true
allocation_rule $pe_slots
control_slaves FALSE
job_is_first_task FALSE
urgency_slots min
accounting_summary TRUE

对于 MPI 并行环境:

pe_name            mpi
slots 9999
user_lists NONE
xuser_lists NONE
start_proc_args /opt/sge/mpi/startmpi.sh $pe_hostfile
stop_proc_args /opt/sge/mpi/stopmpi.sh
allocation_rule $fill_up
control_slaves FALSE
job_is_first_task TRUE
urgency_slots min
accounting_summary TRUE

如您所见,在后一种情况下,您会将 SGE 指向正确的初始化脚本和关闭脚本以用于您的 MPI 配置。在第一种情况下,您只需指向 /bin/true .

allocation_rule在这个例子中是不同的。 $fill_up意味着 SGE 将用部分 MPI 作业填充它能找到的任何 CPU,而对于 smp配置你只需在同一台机器上分配正确数量的插槽,即$pe_slots .

如果您使用 MPI,您的节点应该使用高性能交换机(例如 infiniband)连接,否则您的作业将花费更多的时间在通信上而不是计算上。

编辑:哦,顺便说一句:在并行环境中提交作业的正确语法是有效的:

qsub -pe <pe_name> <nb_slots>

最终编辑:这个问题的最终答案在下面的评论中。实际上,如果集群上没有设置并行环境 (PE),SGE 将无法处理多线程作业。如果您没有集群的管理员权限,则必须使用 qconf -spl猜测必须使用的正确 PE。并使用 qconf -sp <pe_name> 检查不同的 PE ,或者在您的软件中添加一个选项,允许用户指定必须使用的 PE。

否则,即如果集群上没有可用的 PE,则无法使用软件的并行版本。

有关更多信息,请参阅评论。

关于multithreading - SGE/UGE/etc.. 将 OpenMP 作业提交到多个内核的标准化方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21123513/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com