1

我编写了一个多线程 java 代码,它在运行时创建 8 个线程,并且在这些线程上继续计算。我想将此作业提交到 SGE 集群,但我不确定pe应该选择哪个并行环境 ( )?还是我应该创建一个?我是 SGE 的新手。简单的方法是以串行模式运行它,但这效率低下。

关于创建一个pe,它需要在哪里创建?SGE 守护进程是否也需要这个pe?当我提交一个随机名称为的工作时pe,我得到了

 job rejected: the requested parallel environment "openmpi" does not exist
4

1 回答 1

2

线程应用程序必须在单个节点上获得所有插槽。这就是为什么您需要一个allocation_rule设置为$pe_slots. 并行环境由 SGE 管理员使用qconf -ap PE_name. 作为用户,您只能使用 获取可用 PE 的列表,qconf -spl并且可以使用 查询特定 PE 的配置qconf -sp PE_name。您可以使用以下(ba)sh脚本遍历所有 PE 并查看它们的分配规则:

for pe_name in `qconf -spl`; do
  echo $pe_name
  qconf -sp $pe_name | grep allocation_rule
done

但是您应该已经与您的 SGE 管理员交谈,而不是试图在这里证明您的离题问题。

于 2012-06-22T11:44:07.780 回答