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 に答える